Подтвердить что ты не робот

Дать имя учетной записи электронной почты при отправке писем с помощью Django через Google Apps

Я отправляю электронные письма пользователям, использующим Django через Google Apps.

Когда пользователь получает письма, отправленные из приложения Django, они: [email protected]

При просмотре всех писем в папке "Входящие" люди видят отправителя электронной почты как:
do_not_reply или [email protected] в зависимости от используемого почтового клиента

Если я войду в эту учетную запись "do_not_reply", используя браузер и Google Apps, а затем отправлю электронное письмо самому себе, электронные письма: Dont Reply<[email protected]>

В результате имя, отображаемое отправителем электронной почты в папке "Входящие": Dont Reply

В Django есть способ привязать "имя" к учетной записи электронной почты, используемой для отправки писем?

Я просмотрел Django mail.py, но не нашел нужного решения http://code.djangoproject.com/browser/django/trunk/django/core/mail.py?rev=5548

Использование:
Django 1.1
Python 2.6
Ubuntu 9.1
settings.EMAIL_HOST = 'smtp.gmail.com'

Спасибо

4b9b3361

Ответ 1

Фактически вы можете использовать "Dont Reply <[email protected]>" в качестве адреса электронной почты, который вы отправляете.

Попробуйте в оболочке вашего проекта django проверить, работает ли он также с gapps:

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

Ответ 2

Помимо метода send_mail для отправки электронной почты, EmailMultiAlternatives также может использоваться для отправки электронной почты с содержимым HTML с текстовым контентом в качестве альтернативы.

попробуйте это в своем проекте

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()

Это отправит вам письмо по адресу [email protected] с ответом "Не делайте ответа", и мы будем рассылаться как имя вместо "[email protected]".

Ответ 3

Я использую этот код для отправки через gmail smtp (используя приложения Google). и имена отправителей в порядке

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()