首先,我对这种本地主机服务器设置完全陌生,我花了几天时间试图弄清楚这一点,但没有运气。
我正在开发一个php网站与电子邮件表单。
我在MAC上使用codekit和MAMP FREE,一切都很好。现在我的问题是,是否可以测试应该从本地表单发送的电子邮件?
我尝试了很多例子,如取消评论php.ini
文件中的[mail function]
位,安装第三方应用程序,如fakeSMTP和MockSMTP,但绝对没有工作。mailto()
代码应该工作,因为当我调试它时没有抛出错误
这可能吗?有谁知道怎么正确设置这个或者能给我一个防傻指南吗?
好吧,如果有人对这个感兴趣,我终于找到了一个让它工作的方法。
我将在这里一步一步的详细教程中解释它。
- MAMP pro
- 工作gmail帐户,因为您实际上需要登录到电子邮件帐户收件箱(我使用gmail使其工作,不确定其他人)
循序渐进教程
- 首先,您需要安装mamp pro。在后缀选项卡中,将
完成后,您需要打开终端并输入
sudo nano /System/Library/LaunchDaemons/org.postfix.master.plist
(这将允许您编辑org.postfix.master.plist文件,否则不可编辑。你唯一要做的编辑是在
<dict>
之后的顶部添加<key>Disabled</key>
现在关闭终端并重新启动mac。
- 重启后,打开MAMP,进入要测试邮件的网站,提交邮件。
gmail.com
添加为外发邮件的域,然后单击按钮"Use this data"
注意:对于
to
部分使用一个工作帐户是很重要的,否则您将无法测试mail()
函数电子邮件!
- 在前端什么都没有发生,但是如果你现在打开MAMP -> postFix选项卡,在底部你可以看到日志文件的路径和一个箭头,点击箭头,它将显示一条日志消息。
- 向下滚动直到最后一行,在那里你应该找到一些说
status:sent
的东西。此状态发送意味着电子邮件已发送,并且本地测试按预期工作
接下来是什么?
- Ok,现在登录到您的gmail帐户(您在
mail()
函数 中用于 - 转到垃圾邮件,你应该看到你刚刚从本地机器发送的电子邮件。
to
部分的帐户)我正在使用它,它实际上工作得很好
快速提示
之后,我在我的gmail收件箱中做了一些调整,添加了别名和过滤器。我将解释这一点,因为它可能对初学者有用
- 从您的pc登录到您的gmail帐户
- 进入右上方的齿轮图标,然后进入设置
- 在帐户和导入中,添加另一个帐户用作别名(在我的情况下是
[myemailaddress]+test@gmail.com
) 完成后,转到过滤器选项卡 - 添加一个新的过滤器,并设置它影响所有的电子邮件到
[myemailaddress]+test@gmail.com
- 点击继续进入下一画面
- 现在,在这里你可以根据你的喜好来调整它,但重要的是要检查永远不要把它发送到垃圾邮件,这样你就总是能够看到你想测试的电子邮件。(我的个人设置是跳过收件箱(存档)并添加一个特定的标签)
就是这样!