Postfix在发送电子邮件时挂起

时间:2010-09-04 10:54:59

标签: python django smtp postfix-mta ubuntu-10.04

如果我尝试按如下方式发送电子邮件,则该过程会挂起并且没有任何反应:

>>> from django.core.management import setup_environ
>>> from cube import settings
>>> setup_environ(settings)
'cube'
>>> from django.core.mail import send_mail
>>> send_mail('Subject', 'Message', 'sender@domain.com', ['recepient@domain.com'], fail_silently=False)

但是,telnet到端口25可以正常工作

$ telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^]

telnet> 

这就是以防万一

$ netstat -a | grep :smtp
tcp        0      0 *:smtp                  *:*                     LISTEN     
tcp        0      0 localhost:smtp          localhost:44932         ESTABLISHED
tcp        0      0 localhost:44932         localhost:smtp          ESTABLISHED
tcp        0      0 localhost:smtp          localhost:60964         ESTABLISHED
tcp        0      0 localhost:60964         localhost:smtp          ESTABLISHED
tcp        0      0 localhost:37247         localhost:smtp          FIN_WAIT2  
tcp        1      0 localhost:smtp          localhost:37247         CLOSE_WAIT 
tcp        9      0 localhost:smtp          localhost:37245         CLOSE_WAIT 

我运行Ubuntu 10.04和Python 2.6.5

我不知道接下来要去哪里找出什么是错的。请帮我。谢谢。

1 个答案:

答案 0 :(得分:11)

您的邮件服务器运行不正常。当您使用telnet连接到它时,您应该看到以下行的欢迎消息:

220 your.server.name ESMTP Postfix

(您可以通过运行postconf smtpd_banner来查看应该看到的问候语。)

您没有这样做,因此邮件服务器运行不正常。 send_mail可能正在等待初始消息。

重新启动Postfix,查看/var/log/mail.*日志文件;可能有一个线索,为什么它不起作用。