2010-01-21 11 views
56

Wysyłam wiadomości e-mail do użytkowników korzystających z Django za pośrednictwem Google Apps.Podanie nazwy konta e-mail podczas wysyłania wiadomości e-mail z Django za pośrednictwem Google Apps

Kiedy użytkownik otrzymuje e-maili wysyłanych z aplikacji Django, są one z:
[email protected]

patrząc na wszystkie e-maile w skrzynce odbiorczej, ludzie widzą nadawca wiadomości e-mail jako:
do_not_reply lub [email protected] zależności od klient poczty elektronicznej używany

Gdybym zalogować się do tego „do_not_reply” konto za pomocą przeglądarki i Google Apps sam, a następnie wysłać e-mail do siebie e-maile pochodzą z:
Dont Reply<[email protected]>

W efekcie nazwa wyświetlana dla nadawcy wiadomości e-mail w skrzynce odbiorczej jest:
Dont Reply

W Django, czy istnieje sposób, aby dołączyć „nazwa” do konta e-mail używanego do wysyłania wiadomości e-mail?

Sprawdziliśmy mail.py Django, ale nie miał szczęścia znalezienia rozwiązania
http://code.djangoproject.com/browser/django/trunk/django/core/mail.py?rev=5548

Zastosowanie:
Django 1.1
Python 2.6
Ubuntu 9.1
settings.EMAIL_HOST = „smtp.gmail .com '

Dzięki

Odpowiedz

99

Rzeczywiście można użyć "Dont Reply <[email protected]>" jak adres e-mail wysyłanych z.

Spróbuj to w skorupie projektu django aby sprawdzić, czy to działa również z gapps:

>>> from django.core.mail import send_mail 
>>> send_mail('subject', 'message', 'Dont Reply <[email protected]>', ['[email protected]']) 
+0

Dziękujemy za wiadomość! Szkoda, że ​​nie widziałem tego wczoraj b/c, że zaoszczędziłoby mi to trochę czasu. Właśnie czytałem dokumentację na i w końcu przeczytałem "From_email" bliżej i znalazłem taką samą odpowiedź jak ty. Właśnie przychodziłem tutaj, żeby opublikować odpowiedź, kiedy zobaczyłem twoją. W każdym razie, dzięki jeszcze raz!Cieszę się, że wreszcie działam. – rfadams

+3

Możesz także ustawić DEFAULT_FROM_EMAIL na settings.py tak: 'DEFAULT_FROM_EMAIL = 'Nie odpowiadaj <[email protected]>'' –

+0

Upewnij się tylko, że nie ustawiasz tego samego adresu e-mail z taką samą nazwą jak auth_user, ponieważ zawiedzie podczas uwierzytelniania – iamkhush

-3

Używam tego kodu do wysyłania przez gmail smtp (używając aplikacji Google). i nazwy nadawców są 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() 
+0

Jest to właściwie ten sam kod, którego używają klasy Django EmailMessage w tle. Niezależnie od tego, wypróbowałem Twoją metodę, a adres e-mail nadal zawiera "do_not_reply" jako nazwę nadawcy. Dziękujemy za próbę: – rfadams

+1

, a co z ustawieniami. DEFIL_DI_KONTAKTU? – jujule

0

Oprócz send_mail metody wysyłania wiadomości e-mail, EmailMultiAlternatives może być również używany do wysyłania wiadomości e-mail z treścią HTML z treść tekstowa jako alternatywa.

spróbować tego w 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() 

Będzie to wysłać wiadomość do [email protected] z Dont Odpowiedz wil dispalyed jak nazwa zamiast email '[email protected]'.