Güncelleme: Bir BT arkadaşının tavsiyesi üzerine, bir bulut posta sunucusu yapmak yerine tüm sunucularımda posta kodu kullanıyorum. İşte şimdiye kadar benim çözümüm:
/etc/postfix/main.cf
# output of hostname -f - mail from local users appears to come from here
myhostname = domU-01-02-03-04-05-06.compute-1.internal
# Local delivery - include all 127.0.0.1 aliases from /etc/hosts
mydestination = $myhostname, $mydomain, rest_of_entries_from_hosts
# Needed for address translation to work
myorigin = $mydomain
# Talking to MS Online
# :submission = port 587
relayhost = [smtp.mail.microsoftonline.com]:submission
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = # Yes, leave empty
smtp_tls_security_level = encrypt
smtp_generic_maps = hash:/etc/postfix/generic
# Enable if you need debugging, but it does leak credentials to the log
#debug_peer_level = 2
#debug_peer_list = smtp.mail.microsoftonline.com
# Only listen on the local interfaces (not the public)
inet_interfaces = localhost
# I left out a bunch of CentOS defaults. postconf -n is your friend.
# These are included
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
/etc/postfix/sasl_passwd
# Run postmap /etc/postfix/sasl_passwd after editing
# Also, chown root:root; chmod 600
smtp.mail.microsoftonline.com relayer@hosteddomain.com:YourP@ssw0rd
/etc/postfix/generic
# Run postmap /etc/postfix/generic
# I've seen local mail come from either source
# output of dnsdomainname
@compute-1.internal relayer@hosteddomain.com
# output of hostname -f
@domU-01-02-03-04-05-06.compute-1.internal relayer@hosteddomain.com
/etc/aliases
# Run newaliases after changing
# Lot of stuff here. Mostly, just make sure the graph points to root, such as
mailer-daemon: postmaster
postmaster: root
# And the important part - your email or distribution group
root: awsadmins@hosteddomain.com
/etc/passwd
# Sometimes it helps to expand the name, so email comes from 'root at aws host 5'
# rather than just 'root'
# Was
#root:x:0:0:root:/root:/bin/bash
# Is
root:x:0:0:root on aws host 5:/root:/bin/bash
Mutlu olduğum şeyler:
- Köklere çok sayıda posta gönderilir ve bir satır
alias
onu kimin yönlendirdiğini gösterir.
- Yerel kullanıcılardan gelen tüm postalar geldiği için çevrilir
relayer@hosteddomain.com
, bu nedenle MS Online SMTP sunucusundan geçer.
- postfix sendmail'den çok daha iyi dokümantasyona sahip.
Mutlu olmadığım şeyler:
- Her ana bilgisayar ve birkaç adım için özel değişiklikler gerekir. Yardım etmek için bir bash betiği yazdım.
passwd
Adı hile her zaman işe yaramaz ve bir posta geliyor ne sunucu anlamaya zor olabilir.
- Gönderilen her posta, günlüğe üç uyarı koyar:
warning: smtp.mail.microsoftonline.com[65.55.171.153] offered null AUTH mechanism list
(SMTP sunucusu AUTH
önce STARTTLS
, ama AUTH LOGIN
sonra boş bir liste gönderir )
certificate verification failed for smtp.mail.microsoftonline.com: num=20:unable to get local issuer certificate
(Sertifikaların etrafında bazı yapılandırma seçenekleri var, ancak sertifika yenilendiğinde posta tesliminin kesilip kesilmediğinden emin değilim)
certificate verification failed for smtp.mail.microsoftonline.com: num=27:certificate not trusted
(# 2 ile aynı)
Posta sunucularında güçlü görüşlerini paylaştığı için serverfault topluluğuna teşekkür ederiz.