У меня проблема с Postfix. Я настроил его для отправки уведомлений, если сообщение доставлено, отклонено или отложено. Я получаю уведомления, но иногда в журналах получаю такую запись:
1765BA8A0: to=<info@example.com>, relay=mx5.mail.icloud.com[17.158.8.111]:25, delay=4.7, delays=0.05/0.01/0.34/4.3, dsn=2.5.0, status=sent (250 2.5.0 Ok.)
И ни от моего постфикса, ни от ретранслятора уведомлений нет. В соответствии с status=send
сообщение доставлено, но для меня критически важно получить уведомление по электронной почте. Почему у меня нет уведомления?
Наконец я нашел решение. Postfix настроен для отправки уведомлений о доставке в случае, если сервер ретрансляции не поддерживает DSN, в противном случае он будет считать, что сервер ретрансляции отправит его. В моем случае серверы iCloud MX отвечают, что они предоставляют услугу DSN, поэтому postfix ничего не делают, и проблема заключалась в том, что серверы iCloud действовали таким же образом.
Поэтому я решил отказаться от ключевого слова DSN в EHLO, возвращаемого серверами iCloud, для этого я добавил следующую строку в свою конфигурацию постфикса
smtp_discard_ehlo_keyword_address_maps = cidr:/etc/postfix/esmtp_access
и создайте файл со списком подсетей, которые iCloud использует для отправки писем:
# File /etc/postfix/esmtp_access
17.142.0.0/16 dsn
17.158.0.0/16 dsn
17.178.0.0/16 dsn
17.172.0.0/16 dsn
17.151.0.0/16 dsn
17.133.0.0/16 dsn
поэтому теперь postfix не получает ключевое слово DSN и не отправляет уведомление DSN самостоятельно