我需要测试一个使用PHP邮件的函数
如何在不上载脚本到服务器并在线测试的情况下做到这一点?
更重要的是,我正在开发没有互联网连接。
我在Mac OSX上从XAMPP运行localhost。从localhost测试PHP的邮件功能
回答
在本地机器上安装pop3服务器。许多免费提供。 并使用sendmail在本地域内发送邮件。
默认情况下,它不需要在Linux中设置sendmail路径。至少我从不需要它。 只是使用邮件()功能,并打本地域上的邮件
嗯。我还没有尝试过,但在php.ini中,你可以设置“sendmail_path”...所以理论上你可以编写自己的shell脚本,只需将输入写入文本文件,并改变你的php.ini使用它?然后只需运行测试并检查文本文件!
您不必在计算机上安装MTA以测试PHP的mail()
函数。在基于Unix的系统(Linux,* BSD,OS X等)上,您可以将sendmail_path
设置为tee mail.out > /dev/null
。这会将电子邮件(包括标题)放在一个名为mail.out
的文件中。
这里是它如何工作的例子:
[email protected]:~$ cat | php -d sendmail_path='tee mail.out > /dev/null'
<?php
mail('[email protected]', 'the subject', 'the body');
?>
[email protected]:~$ cat mail.out
To: [email protected]
Subject: the subject
X-PHP-Originating-Script: 1000:-
the body
您可以设置sendmail_path
在php.ini
文件。如果要将电子邮件附加到文件而不是每次都覆盖,则可以使用tee -a
而不是仅使用tee
。
测试一个很好的和简单的解决方案:
http://blogs.bigfish.tv/adam/2009/12/03/setup-a-testing-mail-server-using-php-on-mac-os-x/
更新的链接: https://github.com/ifunk/smtp-catcher
只是在我的开发机器上设置。非常有用 - 谢谢! – 2012-08-22 10:47:24
这个的任何非mac版本? – AlxVallejo 2012-09-05 21:43:11
页面末尾有一个小窗口部分。在其他Unix系统上,我认为你可以像Mac一样解决它。 – biziclop 2012-09-06 06:13:47
要测试从阿帕奇发送电子邮件请执行下列操作
创建来存储邮件的文件夹。
/home/username/Documents/TestEmails
给予apache许可。从Documents文件夹,运行
sudo chgrp -R www-data TestEmails
修改php.ini文件,矿井位于
/etc/php5/apache2/php.ini
sendmail_path设置
sendmail_path ='cat > /home/username/Documents/TestEmails/mail.txt'
重启apace2
sudo service apache2 restart
如果我使用MAMP服务器软件在本地主机上开发,该怎么办? – Nathan 2014-01-04 09:26:15
对我来说最好的答案是下面这个(http://stackoverflow.com/a/3176517/1130803),因为它使用'tee'而不是'cat',它在OSX中给出了一个'Invalid argument'错误。如果使用MAMP,我猜想同样的建议适用,只是改变你的php.ini所在的路径。 – 2015-04-26 02:33:58
这适用于我,但只是从CLI脚本;但不是来自Web服务。除了重新启动apache之外,还有什么我需要做的吗? – orlybg 2015-08-31 17:20:54
- 1. MAMP localhost Symfony邮件功能
- 2. PHP测试功能
- 3. 如何在功能测试测试电子邮件(Symfony2的)
- 4. 邮件功能的单元/功能测试
- 5. PHP邮件功能
- 6. 功能邮件()PHP
- 7. Php邮件功能
- 8. php邮件功能
- 9. 在本地主机上测试php邮件功能
- 10. 如何测试PHP邮件()是否已成功传递邮件
- 11. PHP中的邮件功能
- 12. PHP的邮件功能
- 13. php中的邮件功能
- 14. php的邮件功能
- 15. PHP的邮件功能
- 16. PHP SwiftMailer Localhost测试设置
- 17. 使用PHP从Localhost发送邮件
- 18. 如何测试PHP邮件功能而不邮寄到实际地址
- 19. php邮件功能 - 邮件获取/
- 20. 从邮件功能中的地址进行PHP邮件设置
- 21. PHP的邮件功能错误,从邮件地址错误
- 22. 如何从游戏功能测试功能测试
- 23. PHP邮件功能安全
- 24. PHP邮件功能问题
- 25. PHP邮件功能要求
- 26. 使用PHP邮件功能
- 27. Html在PHP邮件功能
- 28. PHP发送邮件功能
- 29. PHP邮件功能延迟
- 30. HTML在PHP邮件功能
能”你只需从本地主机运行你的脚本? – 2010-07-04 17:09:51