我已经将 postfix 设置为卫星来监听端口 587,我可以通过本地网络的 postfix(ubuntu)框顺利地向外发送电子邮件,没有任何问题
当我尝试从外部 IP 连接到 postfix(ubuntu)框并发送邮件时,它会返回 554 5.7.1 中继访问被拒绝错误
我可以 telnet 连接,但无法发送邮件
这是我的 main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtp_use_tls = no
myhostname = cotiso-desktop
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mydomainname.com, cotiso-desktop, localhost.localdomain, localhost
relayhost = smtp.mydomainname.com
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
尚未设置安全措施,我只是想先让它运行起来
有任何想法吗?
提前致谢
谢谢 pQd 我尝试使用固定的外部 IP 并且它可以工作,但我想让更多的人使用它,无论他们是否连接,我是否必须安装其他东西才能使其工作?
答案1
如果您的外部客户端没有固定 IP,则必须以某种方式对其进行身份验证。看看这个:http://www.postfix.org/SASL_README.html
答案2
外部 IP 是否固定?如果是,请在 main.cnf 中添加,如下所示:
mynetworks=127.0.0.0/8, 80.1.2.3/32
答案3
启用与用户名相关的特定用户(如果用户使用 dhcp,则不是 ip 地址)
smtpd_recipient_restrictions = check_sender_access 哈希:/etc/postfix/maps/access-allowed-outside-senders、reject_unknown_recipient_domain、reject_non_fqdn_recipient、reject_unauth_pipelining、permit_mynetworks、reject_unauth_destination、reject
在/etc/postfix/maps/access-allowed-outside-senders中:[电子邮件保护]好的
这边走,[电子邮件保护]被允许向您的域外发送邮件,即使他位于您的网络之外。