在PHP中,我只需调用
mail()
即可发送电子邮件。在Django中,我需要指定SMTP后端和其他内容。
有没有更简单的方法从Django发送电子邮件?
mail()
即可发送电子邮件。在Django中,我需要指定SMTP后端和其他内容。
有没有更简单的方法从Django发送电子邮件?
django.core.mail
模块中有几个很好的邮件发送函数。send_mail
函数,它最适合您的目的。send_mail(
subject,
message,
from_email,
recipient_list,
fail_silently=False,
auth_user=None,
auth_password=None,
connection=None)
import subprocess
def send_mail(from_addr, to_addr, subject, body):
cmdline = ["/usr/sbin/sendmail", "-f"]
cmdline.append(from_addr)
cmdline.append(to_addr)
mailer = subprocess.Popen(cmdline, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
dialog = "From: %s\nTo: %s\nSubject: %s\n\n%s\n.\n" % (from_addr, to_addr, subject, body)
return mailer.communicate(dialog)
然后像这样使用:
send_mail ("我 <myself@mydomain.com>", "收件人 <other@hisdomain.com>", "主题", "邮件正文")
无论如何,您都需要一些后端(即MTA)。我能想到两件事: