我有一个网站,需要向客户发送电子邮件以交付他们购买的文件。可靠的电子邮件传递对这项业务至关重要。不幸的是,由于我的 MTA 的“声誉不佳”,我的服务器发送的大部分电子邮件都没有送达。以下是我的一些示例行mail.log:
Feb 20 02:40:41 servername postfix/smtp[14580]: 4E30B1100C7: host aspmx.l.google.com[209.85.211.78] said: 421-4.7.0 [174.143.183.26] Our system has detected an unusual amount of 421-4.7.0 unsolicited mail originating from your IP address. To protect our 421-4.7.0 users from spam, mail sent from your IP address has been temporarily 421-4.7.0 blocked. Please visit http://www.google.com/mail/help/bulk_mail.html 421 4.7.0 to review our Bulk Email Senders Guidelines. 10si1216690ywh.92 (in reply to end of DATA command)
Feb 20 12:49:22 servername postfix/smtp[5651]: A86CB1CC0CF: to=<user@domain.com>, relay=mx3.comcast.net[76.96.58.14]:25, delay=55186, delays=55185/0.01/0.93/0, …Run Code Online (Sandbox Code Playgroud) 我有一个需要发送电子邮件以确认订单并提醒订阅用户某些事件的网站。我并不需要通过服务器发送电子邮件任何其他原因,所以我想,以防止甚至连接到端口25用于SMTP本地主机的外部的任何人。我试过这样做:
sudo iptables -A INPUT -p tcp -s 0.0.0.0 --dport 25 -j DROP
Run Code Online (Sandbox Code Playgroud)
但我仍然可以 telnet 到端口 25 并从另一台计算机键入 SMTP 命令。我究竟做错了什么?另外,有没有更好的方法来实现我想要的?澄清一下:我想要的是一台可以发送电子邮件(通过 SMTP)的机器,但只能发送来自机器上运行的脚本的电子邮件。并且任何配置都必须通过重新启动来“存活”。
我在 Ubuntu (Hardy) 上使用 Postfix。
postfix ×2
smtp ×2
ubuntu ×2
email ×1
email-server ×1
iptables ×1
spam ×1
upstart ×1
web-server ×1