用sendmail发送电子邮件 - django

时间:2012-05-04 14:24:36

标签: django email

我使用this snippet

设置了sendmail电子邮件后端

我打开shell并运行(使用实际的电子邮件帐户):

from django.core.mail import send_mail

send_mail('Subject here', 'Here is the message.', 'from@example.com',
    ['to@example.com'], fail_silently=False)

之后,控制台只打印一个:

  

1

没有错误消息或任何内容......但电子邮件永远不会到达另一端......

我还需要配置什么吗?

谢谢,


请求我的托管服务提供商提供邮件服务器的错误日志,并看到:

 send_to_gateway router failed to expand "${perl{mailtrapheaders2}}": 
 Undefined subroutine &main::mailtrapheaders2 called.\n`

他们仍在试图解决这个问题:S

2 个答案:

答案 0 :(得分:2)

在代码段中:

def send_messages(self, email_messages):
    """
    Sends one or more EmailMessage objects and returns the number of email
    messages sent.
    """

返回变量num_sent,该变量针对实际发送的每个邮件递增。这是您在控制台中显示的1

答案 1 :(得分:1)

可能问题出在您的邮件服务器上。 sendmail连接到邮件服务器并告诉他“接收此邮件并将其发送到地址X”。如果邮件服务器正在运行它需要并且说好,然后尝试将其发送到地址 - 如果在发送邮件服务器错误期间出现问题而且它没有发送到Django。

检查您的邮件服务器日志,我相信您会在那里找到“为什么主要未送达”的答案。