Action Mailer не работает с sendmail - PullRequest
4 голосов
/ 16 февраля 2012

Я пытаюсь отправить письмо с помощью sendmail. При отправке почты я не получаю никаких ошибок в журналах, но когда я заглядываю в свой почтовый ящик, почты там нет, даже в папке спама. Я получаю некоторую информацию в файле mail.log из моей директории var / log, но не могу понять, что мне нужно изменить, чтобы она заработала.

Вот моя часть development.rb:

config.action_mailer.delivery_method = :sendmail
config.action_mailer.raise_delivery_errors = true

Я попробовал с двумя разными адресами и получил разные сообщения: это из моего mail.log:

Feb 16 13:55:22 localhost postfix/master[2821]: daemon started -- version 2.8.4, configuration /etc/postfix  
Feb 16 13:55:22 localhost postfix/pickup[2822]: 5E1C6CB8C1: uid=501 from=<fhu@informatik.uni-kiel.de>  
Feb 16 13:55:22 localhost postfix/cleanup[2824]: 5E1C6CB8C1: message-id=<4f3cfcba50ccf_ac695d96210305e1@localhost.mail>  
Feb 16 13:55:22 localhost postfix/qmgr[2823]: 5E1C6CB8C1: from=<fhu@informatik.uni-kiel.de>, size=882, nrcpt=1 (queue active)  
Feb 16 13:55:27 localhost postfix/smtp[2826]: 5E1C6CB8C1: to=<mkh@informatik.uni-kiel.de>, relay=miraculix.informatik.uni-kiel.de[134.245.248.198]:25, delay=5.3, delays=0.04/0.01/5.3/0.04, dsn=5.7.1, status=bounced (host miraculix.informatik.uni-kiel.de[134.245.248.198] said: 550 5.7.1 HELO localhost.localhost from RFC 2606 reserved domains blocked (in reply to MAIL FROM command))  
Feb 16 13:55:27 localhost postfix/cleanup[2824]: C0D2ACB8CB: message-id=<20120216125527.C0D2ACB8CB@localhost.localhost>  
Feb 16 13:55:27 localhost postfix/bounce[2829]: 5E1C6CB8C1: sender non-delivery notification: C0D2ACB8CB  
Feb 16 13:55:27 localhost postfix/qmgr[2823]: C0D2ACB8CB: from=<>, size=2932, nrcpt=1 (queue active)  
Feb 16 13:55:27 localhost postfix/qmgr[2823]: 5E1C6CB8C1: removed  
Feb 16 13:55:33 localhost postfix/smtp[2826]: C0D2ACB8CB: to=<fhu@informatik.uni-kiel.de>, relay=miraculix.informatik.uni-kiel.de[134.245.248.198]:25, delay=5.2, delays=0/0/5.2/0.04, dsn=5.7.1, status=bounced (host miraculix.informatik.uni-kiel.de[134.245.248.198] said: 550 5.7.1 HELO localhost.localhost from RFC 2606 reserved domains blocked (in reply to MAIL FROM command))  
Feb 16 13:55:33 localhost postfix/qmgr[2823]: C0D2ACB8CB: removed  

второй адрес:

Feb 16 13:56:22 localhost postfix/master[2821]: master exit time has arrived  
Feb 16 13:58:30 localhost postfix/master[2835]: daemon started -- version 2.8.4, configuration /etc/postfix  
Feb 16 13:58:30 localhost postfix/pickup[2836]: 91FFCCB947: uid=501 from=<xxx@informatik.uni-kiel.de>  
Feb 16 13:58:30 localhost postfix/cleanup[2838]: 91FFCCB947: message-id=<4f3cfd7684947_ac695dc9a5c306de@localhost.mail>  
Feb 16 13:58:30 localhost postfix/qmgr[2837]: 91FFCCB947: from=<xxx@informatik.uni-kiel.de>, size=878, nrcpt=1 (queue active)  
Feb 16 13:58:30 localhost postfix/smtp[2840]: connect to mx.freenet.de[2001:748:100:40::8:110]:25: No route to host  
Feb 16 13:58:30 localhost postfix/smtp[2840]: connect to mx.freenet.de[2001:748:100:40::8:112]:25: No route to host  
Feb 16 13:58:30 localhost postfix/smtp[2840]: connect to mx.freenet.de[2001:748:100:40::8:111]:25: No route to host  
Feb 16 13:58:30 localhost postfix/smtp[2840]: 91FFCCB947: to=<xxx@freenet.de>, relay=mx.freenet.de[195.4.92.9]:25, delay=0.32, delays=0.04/0.01/0.23/0.04, dsn=5.0.0, status=bounced (host mx.freenet.de[195.4.92.9] said: 550 Submission from dynamic IP 82.83.107.102 requires authentication (in reply to RCPT TO command))  
Feb 16 13:58:30 localhost postfix/cleanup[2838]: DF128CB94C: message-id=<20120216125830.DF128CB94C@localhost.localhost>  
Feb 16 13:58:30 localhost postfix/bounce[2843]: 91FFCCB947: sender non-delivery notification: DF128CB94C  
Feb 16 13:58:30 localhost postfix/qmgr[2837]: DF128CB94C: from=<>, size=2864, nrcpt=1 (queue active)  
Feb 16 13:58:30 localhost postfix/qmgr[2837]: 91FFCCB947: removed  
Feb 16 13:58:36 localhost postfix/smtp[2840]: DF128CB94C: to=<xxx@informatik.uni-kiel.de>, relay=miraculix.informatik.uni-kiel.de[134.245.248.198]:25, delay=5.3, delays=0/0/5.3/0.04, dsn=5.7.1, status=bounced (host miraculix.informatik.uni-kiel.de[134.245.248.198] said: 550 5.7.1 HELO localhost.localhost from RFC 2606 reserved domains blocked (in reply to MAIL FROM command))  
Feb 16 13:58:36 localhost postfix/qmgr[2837]: DF128CB94C: removed  
~              

В моем user_mailer.rb у меня есть это:

default :from => "xxx@informatik.uni-kiel.de"

Также я попробовал

config.action_mailer.sendmail_settings = 
    { :arguments => '-i -t -f xxx@informatik.uni-kiel.de'}

тогда mail.log по-прежнему выглядит так:

Feb 16 14:54:57 localhost postfix/master[2893]: daemon started -- version 2.8.4, configuration /etc/postfix  
Feb 16 14:54:57 localhost postfix/qmgr[2895]: 9DBF4CB857: from=<xxx@informatik.uni-kiel.de>, size=859, nrcpt=1 (queue active)
Feb 16 14:54:58 localhost postfix/pickup[2894]: A3120CC90B: uid=501 from=<xxx@informatik.uni-kiel.de>  
Feb 16 14:54:58 localhost postfix/cleanup[2896]: A3120CC90B: message-id=<4f3d0ab19405d_b4999f2bd74125b1@localhost.mail>  
Feb 16 14:54:58 localhost postfix/qmgr[2895]: A3120CC90B: from=<xxx@informatik.uni-kiel.de>, size=880, nrcpt=1 (queue active)  
Feb 16 14:54:58 localhost postfix/smtp[2906]: connect to mx.freenet.de[2001:748:100:40::8:111]:25: No route to host  
Feb 16 14:54:58 localhost postfix/smtp[2906]: connect to mx.freenet.de[2001:748:100:40::8:112]:25: No route to host  
Feb 16 14:54:58 localhost postfix/smtp[2906]: connect to mx.freenet.de[2001:748:100:40::8:110]:25: No route to host  
Feb 16 14:54:58 localhost postfix/smtp[2906]: A3120CC90B: to=<xxx@freenet.de>, relay=mx.freenet.de[195.4.92.212]:25, delay=1.3, delays=1/0.01/0.17/0.05, dsn=5.0.0, status=bounced (host mx.freenet.de[195.4.92.212] said: 550 Submission from dynamic IP 82.83.107.102 requires authentication (in reply to RCPT TO command))  
Feb 16 14:54:58 localhost postfix/cleanup[2896]: E3597CC90F: message-id=<20120216135458.E3597CC90F@localhost.localhost>  
Feb 16 14:54:58 localhost postfix/qmgr[2895]: E3597CC90F: from=<>, size=2868, nrcpt=1 (queue active)  
Feb 16 14:54:58 localhost postfix/bounce[2907]: A3120CC90B: sender non-delivery notification: E3597CC90F  
Feb 16 14:54:58 localhost postfix/qmgr[2895]: A3120CC90B: removed  
~                                                                            

Я попытался открыть telnet mx.freenet.de 25 и установил соединение. Буду очень признателен за любую помощь.

Спасибо!

1 Ответ

3 голосов
/ 16 февраля 2012

ActionMailer работает правильно и отправляет сообщение в postfix через API sendmail.

Но postfix возвращает сообщение, потому что имя компьютера отправителя в команде HELO - localhost.localhost.Установите хост и имя отправителя в rails, и он должен работать лучше.

docs

Возможно, вам нужно установить хост на уровне операционной системы (нерельсы).Спросите в списке суперпользователя.Посмотрите, что происходит, когда вы даете команду hostname ОС.Если он возвращает «localhost.localhost», то это первая проблема, которую нужно исправить.

...