将邮件发送到 smtps 服务器的最低 postfix 配置

将邮件发送到 smtps 服务器的最低 postfix 配置

我正在尝试使用 python 发送邮件,因此我在本地配置了一个 postfix 服务器。当我的邮件到达 smtpd 服务器时,python 部分似乎可以正常工作。之后,postfix 似乎可以正确查询 MX 记录并尝试连接正确的 dns 名称。

这里的问题似乎是我的 postfix 服务器从不尝试端口 465,只尝试 25,由于端口关闭而失败,然后放弃,直到重试计时器重置。

这是我的/etc/postfix/main.cf文件。我完全知道我并不完全清楚自己在做什么

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
# Optional, if you want this postfix to use TLS when acting as a client
smtp_use_tls=yes
smtp_tls_security_level = may
smtp_tls_note_starttls_offer = yes

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = yamatetsu
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = yamatetsu, localhost.localdomain, , localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost

再次强调,我想要的只是让我的 Python 客户端将邮件发送到任意目的地,其中一些目的地的 25 端口已关闭。Python 客户端似乎通过 25 端口进行连接,但我希望 Postfix 能够自己弄清楚如何访问远程服务器。我不想接收邮件,而且我不太关心安全性,因为所有内容都将位于 NAT 后面的一台机器上。

我正在运行 ubuntu 14.04,并使用 apt-get 进行安装。我还尝试使用 openssl 自行生成的 tls 证书,但由于该行以 smtpd 为前缀,我不确定它是否是强制性的。我甚至不确定如何查看它是否被正确解析。

答案1

看起来配置有效,但我的 ISP 阻止了端口 25。最糟糕的是,他们似乎对此无能为力,因为他们正在转售电缆主干。

相关内容