#ruby-on-rails #smtp #sendmail
#ruby-on-rails #smtp #отправить почту
Вопрос:
Я использую sendmail для отправки почты из моего приложения Rails. Но, похоже, при отправке почты в определенный пользовательский домен возникает ошибка. Ошибка от /var/mail/***
заключается в следующем:
Date: Tue, 11 Oct 2011 16:33:46 GMT
From: Mail Delivery Subsystem <MAILER-DAEMON@*****>
Message-Id: <201110111633.p9BGXkpR010310@******>
To: <****@*****>
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
boundary="p9BGXkpR010310.1318350826/******"
Subject: Returned mail: see transcript for details
Auto-Submitted: auto-generated (failure)
This is a MIME-encapsulated message
--p9BGXkpR010310.1318350826/*******
The original message was received at Tue, 11 Oct 2011 16:33:42 GMT
from localhost [127.0.0.1]
----- The following addresses had permanent fatal errors -----
<****@{domain}.com>
(reason: 573 ********@****** failed to route the address)
<*****@{domain}.com>
(reason: 573 *******@****** failed to route the address)
<*****@{domain}.com>
(reason: 573 *******@******* failed to route the address)
----- Transcript of session follows -----
... while talking to *********.com.1.0001.arsmtp.com.:
>>> MAIL From:<*******@*******> SIZE=1273
<<< 573 ********@********* failed to route the address
554 5.0.0 Service unavailable
--p9BGXkpR010310.1318350826/*******
Content-Type: message/delivery-status
Reporting-MTA: dns; StreetSense
Received-From-MTA: DNS; localhost
Arrival-Date: Tue, 11 Oct 2011 16:33:42 GMT
Final-Recipient: RFC822; ****@*******.com
Action: failed
Status: 5.0.0
Diagnostic-Code: SMTP; 573 *******@******* failed to route the address
Last-Attempt-Date: Tue, 11 Oct 2011 16:33:46 GMT
Final-Recipient: RFC822; *******@********.com
Action: failed
Status: 5.0.0
Diagnostic-Code: SMTP; 573 *******@******** failed to route the address
Last-Attempt-Date: Tue, 11 Oct 2011 16:33:46 GMT
Final-Recipient: RFC822; ******@*********.com
Action: failed
Status: 5.0.0
Diagnostic-Code: SMTP; 573 *****@******** failed to route the address
Last-Attempt-Date: Tue, 11 Oct 2011 16:33:46 GMT
Все возвращенные электронные письма из одного домена, и письма успешно отправляются в другие домены. Когда я искал диагностические коды SMTP 573, я получил это "573 Internal server error, IP address related."
. Но я не знаю, что это значит. Кто-нибудь может мне помочь?
Обновить
Из ответа @ guenter я получил эти команды, запустил их и получил следующие результаты:
# dig streetsense.com MX
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> xxxxx.com MX
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61139
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;xxxxx.com. IN MX
;; ANSWER SECTION:
xxxxx.com. 3600 IN MX 10 xxxxx.com.1.0001.arsmtp.com.
xxxxxx.com. 3600 IN MX 20 xxxxx.com.2.0001.arsmtp.com.
;; AUTHORITY SECTION:
xxxxx.com. 155394 IN NS ns04.ntiva.net.
xxxxx.com. 155394 IN NS ns01.ntiva.net.
xxxxx.com. 155394 IN NS ns02.ntiva.net.
xxxxx.com. 155394 IN NS ns03.ntiva.net.
;; ADDITIONAL SECTION:
ns01.ntiva.net. 147 IN A xxx.xx.xx.xxx
ns02.ntiva.net. 147 IN A xxx.xx.xx.xxx
ns03.ntiva.net. 147 IN A xxx.xx.xx.xxx
ns04.ntiva.net. 147 IN A xxx.xx.xx.xxx
;; Query time: 45 msec
;; SERVER: xxx.xxx.x.x#xx(xxx.xxx.x.x)
;; WHEN: Tue Oct 11 18:08:23 2011
;; MSG SIZE rcvd: 262
похоже, что ping также работает:
# ping xxxxxxx.com
PING xxxxxxxx.com (xxx.xx.xx.xx) xx(xx) bytes of data.
64 bytes from linux06.ntiva.com (xxx.xx.xx.xx): icmp_seq=1 ttl=53 time=29.0 ms
64 bytes from linux06.ntiva.com (xxx.xx.xx.xx): icmp_seq=2 ttl=53 time=27.4 ms
64 bytes from linux06.ntiva.com (xxx.xx.xx.xx): icmp_seq=3 ttl=53 time=27.4 ms
64 bytes from linux06.ntiva.com (xxx.xx.xx.xx): icmp_seq=4 ttl=53 time=27.4 ms
Редактировать
также мое имя хоста моего сервера, похоже, совпадает с именем домена, вызывающим проблему
# hostname
xxxxxxx
Это то же самое, что и домен xxxxxxx.com
. Может ли это вызвать проблему?
Комментарии:
1. В итоге я использовал gmail SMTP для отправки писем. не удалось решить проблему.
Ответ №1:
failed to route the address
ключ здесь.
Кажется, что ваш sendmail
не знает, как перенаправить этот адрес. Здесь нужна некоторая отладка почты. Первым шагом может быть проверка DNS на наличие MX-записей для этого домена — dig example.com MX
.
Если нет записи MX, в этом проблема. Если есть записи MX, вы можете попытаться выполнить пинг этих хостов.