MAMP 上的 php 邮件

2022-08-30 22:26:27

我需要使用PHP的邮件测试一些脚本。我希望最终能够在本地工作。我正在使用MAMP。有没有办法在不安装任何第三方软件的情况下做到这一点?

我对此进行了一些搜索,但没有找到任何吸引人的东西。

谢谢


答案 1

您是专门尝试测试邮件的发送,还是测试代码的其余部分?

对于前者,您需要配置:

 SMTP = smtp.example.com
 smtp_port = 25
 sendmail_from = me@example.com

在你的 php.ini 文件中(用 phpinfo()检查它的位置),替换适当的值。

要测试发送邮件过程以外的代码,我建议创建2个包含文件:

<?php
// for live usage/mail send testing
function ori_mail()
{
   return call_user_func_array('mail',func_get_args());
}

并用于测试其他代码

function ori_mail()
{
   file_put_contents('debug_mail_scripts.txt'
       ,date('r') . ':' . var_export(func_get_args(), true)
       , FILE_APPEND);
}

并将相关内容包含在您的测试中。

请注意,测试与 SMTP 服务器的集成以及测试代码的可交付性相当复杂,但应独立于测试 PHP 来完成。

C.


答案 2

你可能需要考虑 Swift Mailer 库

http://swiftmailer.org/

它使从PHP代码发送电子邮件变得更加可靠。您甚至可以将邮件脚本指向真正的 SMTP 服务。这可以消除从本地环境迁移到生产环境时遇到的许多问题。

使用 swift mailer 就像在 PHP 脚本顶部使用单个包含并编写代码块以发送简单消息一样简单。而且它是完全面向对象的。


推荐