Wysyłam e-maile do użytkowników używających Django przez Google Apps.
Gdy użytkownik otrzymuje e-maile wysłane z aplikacji Django, pochodzą one z:
[email protected]
patrząc na wszystkie e-maile w skrzynce odbiorczej, ludzie widzą nadawcę e-maila jako:
do_not_reply
lub w [email protected]
zależności od używanego klienta poczty e-mail
Jeśli zaloguję się na to konto „do_not_reply” za pomocą przeglądarki i samej usługi Google Apps, a następnie wyślę do siebie wiadomość e-mail, będą one pochodzić z:
Dont Reply<[email protected]>
W rezultacie nazwa wyświetlana nadawcy wiadomości e-mail w skrzynce odbiorczej to:
Dont Reply
Czy w Django istnieje sposób na dołączenie „nazwy” do konta e-mail używanego do wysyłania e-maili?
Sprawdziłem mail.py Django, ale nie udało mi się znaleźć rozwiązania
http://code.djangoproject.com/browser/django/trunk/django/core/mail.py?rev=5548
Używanie:
Django 1.1
Python 2.6
Ubuntu 9.1
settings.EMAIL_HOST = 'smtp.gmail.com'
Dzięki
DEFAULT_FROM_EMAIL = 'Dont Reply <[email protected]>'
setting the same email with name as aut_user
. Otrzymuję błąd uwierzytelniania. Nie mogłem zrozumieć, dlaczego?Oprócz metody send_mail do wysyłania wiadomości e-mail, EmailMultiAlternatives może również służyć do wysyłania wiadomości e-mail z zawartością HTML z treścią tekstową jako alternatywą.
spróbuj tego w swoim projekcie
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()
Spowoduje to wysłanie wiadomości na adres [email protected] z informacją „Nie odpowiadaj”, która zostanie wyświetlona jako nazwa zamiast e-maila „[email protected]”.
źródło
Używam tego kodu do wysyłania przez Gmaila smtp (używając Google Apps). i nazwy nadawców są w porządku
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()
źródło
do_not_reply
nazwę nadawcy. Dzięki za próbę