Назад | Перейти на главную страницу

Sendmail отправляется локально, а не в MTA в записи MX

Итак, у меня есть ящик с именем 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.

Требования:

  • example.com Запись, указывающая на IP-адрес, назначенный одному из интерфейсов eth.
  • / etc / hosts, определяющий example.com, назначенный тому же IP-адресу, что и выше
  • записи MX example.com, указывающие на серверы Google (ASPMX.L.GOOGLE.COM и т. д.)
  • установка sendmail по умолчанию (моя была на Ubuntu)

Шаги:

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.

Если вы используете постфикс:

  1. Проверьте свою конфигурацию: postconf | grep "^\(mydestination\|mydomain\|myhostname\)"
  2. Если ваш mydestination включает домен, на котором вы установили Google Apps:
  3. sudo vi /etc/postfix/main.cf и проверьте конфигурацию, затем сохраните.
  4. Проверьте конфигурацию (например, шаг 1) и перезапустите postfix. sudo service postfix restart (по желанию?)