代码之家  ›  专栏  ›  技术社区  ›  ts.

如何使用PHPUnit测试mail()

  •  6
  • ts.  · 技术社区  · 16 年前

    如果邮件发送正确,是否有方法使用PHPUnit(或者其他PHP测试框架)进行测试?我必须测试一个使用PHP函数mail()的代码。有了自定义的mailer类,我总是可以做一个模拟,但是对于mail()?也许有一些插件可以使用IMAP并验证是否收到邮件?(如果可能的话,它应该是操作系统不可知的……)

    3 回复  |  直到 16 年前
        1
  •  6
  •   Artefacto    16 年前

    我看不出测试的意义 mail()

        2
  •  0
  •   Luke Mon    11 年前

    有一个名为MailCatcher的项目可以帮助您确保您的电子邮件(a)已发送,(b)按预期构建(它包含您放入其中的内容)。 注意:此程序不验证您的电子邮件是否可接收(即:未标记为垃圾邮件或邮件服务器因其他原因拒绝)

    要使用API,您需要像Guzzle这样的东西来进行HTTP调用。 http://mailcatcher.me/

    http://codeception.com/12-15-2013/testing-emails-in-php.html

        3
  •  -3
  •   Sarfraz    16 年前

    有没有办法用PHPUnit测试 (或者其他测试框架 PHP)邮件是否正确发送?

    ,您不需要phpunit,只需要:

    mail(.....) or die('Could not send the email !!');
    

    或者

    if (!mail(......)){
      echo 'Could not send the email !!';
    }
    

    这将告诉您邮件是否已发送,而不是邮件是否已收到。所以更好的说法应该是 .