postfix ретрансляция всей почты через office365 проблемы

postfix ретрансляция всей почты через office365 проблемы

Это довольно длинный вопрос с длинным списком перепробованных вещей и мучений, поэтому, пожалуйста, потерпите меня. Краткое изложение таково.

  1. Я могу ретранслировать электронную почту из Ubuntu через Office365 с помощью Postfix; конфигурация работает.
  2. Он работает только как один из пользователей; точнее, пользователь, который проходит аутентификацию в Office365, является единственным допустимым «от».

Далее следует более подробная информация. У меня есть машина в облаке Amazon, на которой я запускаю кучу заданий, и я хотел бы получать статусы по почте. Я использую office365 на работе, поэтому я хочу ретранслировать почту через office365. Я лучше всего знаком с postfix, поэтому я использовал его в качестве MTA.

Конфигурация такова ubuntu 12.04LTS: я установил postfix и mail-utils.

Для этого примера предположим, что моя компания называется « company.com», а рассматриваемая машина (через эластичный IP и запись DNS) называется « plaything.company.com». Имя хоста установлено на « plaything.company.com», поэтому/etc/mailname

На plaything у меня зарегистрированы следующие пользователи alpha: bravo, , и charlie.

У меня есть следующие файлы конфигурации.

alias_database = хэш:/etc/aliases
alias_maps = хэш:/etc/aliases
append_dot_mydomain = нет
бифф = нет
config_directory = /etc/postfix
inet_interfaces = все
inet_protocols = ipv4
mailbox_size_limit = 0
mydestination = plaything.company.com, localhost.company.com, , localhost
myhostname = plaything.company.com
моисети = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = нет
разделитель_получателя = +
релейхост = [smtp.office365.com]:587
sender_canonical_maps = хэш:/etc/postfix/sender_canonical
smtp_sasl_auth_enable = да
smtp_sasl_password_maps = хэш:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = безанонимный
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtp_use_tls = да
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = да

Поскольку машина называется , plaything.company.comя выполнил процедуру регистрации всех соответствующих записей DNS, чтобы office365 распознал, что я являюсь ее владельцем, plaything.company.comи позволил мне создать пользователя с именем [email protected]office365.

В Office365 я настроил [email protected]еще один адрес электронной почты [email protected].

Затем я сделал следующий sender_canonical

[email protected] [email protected]

Я создал файл sasl_passwd следующего содержания:

smtp.office365.com [email protected]:123456password123456

скажем так, пароль [email protected]для1234...456

После всех этих настроек войдите в систему как alphaи

почта[email protected]
Копия:
Тема: тест
тест

и все это работает замечательно. электронная почта отправляется через Postfix, TLS работает как чемпион, аутентифицируется как daemon@...и[email protected]в Office365 получает сообщение электронной почты.

Проблема возникает при входе в систему как bravoна машине.

отправитель — это [email protected]и office365 говорит:

статус=возвращено (хост smtp.office365.com[132.245.12.25] сказал:
550 5.7.1 Клиент не имеет разрешения на отправку как
этот отправитель (в ответ на команду «конец ДАННЫХ»))

это потому, что я пытаюсь отправить почту как bravo@...и аутентифицироваться в office365 как daemon@.... Причина, по которой это работает, alpha@...заключается в том, что в office365 я настраиваю [email protected]как имеющий другой адрес электронной почты [email protected].


ВРетрансляция Postfix в Office365,Майлз Эриксонотвечает на вопрос так:

  1. Не отправляйте почту в Office365 как пользователь с вашего домена электронной почты, размещенного в Office365. Вместо этого используйте поддомен, например[email protected]вместо[email protected]. Не помешает настроить запись SPF для services.mydomain.com или любого другого имени, которое вы решите использовать.

  2. Не проходите аутентификацию на mail.messaging.microsoft.com как пользователь Office365. Просто подключитесь к порту 25 и доставьте почту на свой домен, как это сделал бы любой сторонний агент SMTP.

Хорошо, я выполнил пункт 1, у меня есть эти записи в DNS, но по большей части они не имеют значения, как только Office365 распознает, что я являюсь владельцем домена.

Вот эти записи:

Записи CNAME: - msoid.plaything.company.com - autodiscover.plaything.company.com

Запись MX: - plaything.company.com (plaything-company-com.mail.protection.outlook.com)

Запись TXT: - plaything.company.com (v=spf1 include:spf.protection.outlook.com -all)

Я пробовал #2, но что бы я ни делал, office365 просто разрывает соединение с сообщением "не аутентифицировано". Я могу попробовать даже простой telnet на порт 25 и попытаться отправить, но это не работает.

250 BY2PR01CA007.outlook.office365.com Hello [54.221.245.236] 
530 5.7.1 Client was not authenticated 
Connection closed by foreign host.

Есть ли кто-нибудь, у кого есть такая рабочая конфигурация, где несколько пользователей на машине Linux могут ретранслировать почту с помощью postfix через office365? Должен быть кто-то, кто делает это и может сказать мне, что не так с моей настройкой...

решение1

Я думаю, вам нужно сделать шаг назад :)

Если вы вошли в систему playthingкак bravo, вам действительно нужно, чтобы вся почта, отправленная с plaything, отправлялась как [email protected]? Если нет, просто отправляйте всю почту как [email protected], см.Postfix на хостах без реального имени хоста в Интернете.

Если вы не можете применить это, то вам понадобитсяКарты SASL, зависящие от отправителя. Это немного усложнит вашу установку, поэтому я бы постарался этого избежать.

И последнее, но не менее важное: если playthingбы вы отправляли письма как [email protected], вам бы пришлось настроить myhostnameи/или myoriginтакже избавиться от relayhostнастройки. В этом случае, playthingвы бы доставляли всю почту напрямую, со всеми плюсами и минусами, такими как репутация почтового сервера и т. д.

Связанный контент