Итак, у меня есть ящик с именем websrv1.mydomain.com. Это веб-сервер, на котором запущены ubuntu, apache2, sendmail и т.д.
Моя электронная почта передана третьей стороне. Итак, в моем DNS я настроил MX на mx.thirdparty.net. У меня нет причин принимать входящую почту на моем веб-сервере, каждое электронное письмо должно быть отправлено третьей стороне. Это правильно работает с отправкой почты с веб-сервера (также известного как cron или консоль).
Итак, с моего веб-сервера, если я отправлю электронное письмо на адрес me@mydomain.com, оно просто исчезнет. Никаких ошибок, ничего в dead.letter, ничего. Я могу отправить на любой другой адрес без проблем. Если я отправлю на адрес me@websrv1.mydomain.com, он будет доставлен локально, и это нормально.
1) Выполнение nslookup показывает, что запись mx верна.
2) Запуск / mx mydomain.com из sendmail -bt возвращает правильный результат.
3) Запуск sendmail -bv me@mydomain.com возвращает:
sudo sendmail -bv me@mydomain.com me@mydomain.com... deliverable: mailer esmtp, host mydomain.com., user me@mydomain.com
4) Запуск 3,0 me@mydomain.com возвращает:
3,0 me@mydomain.com canonify input: me @ mydomain . com Canonify2 input: me Canonify2 returns: me canonify returns: me parse input: me Parse0 input: me Parse0 returns: me Parse1 input: me MailerToTriple input: me MailerToTriple returns: me Parse1 returns: $# esmtp $@ mydomain . com . $: me parse returns: $# esmtp $@ mydomain . com . $: me
Так что я в растерянности. Sendmail, похоже, видит запись mx, но не использует ее.
Если в вашем sendmail.mc есть строка smarthost, заключена ли она в скобки?
определить (SMART_HOST',
[smtp.thirdparty.net] ') dnl
это заставит sendmail пропустить поиск записи MX и напрямую использовать запись A. Вероятно, это то, что вам нужно в данном случае.
Убедитесь, что sendmail не настроен для обработки локального домена. Если он пытается обработать электронное письмо локально, могут произойти странные исчезновения, но оно отскакивает, но отскок также возвращается.
Вы должны использовать sendmail? Заменил все на Postfix. ИМХО, с этим намного проще справиться.
Вы смотрели журнал своего почтового журнала? Там может быть какая-то информация, которая поможет вам устранить проблему.
Другой тест, который вы можете сделать, - это отправить электронное письмо в качестве пользователя на этом компьютере в учетную запись на вашем @ domain.com, а затем посмотреть, действительно ли оно обрабатывается sendmail, просмотрев файл журнала почтового журнала.
У меня нет сервера ubuntu, к которому я могу получить доступ, но файл maillog должен быть / var / log / maillog
Что я сделал, чтобы отключить локальную доставку. Я буду использовать домен example.com.
Требования:
Шаги:
vim /etc/mail/sendmail.mc
в конце:
define(`MAIL_HUB', `example.com.')dnl
define(`LOCAL_RELAY', `example.com.')dnl
а потом:
sendmailconfig
service sendmail restart
тестирование:
echo -e "To: user@example.com\nSubject: Test\nTest\n" | sendmail -bm -t -v
echo -e "To: user\nSubject: Test\nTest\n" | sendmail -bm -t -v
Вы должны увидеть, как он подключается к серверу Google, а затем вы должны увидеть, как ваша почта доставляется в ваш почтовый ящик Google.
Если вы используете постфикс:
postconf | grep "^\(mydestination\|mydomain\|myhostname\)"
mydestination
включает домен, на котором вы установили Google Apps:sudo vi /etc/postfix/main.cf
и проверьте конфигурацию, затем сохраните.sudo service postfix restart
(по желанию?)