0

在我的机器上,我需要测试我的应用程序发送的邮件。我宁愿避免发送真正的邮件。

有没有办法让电子邮件内容以某种方式显示在屏幕上,可能是通过在 gedit 或任何文本编辑器中打开它?

也许就像替换用于启动“sendmail”的命令行?

我要的是 Linux 机器(更具体地说是 Ubuntu)。

4

2 回答 2

0

在项目中包含一种确定环境的方法,或者至少包含某种保存该信息的全局变量。

然后构建一个抽象邮件接口,如果它在生产服务器上运行,则发送真实邮件,但如果它在开发机器/环境上运行,则将它们记录到本地文件。作为一个日志包,我会推荐Monolog

这将允许您以不必关心环境的方式设计应用程序的其余部分(或至少是邮件发送组件)。

于 2013-08-08T08:29:25.457 回答
0

经过搜索,这是我得到的解决方案:

  • 创建一个将伪造 smtp 服务器的脚本

/usr/local/bin/sendmail-fake

#!/bin/bash
{
date
echo $@
cat
} >> /var/log/sendmail-fake.log
  • 配置PHP:

php.ini:

sendmail_path = /usr/local/bin/sendmail-fake

在此设置中,电子邮件被记录到一个文件中。可以修改脚本以将内容打开到浏览器中。

博客文章的更多详细信息。

于 2013-09-23T14:48:28.940 回答