Postfix зависает при отправке электронной почты - PullRequest
3 голосов
/ 04 сентября 2010

Если я пытаюсь отправить электронное письмо следующим образом, процесс зависает, и ничего не происходит:

>>> 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 Ответ

11 голосов
/ 04 сентября 2010

Ваш почтовый сервер не работает нормально.Когда вы подключаетесь к нему с помощью telnet, вы должны увидеть приветственное сообщение в виде строк:

220 your.server.name ESMTP Postfix

(Вы можете проверить приветствие, которое вы должны увидеть, запустив postconf smtpd_banner.)

Вы этого не понимаете, поэтому почтовый сервер работает неправильно.send_mail, вероятно, зависает в ожидании этого исходного сообщения.

Перезапустите Postfix и просмотрите файлы журнала /var/log/mail.*;там может быть подсказка, почему это не работает.

...