使用php邮件功能发送电子邮件,电子邮件不会被发送,也不会产生错误

时间:2016-11-24 13:08:52

标签: php laravel

我正在使用Laravel,我想使用php邮件功能。我试过这个:

$headers =  'MIME-Version: 1.0' . "\r\n";
$headers .= 'From: Your name <info@address.com>' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail('myaddress@gmail.com', 'My Subject', 'test', $headers);

但是至少没有发送电子邮件我没有收到它检查垃圾邮件文件夹并且它不在那里我执行此代码时没有收到任何错误消息。

php邮件功能用来发送邮件是什么?也许我错过了配置?

此外,我没有运行本地,我已将其上传到运行Ubuntu 16.04.1 LTS的VPS

2 个答案:

答案 0 :(得分:1)

如果我是你,那么我会先尝试检查错误,然后再调试:

确保启用错误报告并将其设置为报告所有错误

error_reporting(-1);
ini_set('display_errors', 'On');
set_error_handler("var_dump");



$headers =  'MIME-Version: 1.0' . "\r\n";
$headers .= 'From: Your name <info@address.com>' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";    

$status = mail('myaddress@gmail.com', 'My Subject', 'test', $headers);

if($status)
{ 
  echo '<p>Your mail has been sent!</p>';
 } else { 
 echo '<p>Something went wrong, Please try again!</p>'; 
}

答案 1 :(得分:0)

可能是因为.env文件选项会覆盖您的<div class="info"> Some content from database here... <div class="more"> Some more text... </div> </div> 选项。从.env中删除所有重复的选项,并检查邮件驱动程序&#39; MAIL_DRIVER&#39;在.env。它应该是 MAIL_DRIVER = smtp

Answer reference