我目前正在 OCI 上配置 SMTP 服务器,但有些疑问。我想将带有我的域名的电子邮件发送到外部服务器,例如 GMAIL、OUTLOOK 等。
我已经使用我的域名和端口 587 配置了“中继主机”,但它开始请求 SASL 身份验证。因此,我将其删除并重试,我注意到它正在使用外部 GMAIL 服务器发送电子邮件。
这种情况下应该如何配置呢?
答案1
当您想向 Google 等发送邮件时,无需使用中继主机。
您需要您的 postfix 服务器配置仅发送的 mta,最好使用 smtp over tls。您可以使用 letsencrypt 进行 tls/ssl 部分
另请参阅此处获取一些指导 https://gist.github.com/lodi-g/9f89d102aa51e9e50da5d7954ddc5917
myhostname = hostname
myorigin = domain
mydomain = domain
mydestination = $myhostname, localhost.$mydomain, localhost, example.com
mynetworks = 127.0.0.0/8
relay_domains =
relay_host =
smtpd_relay_restrictions =
permit_mynetworks
permit_sasl_authenticated
defer_unauth_destination
smtpd_tls_cert_file=/etc/letsencrypt/live/domain.nl/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/domain.nl/privkey.pem
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_protocols = TLSv1.2, TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtp_tls_protocols = TLSv1.2, TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtp_tls_ciphers = high
smtpd_tls_ciphers = high
smtpd_tls_mandatory_protocols = TLSv1.2, TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = TLSv1.2, TLSv1.1, !TLSv1, !SSLv2, !SSLv3
smtp_tls_mandatory_ciphers = high
smtpd_tls_mandatory_ciphers = high
smtpd_tls_mandatory_exclude_ciphers = MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL, aNULL
smtpd_tls_exclude_ciphers = MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL, aNULL
smtp_tls_mandatory_exclude_ciphers = MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL, aNULL
smtp_tls_exclude_ciphers = MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL, aNULL
tls_preempt_cipherlist = yes
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtpd_tls_loglevel = 2
smtp_tls_loglevel = 2
smtpd_use_tls=yes
我假设你知道如何使用 letsencrypt 申请证书
如果您只想向某些域发送邮件,您可以在mydestination
指令中进行配置,该指令用于指定通过邮件传递传输传递的域列表