0

ユーザーからのメールを受信するための連絡フォームに取り組んでいます。私は EmailMessage(django 1.3) を使用しています。問題は、私は電子メールを受信できますが、「送信者」または「送信者」には、ユーザーの電子メールではなく、email_host_user の電子メールが表示されることです。

ユーザーがメールアドレスuser@gmail.comを持っている場合、メールを受信すると

from: email@gmail.com
subject: some subject
to: moderator@email.com

それ以外の

from: user@gmail.com
subject: some subject
to: moderator@email.com

設定の一部です

EMAIL_HOST = 'smtp.googlemail.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_HOST_USER = 'email@gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
REVIEW_MODERATOR ='moderator@email.com'

#heres part of the helpers.py
def run(self):
            html = get_template(self.kwargs['template'])
            html_content = html.render(Context(self.kwargs['context']))
            msg = EmailMessage(
                       self.kwargs['subject'],
                       html_content,
                       self.kwargs['sender'],
                       [self.kwargs['email']],
                       bcc=[a[1] for a in settings.ADMINS])
            msg.content_subtype = "html"  # Main content is now text/html
            try:
                path = self.kwargs['file_path']
            except KeyError:
                pass
            else:
                msg.attach_file(path)
            msg.send()

#heres part of the contact view

if contact_form.is_valid(): 
            cdata = contact_form.cleaned_data

            c={'name':cdata['name'], 'email':cdata['email'],'message':cdata['message']}    

            EmailThread(**{
                'email':settings.REVIEW_MODERATOR,
                'sender':cdata['email'],
                'subject':email_subject,
                'context':c,
                'template':template
            }).start()
4

1 に答える 1

1

Gmail では、任意の送信者として送信することはできません。

この問題を回避する方法 (私は正確な問題に対処していました: 電子メールを送信する顧客サービス フォーム) は、非常に安価な SMTP サービスの 1 つを使用するか、まだ十分に機能する "返信先" ヘッダー (電子メール) で解決することです。 me@gmail.com からのメールですが、[返信] をクリックすると返信先アドレスが表示されます)。

于 2012-08-16T03:20:37.943 に答える