Что ж, спустя долгое время я обнаружил проблему. По какой-то причине использование «www» в качестве имени хоста вызывало проблему. Использование «web» в качестве имени хоста и повторный запуск конфигурации Exim через dpkg-reconfigure устранили проблему.
У меня следующая установка:
Мне нужно было, чтобы VPS отправлял электронные письма, поэтому я установил Exim4 на VPS. Я тоже настроил SPF, согласно руководствам Digital Ocean. Кажется, он работает нормально, так как мой VPS может отправлять электронные письма в Gmail, Yahoo и Hotmail, используя любой адрес электронной почты mydomain.com. Но когда я пытаюсь отправить электронные письма со своего VPS на test@mydomain.com или на любой другой адрес электронной почты Hostgator (который должен быть получен сервером Hostgator), это не работает.
В этом проблема: когда я отправляю электронные письма в любой домен, размещенный на моем сервере Hostgator, он не работает. Любая другая (Gmail, Yahoo, Hotmail) работает нормально.
Конфигурация VPS:
Конфигурация DNS:
A @ 11.11.11.11
A mail 22.22.22.22
CNAME www @
MX 0 mail
TXT @ v=spf1 mx a ~all
Цель этой конфигурации DNS состоит в том, чтобы направить весь веб-трафик на 11.11.11.11, но если вы пишете кому-то@mydomain.com, он должен отправить электронное письмо на 22.22.22.22.
Журнал ошибок eximʻa:
2014-04-01 13:05:17 1WUyNR-0001aS-R4 <= root@www.mydomain.com U=root P=local S=478
2014-04-01 13:05:18 1WUyNR-0001aS-R4 == felipe@anotherdomain.com R=dnslookup T=remote_smtp defer (-44): SMTP error from remote mail server after RCPT TO:<felipe@anotherdomain.com>: host doting.com.br [22.22.22.22]: 451 Temporary local problem - please try later
Не работает подробная отправка:
root@www:~# echo "test" | mail -v -s "test" felipe@anotherdomain.com
LOG: MAIN
<= root@www.mydomain.com U=root P=local S=478
root@www:~# delivering 1WUz8Q-0001bE-OR
R: dnslookup for felipe@anotherdomain.com
T: remote_smtp for felipe@anotherdomain.com
Connecting to anotherdomain.com [22.22.22.22]:25 ... connected
SMTP<< 220-br68.hostgator.com.br ESMTP Exim 4.80.1 #2 Tue, 01 Apr 2014 08:53:51 -0500
220-We do not authorize the use of this system to transport unsolicited,
220 and/or bulk e-mail.
SMTP>> EHLO www.mydomain.com
SMTP<< 250-br68.hostgator.com.br Hello www.mydomain.com [11.11.11.11]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
SMTP>> STARTTLS
SMTP<< 220 TLS go ahead
SMTP>> EHLO www.mydomain.com
SMTP<< 250-br68.hostgator.com.br Hello www.mydomain.com [11.11.11.11]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-AUTH PLAIN LOGIN
250 HELP
SMTP>> MAIL FROM:<root@www.mydomain.com> SIZE=1516
SMTP>> RCPT TO:<felipe@anotherdomain.com>
SMTP>> DATA
SMTP<< 250 OK
SMTP<< 451 Temporary local problem - please try later
SMTP<< 503-All RCPT commands were rejected with this error:
503-Temporary local problem - please try later
503 Valid RCPT command must precede DATA
SMTP>> QUIT
LOG: MAIN
== felipe@anotherdomain.com R=dnslookup T=remote_smtp defer (-44): SMTP error from remote mail server after RCPT TO:<felipe@anotherdomain.com>: host anotherdomain.com [22.22.22.22]: 451 Temporary local problem - please try later
Рабочая многословная отправка:
root@www:~# echo "test" | mail -v -s "test" mygmail@gmail.com
LOG: MAIN
<= root@www.mydomain.com U=root P=local S=482
root@www:~# delivering 1WUzAr-0001bL-6d
R: dnslookup for mygmail@gmail.com
T: remote_smtp for mygmail@gmail.com
Connecting to gmail-smtp-in.l.google.com [2607:f8b0:400d:c00::1a]:25 ... failed: Network is unreachable
LOG: MAIN
gmail-smtp-in.l.google.com [2607:f8b0:400d:c00::1a] Network is unreachable
Connecting to gmail-smtp-in.l.google.com [173.194.68.27]:25 ... connected
SMTP<< 220 mx.google.com ESMTP g62si5353566qgg.196 - gsmtp
SMTP>> EHLO www.mydomain.com
SMTP<< 250-mx.google.com at your service, [11.11.11.11]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250 CHUNKING
SMTP>> STARTTLS
SMTP<< 220 2.0.0 Ready to start TLS
SMTP>> EHLO www.mydomain.com
SMTP<< 250-mx.google.com at your service, [11.11.11.11]
250-SIZE 35882577
250-8BITMIME
250-ENHANCEDSTATUSCODES
250 CHUNKING
SMTP>> MAIL FROM:<root@www.mydomain.com> SIZE=1520
SMTP<< 250 2.1.0 OK g62si5353566qgg.196 - gsmtp
SMTP>> RCPT TO:<mygmail@gmail.com>
SMTP<< 250 2.1.5 OK g62si5353566qgg.196 - gsmtp
SMTP>> DATA
SMTP<< 354 Go ahead g62si5353566qgg.196 - gsmtp
SMTP>> writing message and terminating "."
SMTP<< 250 2.0.0 OK 1396360583 g62si5353566qgg.196 - gsmtp
SMTP>> QUIT
LOG: MAIN
=> mygmail@gmail.com R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [173.194.68.27] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
LOG: MAIN
Completed
Еще одна вещь: при отправке в Gmail отправитель отображается как «root@www.mydomain.com». Не знаю, нормально ли это.
Чтобы быть более ясным:
Электронная почта Hostgator работает нормально: проверена рассылка с mygmail@gmail.com на something@mydomain.com и something@anotherdomain.com, и она работает хорошо.
Проблема в том, что я отправляю электронные письма с VPS на какую-то учетную запись электронной почты, размещенную на моем плане Hostgator.
Заранее спасибо и извините за мой плохой английский.