"来自电子邮件"在laravel 5.3中没有工作

时间:2016-09-19 09:55:59

标签: php laravel email

这是我的代码:

Mail::send('view',$dataView, function($message) use ($user)
{
    $message->from('my_email@gmail.com', 'Myname');
    $message->subject('This is title');
    $message->to(sender_email@gmail.com, $user->user_username);
});

有效!但当我检查sender_email@gmail.com时,我会看到"来自电子邮件"我在.env(MAIL_USERNAME)中配置,它不是来自电子邮件"#34;在代码(my_email@gmail.com),如何将其更改为my_email@gmail.com?谢谢,抱歉我的英语。

3 个答案:

答案 0 :(得分:1)

在第{58}行的config/mail.php中,尝试更改:

'from' => [
    'address' => 'hello@example.com',
    'name' => 'Example',
],

为:

'from' => [
    'address' => env('MAIL_USERNAME'),
    'name'    => env('MAIL_USERNAME')
],

答案 1 :(得分:0)

您正尝试通过动态发件人发送电子邮件,Gmail不允许发送电子邮件以阻止发送垃圾邮件,因此Gmail会自动将您的发件人地址更改为默认地址。

答案 2 :(得分:0)

我猜您误解了MAIL_USERNAME文件中的.env
基本上,Laravel提供了通过动态发件人发送电子邮件的简单解决方案。假设您已注册MailGunSendGrid以发送邮件,MAIL_USERNAME是您的邮件提供商的用户名,而不是您的sender邮件地址。 (不是Gmail,因为Gmail不支持动态发件人。如果您正在测试邮件,那就太好了。) 所以,你.env将会是这样的。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_USERNAME=sendgridUsername
MAIL_PASSWORD=sendgridPassword
MAIL_ENCRYPTION=tls

现在,您已有资格使用sendgrid发送邮件。现在假设您的域名为example.com,因此您可以使用admin@example.com support@example或您域中的任何电子邮件地址发送电子邮件。

要接收邮件,请使用网络邮箱或Gmail

希望这有帮助。