这是我的代码:
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?谢谢,抱歉我的英语。
答案 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提供了通过动态发件人发送电子邮件的简单解决方案。假设您已注册MailGun或SendGrid以发送邮件,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。
希望这有帮助。