如何使用邮件枪

时间:2017-07-31 11:42:08

标签: laravel email mailgun

我使用以下代码发送电子邮件

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 addressname

  

test@example.com

我该如何解决这个问题?请提出任何建议!

5 个答案:

答案 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记录,以便您的邮件提供商可以验证是否允许邮件代表您的域发送电子邮件。

http://mailgun-documentation.readthedocs.io/en/latest/faqs.html#email-clients-say-sent-via-mailgun-us-with-messages-i-send-how-do-i-get-rid-of-this