【问题标题】:How to test php mail() function locally on Homestead如何在 Homestead 本地测试 php mail() 函数
【发布时间】:2015-11-08 21:53:30
【问题描述】:

我对 php 非常陌生,正在尝试在本地测试 mail() 函数。我使用 Homestead/Laravel 作为本地服务器。我的 php.ini 文件只有一行,我打开调试。那里的任何 Homestead/Laravel 人都知道如何编辑我的文件以便我可以在本地测试电子邮件?注意:我在邮件功能前添加了 echo 以查看它是否正常工作。

<?php
$emailTo = "test@gmail.com";
$subject = "Testing out PHP";
$body = "Huzzah";
$headers = "From: test@test.co.uk";

echo mail($emailTo, $subject, $body, $headers);    
?>

【问题讨论】:

  • 是的,一样。目前尚不清楚它是否应该起作用。
  • 好的。我尝试了宅基地,但没有用,我尝试了 AWS 托管帐户,但它有效。因此我认为它不应该从宅基地发送电子邮件。不过,我不知道它是否可以修复。

标签: php email homestead


【解决方案1】:

还有更有用的东西 - Mailhog

文档说:

Mailhog 可让您轻松捕获外发电子邮件并进行检查 没有实际将邮件发送给收件人。开始, 更新您的 .env 文件以使用以下邮件设置:

MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

配置 Mailhog 后,您可以访问 Mailhog 仪表板 在http://localhost:8025

在我看来真的很好。

【讨论】:

  • 正确答案!
【解决方案2】:

用途:

  • 日志驱动程序

    project/config/mail.php中,设置邮件驱动为log

    'driver' => env('MAIL_DRIVER', 'log'),
    

    然后检查您的日志文件中的电子邮件:project/storage/logs/*.log

  • 一个通用的收件人地址(并将所有内容发送给您自己)

  • 一个虚拟邮箱

查看此链接了解更多信息:http://laravel.com/docs/5.1/mail#mail-and-local-development

【讨论】:

  • 非常感谢!实际上,我认为我的问题并不清楚。我遇到的问题是这些电子邮件根本没有发送。我发现让他们在本地发送,但目前他们根本不会发送。
  • 最好把它放在.env 文件而不是config/mail.php
猜你喜欢
  • 2014-06-12
  • 2011-07-17
  • 2011-05-28
  • 2016-02-26
  • 2019-07-28
  • 1970-01-01
  • 2014-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多