我使用以下代码发送电子邮件
Mail::send('emails.sample',[],function($message) use($attachment,$filename)
{
$message->subject('PDF is generated !');
$message->from('test@example.com', 'Example');
$message->to('user@gmail.com');
$message->attachData($attachment,$filename,array('mime'=>'application/pdf','Content-Disposition'=>'attachment'));
});
但收到电子邮件后,发件人的电子邮件地址就像这样
test=example.com@mailgun.org代表示例test@example.com
但它应该像email address
或name
test@example.com
我该如何解决这个问题?请提出任何建议!
答案 0 :(得分:3)
对于仍在阅读此内容的人来说,这是因为您需要设置"发件人"地址。 Gmail似乎并不关心,但Outlook确实如此。
$message->sender(config('mail.from.address'));
答案 1 :(得分:1)
您可以在.env
中添加它们:
MAIL_FROM_ADDRESS=from@domain.com
MAIL_FROM_NAME=From Name Surname
或者,如果您将其保留为空白,则仍可以在config/mail.php
中进行更改,此处替换为您的
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'info@idesk.com'),
'name' => env('MAIL_FROM_NAME', 'IDesk'),
],
起初您会看到config/mail.php
,请尝试从.env
读取它,应使用.env
答案 2 :(得分:-1)
在config / mail.php中
从属性设置为:
'from' => ['address' => 'test@example.com', 'name' => 'Anything you Want']
答案 3 :(得分:-1)
您使用沙盒吗?因为我也使用带有沙箱的邮件枪而且我没有遇到这个问题
MAIL_DRIVER=mailgun
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=postmaster@sandbox3940xxxxxxxxxxxxxxxxxx.mailgun.org
MAIL_PASSWORD=xxxxxxxxxxxxxxxxxxxxxx
MAIL_ENCRYPTION=tls
MAILGUN_DOMAIN=sandboxxxxxxxxxxxxxxxxxxxfaf6.mailgun.org
MAILGUN_SECRET=key-xxxxxxxxxxxxxxxxxxxxxxxxx
答案 4 :(得分:-1)
您需要设置一些DNS记录,以便您的邮件提供商可以验证是否允许邮件代表您的域发送电子邮件。