我想通过在我的虚拟框中在我的centos linux开发环境中安装MailHog来简化开发。 php mail()
函数不报告任何问题(即它返回TRUE),但传出的邮件没有出现在MailHog中。我应该如何正确设置它?在Linux虚拟框中安装MailHog以捕获外发电子邮件
1
A
回答
3
遵循以下步骤:
- 从https://github.com/mailhog/MailHog/releases下载相应版本MailHog。在本例中我使用
MailHog_linux_amd64
,但您可能需要不同的版本。我假设你使用你的主目录来存储你的文件。在可能的情况下,您不要这样做,请相应地进行必要的修改。 如果你的虚拟机使用IP过滤,那么你应该让与添加一行到的iptable配置和重新启动通过端口8025通讯:
vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8025 -j ACCEPT service iptables restart
启动MailHog用下面的命令:
./MailHog_linux_amd64 -hostname=mylocal.vbox:8025
其中mylocal.vbox是主机如何看到虚拟机的域名。现在您应该看到一些行,详细说明它使用哪些IP地址和端口。
从这里下载
mhsendmail
:https://github.com/mailhog/mhsendmail/releases。将其更改为可执行文件(相应地调整文件的路径):
chmod 777 /home/you/mhsendmail_linux_amd641
更改
php.ini
使用mhsendmail
而不是sendmail
:vim /etc/php.ini sendmail_path = "/home/you/mhsendmail_linux_amd64" service httpd restart
查看MailHog网从主机接口(使用我们上面使用的主机名):http://mylocal.vbox:8025/。 MailHog的webmail界面应该出现。
测试邮件从VM的命令行发送这个oneliner:
php -r "\$from = \$to = '[email protected]'; \$x = mail(\$to, 'subject'.time(), 'Hello World', 'From: '. \$from); var_dump(\$x);"
应该显示
true
和MailHog的Web界面应显示新的电子邮件。玩得开心,通过PHP的mail()函数发送尽可能多的电子邮件,只要你想。
一些更多的想法:
如果要覆盖默认的IP地址和端口设置,那么你应该使用以下语法:
./MailHog_linux_amd64 -ui-bind-addr=192.168.56.104:8026 -api-bind-addr=192.168.56.104:8026 -hostname=mylocal.vbox:8026 -smtp-bind-addr=192.168.56.104:8025
在这你将不得不在php中转义设置。ini这样:
sendmail_path = "/home/you/mhsendmail_linux_amd64 --smtp-addr=""192.168.56.104:8025"""
相关问题
- 1. Swift邮件无法捕获无效电子邮件的例外
- 2. 在outlook中捕获已发送电子邮件的事件
- 3. 虚拟机和apache的mint linux安装
- 4. 如何在NSIS安装程序中发送电子邮件?
- 5. SMTPAppender用虚拟帐户发送电子邮件
- 6. 例外,在发送电子邮件
- 7. 无法从linux发送电子邮件
- 8. 如何捕获电子邮件
- 9. 捕获Facebook电子邮件的脚本
- 10. 捕获电子邮件内容
- 11. C#来捕获Outlook电子邮件
- 12. 如何通过Ruby在Linux上的电子邮件发送电子邮件
- 13. 发送电子邮件-Iphone模拟器
- 14. 无法安装包 “电子邮件”
- 15. 在modern.ie虚拟机上安装软件
- 16. 发送电子邮件的SMTP例外
- 17. Windows虚拟PC开发安装程序?
- 18. 将网页捕获为图像通过电子邮件发送
- 19. 捕获电子邮件与Outlook发送从浏览器
- 20. 安卓发送电子邮件
- 21. 安排发送电子邮件
- 22. 如何以编程方式捕获电子邮件? (像posterous)
- 23. 发送电子邮件到文本框中的文本“电子邮件”
- 24. 检测USB设备安装/拆卸和发送电子邮件
- 25. Gitlab安装程序不发送电子邮件
- 26. linux邮件使用错误的域发送电子邮件
- 27. 使用SMTP在Linux中使用C发送电子邮件
- 28. 在Linux中使用SQL输出发送自动电子邮件
- 29. 确定电子邮件发件人并发送电子邮件
- 30. 在Python中捕获电子邮件回复消息