在我的机器上,我需要测试我的应用程序发送的邮件。我宁愿避免发送真正的邮件。
有没有办法让电子邮件内容以某种方式显示在屏幕上,可能是通过在 gedit 或任何文本编辑器中打开它?
也许就像替换用于启动“sendmail”的命令行?
我要的是 Linux 机器(更具体地说是 Ubuntu)。
在项目中包含一种确定环境的方法,或者至少包含某种保存该信息的全局变量。
然后构建一个抽象邮件接口,如果它在生产服务器上运行,则发送真实邮件,但如果它在开发机器/环境上运行,则将它们记录到本地文件。作为一个日志包,我会推荐Monolog。
这将允许您以不必关心环境的方式设计应用程序的其余部分(或至少是邮件发送组件)。
经过搜索,这是我得到的解决方案:
/usr/local/bin/sendmail-fake
:
#!/bin/bash
{
date
echo $@
cat
} >> /var/log/sendmail-fake.log
php.ini:
sendmail_path = /usr/local/bin/sendmail-fake
在此设置中,电子邮件被记录到一个文件中。可以修改脚本以将内容打开到浏览器中。
博客文章的更多详细信息。