Saya mencoba mengatur server Postfix pada kotak Linux untuk menyampaikan semua email ke server mail Office365 (Exchange, yang dihosting oleh Microsoft) kami, tetapi, saya terus mendapatkan kesalahan mengenai alamat pengiriman:
BB338140DC1: to = relay = pod51010.outlook.com [157.56.234.118]: 587, delay = 7.6, penundaan = 0.01 / 0 / 2.5 / 5.1, dsn = 5.7.1, status = memantul (host pod51010.outlook.com [ 157.56.234.118] mengatakan: 550 5.7.1 Klien tidak memiliki izin untuk mengirim sebagai pengirim ini (sebagai balasan untuk mengakhiri perintah DATA))
Office 365 mensyaratkan bahwa alamat pengiriman di header MAIL FROM dan From: sama dengan alamat yang digunakan untuk otentikasi. Saya telah mencoba semua yang dapat saya pikirkan dalam konfigurasi untuk membuatnya bekerja. Sayapostconf -n:
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
debug_peer_list = 127.0.0.1
inet_interfaces = loopback-only
inet_protocols = all
mailbox_size_limit = 0
mydestination = xxxxx, localhost.localdomain, localhost
myhostname = localhost
mynetworks = 127.0.0.0/8
recipient_delimiter = +
relay_domains = our.doamin
relayhost = [pod51010.outlook.com]:587
sender_canonical_classes = envelope_sender
sender_canonical_maps = hash:/etc/postfix/sender_canonical
smtp_always_send_ehlo = yes
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = login
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_loglevel = 1
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
/etc/postfix/sender_canonical
:
www-data [email protected]
root [email protected]
www-data@localhost [email protected]
root@localhost [email protected]
Juga, sasl_passwd
disetel ke kredensial yang benar (mengujinya menggunakan swaks beberapa kali.) Otentikasi berfungsi, dan mengirim pesan ketika header dari benar (juga diuji menggunakan swaks , yang berfungsi)
Email berasal dari PHP, jadi saya juga mencoba mengubah jalur sendmail php.ini
untuk menggunakan pass yang benar dari alamat via -f
Jadi, untuk beberapa alasan, surat yang berasal dari www-data dan root tidak memiliki bidang dari yang ditulis ulang untuk kepuasan Office 365, dan itu tidak akan mengirim pesan.
Adakah guru postfix di luar sana yang dapat membantu saya mengatur relay ini?
sumber
Jan 9 11:03:11 isvahlrtk01 postfix/smtp[12841]: connect to pod51017.outlook.com[157.56.250.182]:587: Connection timed out
Larutan:
Jangan mengirim email ke Office365 sebagai pengguna dari domain email yang dihosting Office365 Anda. Gunakan subdomain sebagai gantinya, misalnya [email protected] alih-alih [email protected]. Tidak ada salahnya untuk membuat catatan SPF untuk services.mydomain.com atau apa pun yang Anda putuskan untuk digunakan.
Jangan mengautentikasi terhadap mail.messaging.microsoft.com sebagai pengguna Office365. Cukup sambungkan pada port 25 dan kirimkan email ke domain Anda seperti yang dilakukan agen SMTP asing.
sumber
Saya telah menemukan bahwa beberapa modul auth SASL hilang. Berikut ini memperbaikinya:
( modul polos mungkin cukup)
sumber