Ich sende E-Mails an Benutzer, die Django über Google Apps verwenden.
Wenn der Benutzer E-Mails erhält, die von der Django-App gesendet wurden, stammen diese von:
[email protected]
Wenn Sie alle E-Mails im Posteingang anzeigen, sehen die Benutzer den Absender der E-Mail als:
do_not_reply
oder [email protected]
abhängig vom verwendeten E-Mail-Client
Wenn ich mich mit dem Browser und Google Apps selbst bei diesem Konto "do_not_reply" anmelde und dann eine E-Mail an mich selbst sende, stammen die E-Mails von:
Dont Reply<[email protected]>
Der im Posteingang angezeigte Name für den Absender der E-Mail lautet daher:
Dont Reply
Gibt es in Django eine Möglichkeit, dem E-Mail-Konto, mit dem E-Mails gesendet werden, einen "Namen" zuzuweisen?
Ich habe Djangos mail.py überprüft, hatte aber kein Glück, eine Lösung zu finden
http://code.djangoproject.com/browser/django/trunk/django/core/mail.py?rev=5548
Verwenden von:
Django 1.1
Python 2.6
Ubuntu 9.1
settings.EMAIL_HOST = 'smtp.gmail.com'
Vielen Dank
DEFAULT_FROM_EMAIL = 'Dont Reply <[email protected]>'
setting the same email with name as aut_user
. Ich erhalte einen Authentifizierungsfehler. Ich konnte nicht verstehen warum?Neben der send_mail-Methode zum Senden von E-Mails können mit EmailMultiAlternatives auch E-Mails mit HTML-Inhalten und alternativ Textinhalten gesendet werden.
Versuchen Sie dies in Ihrem Projekt
from django.core.mail import EmailMultiAlternatives text_content = "Hello World" # set html_content email = EmailMultiAlternatives('subject', text_content, 'Dont Reply <[email protected]>', ['[email protected]']) email.attach_alternative(html_content, 'text/html') email.send()
Dadurch wird eine E-Mail an [email protected] gesendet, wobei "Nicht antworten" als Name anstelle der E-Mail "[email protected]" angezeigt wird.
quelle
Ich verwende diesen Code zum Senden über Google Mail-SMTP (mithilfe von Google Apps). und Absendernamen sind OK
def send_mail_gapps(message, user, pwd, to): import smtplib mailServer = smtplib.SMTP("smtp.gmail.com", 587) mailServer.ehlo() mailServer.starttls() mailServer.ehlo() mailServer.login(user, pwd) mailServer.sendmail(user, to, message.as_string()) mailServer.close()
quelle
do_not_reply
Namen des Absenders. Vielen Dank für den Versuch