使用 mamp 在本地测试电子邮件
Test emails locally with mamp
首先,我对这种本地主机服务器设置完全陌生,过去几天我一直在尝试解决这个问题,但没有成功。
我正在开发一个带有电子邮件表单的 php 网站。
我正在 MAC 使用 codekit 和 MAMP FREE一切正常。现在我的问题是,是否可以在本地测试应该从表单发送的电子邮件?
我试过很多例子,比如取消注释 php.ini
文件中的 [mail function]
位,安装像 fakeSMTP 和 MockSMTP 但绝对没有任何效果。 mailto()
代码应该可以工作,因为当我调试它时没有抛出任何错误
可以吗?谁知道如何正确设置它,或者可以指点我一个简单的指南?
好吧,如果有人对此感兴趣,我终于找到了一种让它工作的方法。
我将在详细的分步教程中进行解释。
Requirements
- MAMP 专业版
- 工作的 gmail 帐户因为你实际上需要登录到电子邮件帐户收件箱(我使用 gmail 使其工作,不确定其他人)
Step-by-step tutorial
- 首先,您需要安装 mamp pro。在后缀选项卡中,添加
gmail.com
作为外发电子邮件的域,然后单击按钮 "Use this data"
完成后,您要打开终端并输入
sudo nano /System/Library/LaunchDaemons/org.postfix.master.plist
(这将允许您编辑 org.postfix.master.plist 文件,否则无法编辑。
您唯一想要做的编辑是在顶部添加,就在 <dict>
之后,这一行 <key>Disabled</key>
现在关闭终端并重启你的mac。
- 重启后,打开MAMP,进入你要测试邮件的网站,提交邮件。
NB: It is important that you use a working account for the to
section
of the mail()
function, otherwise you won't be able to test the
emails!
- 前端没有任何反应,但是如果你现在打开 MAMP -> postFix 选项卡,在底部你可以看到日志文件的路径和一个箭头,点击箭头,它会显示一条日志消息.
- 向下滚动到最后一行,您应该会在其中找到
status:sent
。此状态已发送意味着电子邮件已发送并且本地测试按预期工作
What's next?
- 好的,现在登录到您的 gmail 帐户(您在
mail()
函数 中用于 to
部分的帐户
- 转到垃圾邮件,您应该会看到刚刚从本地 machine 发送的电子邮件。
我正在使用它,它实际上运行良好。
Quick tip
在此之后,我对我的 gmail 收件箱做了一些调整,添加了一个别名和一个过滤器。
我将对此进行解释,它可能对初学者有用
- 从您的电脑登录您的 gmail 帐户
- 转到右上角的齿轮图标,然后转到设置
- 在帐户和导入中,添加另一个帐户用作别名(在我的例子中是
[myemailaddress]+test@gmail.com
)
- 完成后,转到过滤器选项卡
- 添加新过滤器并将其设置为影响发送至
[myemailaddress]+test@gmail.com
的所有电子邮件
- 点击继续进入下一个画面
- 现在,您实际上可以根据自己的喜好对其进行调整,但重要的是不要将其发送到垃圾邮件,这样您将始终能够看到您喜欢的电子邮件测试。 (我的个人设置是跳过收件箱(存档)并添加特定标签)
就是这样!希望这已经足够清楚了,并且对你们中的一些人有所帮助。
首先,我对这种本地主机服务器设置完全陌生,过去几天我一直在尝试解决这个问题,但没有成功。
我正在开发一个带有电子邮件表单的 php 网站。
我正在 MAC 使用 codekit 和 MAMP FREE一切正常。现在我的问题是,是否可以在本地测试应该从表单发送的电子邮件?
我试过很多例子,比如取消注释 php.ini
文件中的 [mail function]
位,安装像 fakeSMTP 和 MockSMTP 但绝对没有任何效果。 mailto()
代码应该可以工作,因为当我调试它时没有抛出任何错误
可以吗?谁知道如何正确设置它,或者可以指点我一个简单的指南?
好吧,如果有人对此感兴趣,我终于找到了一种让它工作的方法。
我将在详细的分步教程中进行解释。
Requirements
- MAMP 专业版
- 工作的 gmail 帐户因为你实际上需要登录到电子邮件帐户收件箱(我使用 gmail 使其工作,不确定其他人)
Step-by-step tutorial
- 首先,您需要安装 mamp pro。在后缀选项卡中,添加
gmail.com
作为外发电子邮件的域,然后单击按钮"Use this data"
完成后,您要打开终端并输入
sudo nano /System/Library/LaunchDaemons/org.postfix.master.plist
(这将允许您编辑 org.postfix.master.plist 文件,否则无法编辑。您唯一想要做的编辑是在顶部添加,就在
<dict>
之后,这一行<key>Disabled</key>
现在关闭终端并重启你的mac。
- 重启后,打开MAMP,进入你要测试邮件的网站,提交邮件。
NB: It is important that you use a working account for the
to
section of themail()
function, otherwise you won't be able to test the emails!
- 前端没有任何反应,但是如果你现在打开 MAMP -> postFix 选项卡,在底部你可以看到日志文件的路径和一个箭头,点击箭头,它会显示一条日志消息.
- 向下滚动到最后一行,您应该会在其中找到
status:sent
。此状态已发送意味着电子邮件已发送并且本地测试按预期工作
What's next?
- 好的,现在登录到您的 gmail 帐户(您在
mail()
函数 中用于 - 转到垃圾邮件,您应该会看到刚刚从本地 machine 发送的电子邮件。
to
部分的帐户
我正在使用它,它实际上运行良好。
Quick tip
在此之后,我对我的 gmail 收件箱做了一些调整,添加了一个别名和一个过滤器。 我将对此进行解释,它可能对初学者有用
- 从您的电脑登录您的 gmail 帐户
- 转到右上角的齿轮图标,然后转到设置
- 在帐户和导入中,添加另一个帐户用作别名(在我的例子中是
[myemailaddress]+test@gmail.com
) - 完成后,转到过滤器选项卡
- 添加新过滤器并将其设置为影响发送至
[myemailaddress]+test@gmail.com
的所有电子邮件
- 点击继续进入下一个画面
- 现在,您实际上可以根据自己的喜好对其进行调整,但重要的是不要将其发送到垃圾邮件,这样您将始终能够看到您喜欢的电子邮件测试。 (我的个人设置是跳过收件箱(存档)并添加特定标签)
就是这样!希望这已经足够清楚了,并且对你们中的一些人有所帮助。