如何将 Postfix 传出端口设置为 465,但将传入端口保留为默认值?

如何将 Postfix 传出端口设置为 465,但将传入端口保留为默认值?

我的 ISP 封锁了端口 25。因此,我无法连接到我的服务器并发送电子邮件。我尝试将其更改为 465。而且成功了!但是,更改后,我再也无法接收电子邮件了。

#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
465 inet  n       -       -       -       -       smtpd
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
#smtps     inet  n       -       -       -       -       smtpd
#  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=no
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

以上是我的master465 更改后的文件。(注意第一行)。

更改后,我无法再接收电子邮件。请帮忙!谢谢!

答案1

您将收不到任何邮件,因为 SMTP 服务器通过端口 25 相互发送邮件。ISP 会阻止传出端口 25 以阻止垃圾邮件,这现在几乎是“行业标准”。端口 465 和 587 应仅用于客户端 - 服务器连接,因此 99% 的将向您的服务器发送邮件的 SMTP 服务器都将通过端口 25 发送邮件。由于您已将端口从 25 更改为 465,因此它们将无法连接到您的服务器。

你很可能需要某种中继主机它会将邮件转发到您服务器的不同端口。

答案2

不要删除 SMTP 默认配置,只需添加您希望 Postfix 监听的端口以执行适当的 SMTPd 操作:

smtp inet  n       -       -       -       -       smtpd
465  inet  n       -       -       -       -       smtpd
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
submission inet n       -       -       -       -       smtpd

这样,您将能够通过端口 465 发送邮件,并从 SMTP 端口(25)接收邮件。

答案3

实际上,您已通过取消注释启用了提交端口。它是端口 587。您尚未启用端口 465,因为它没有取消注释(在提交设置下方)。465 作为服务 postfix 不知道。您需要将其改回 smtp。默认为端口 25。听起来您不会使用它,但端口 25 用于其他通信。简而言之 1) 将 465 改回 smtp 2) 取消注释 smtps 上的配置设置以启用端口 465

答案4

让 Postfix 在端口 25 上运行,并在另一个端口(例如 2525)上创建端口重定向,以便您连接到它:

iptables -t nat -I PREROUTING -p tcp --dport 2525 -j REDIRECT --to-port 25

(记得保存规则)

相关内容