Дать имя учетной записи электронной почты при отправке писем с помощью 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'
Спасибо
Ответы
Ответ 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()