2012-05-04 180 views
1

我设置了this snippet的sendmail发送电子邮件 - Django的

我打开程序并运行(与实际电子邮件帐户)的sendmail电子邮件后端:

from django.core.mail import send_mail 

send_mail('Subject here', 'Here is the message.', '[email protected]', 
    ['[email protected]'], fail_silently=False) 

之后,控制台只是打印出:

没有错误消息或任何东西......但邮件永远不会在另一端到达...

还有什么,我需要配置?

感谢,


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

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

他们仍在试图弄清楚:S

+0

哪些邮件服务器做你的用户? – okm

+0

请参阅编辑 – AlexBrand

回答

2

在代码片段:

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

它返回一个变量num_sent时递增为每个已实际发送的邮件。这是您看到在控制台中显示的1

+0

好了!但问题是电子邮件没有被发送或没有在另一端收到... – AlexBrand

+0

+1在检查相关代码之前作出答案。 – okm

+2

@alexBrand从你发布的错误日志看来,它似乎是一个exim的托管问题。有关如何解决此问题的信息,请查看http://www.webhostingtalk.com/ archive/index.php/t-270504.html' – Silviu

1

也许问题出在你的邮件服务器。 sendmail连接到邮件服务器并告诉他“收到这封邮件并发送给地址X”。如果邮件服务器正在工作,它需要并且说OK,然后尝试将其发送到地址 - 如果在发送邮件服务器错误期间发生中断并且不发送给Django。

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

+0

我检查了日志并添加了错误的问题..检查编辑请:) – AlexBrand

+0

不知道,它似乎更像是一个服务器故障的问题,在那里问这个错误) –