我正在开发一些 HTML 电子邮件模板,并有一个内部测试工具,可以将测试电子邮件发送到我自己的电子邮件地址以用于 QA 目的。
不幸的是,该工具的设置页面允许设置邮件服务器和端口,但没有用户名和密码字段,并且似乎依赖于邮件服务器作为开放中继。
我无法访问这样的服务器,所以我需要在本地运行的虚拟机中设置一个。什么是最快、最简单的方法来实现这一点?我以前从未安装或配置过邮件服务器,尽管我习惯从命令行使用 Linux 并从源代码配置/编译或安装软件包等。
更新:
我使用在 VirtualBox 中的 Debian VM 上运行的 Postfix 实现了此功能,并对我的 /etc/postfix/main.cf 文件进行了以下更改:
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
mydomain = my.immutable.domain.com
relay_domains = my.email.domain.com
..其中 my.immutable.domain.com 是测试客户端应用程序使用的发送地址的域名(无法编辑),而 my.email.domain.com 是电子邮件发送到的我个人电子邮件地址的域名。
答案1
不,允许无需用户名和密码进行中继的服务器不一定是开放中继。您可以使用发件人 IP 地址限制来控制中继功能。
您将获得许多有关安装 MTA 的建议;我自己喜欢 Postfix,它预先打包在我见过的每个 Linux 发行版中,并且可以非常直接地根据您的需要将其设置为中继或不中继(参见配置参数mynetworks
)。