【问题标题】:Laravel mailgun getting email response success but i am not able to get the mailLaravel mailgun 获得电子邮件响应成功,但我无法收到邮件
【发布时间】:2018-01-18 11:39:34
【问题描述】:

我正在开发 laravel mailgun 功能,我为此编写了代码,当我发送邮件时,我没有收到任何错误响应,它说成功,但我没有收到任何 gmail 电子邮件,谁能帮助我,我该如何解决这个问题,这是我的 laravel mailgun 代码,

Route::get('send_test_email', function(){
    Mail::raw('Sending emails with Mailgun and Laravel is easy!', function($message)
    {
            try {
                //$this->buildXMLHeader;
                $message->subject('Mailgun and Laravel are awesome!');
        $message->to('*****@gmail.com');
                if(count(Mail::failures()) > 0) {
                    echo "<pre>";
                    print_r(Mail::failures());
                    die;

         }
                echo "SUCCESS";exit;
              }
              catch (\Exception $e) {
                  return $e->getMessage();
              }

    });
});

.env 代码:

MAIL_DRIVER=mailgun
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

【问题讨论】:

  • 你用的是什么版本的laravel?
  • 我认为您发布的 .env 只是一个示例,而不是您使用的实际配置对吗?
  • @EstebanGarcia 即便如此,仍需要更改配置
  • @EstebanGarcia 我正在使用 laravel 5.5.22 版
  • @EstebanGarcia 这是实际配置,我需要更改它吗?

标签: php laravel laravel-5.2 mailgun


【解决方案1】:

直接取自 Laravel 文档

邮筒驱动程序 要使用 Mailgun 驱动程序,首先安装 Guzzle,然后将 config/mail.php 配置文件中的驱动程序选项设置为 mailgun。接下来,验证您的 config/services.php 配置文件是否包含以下选项:

'mailgun' => [
    'domain' => 'your-mailgun-domain',
    'secret' => 'your-mailgun-key',
],

问题似乎是您的 env 配置根本没有设置为使用 mailgun。您已将域和密码添加到您的 env 文件中

MAILGUN_DOMAIN=xxxxx
MAILGUN_SECRET=xxxxx

然后你可以使用这里描述的邮件https://laravel.com/docs/5.5/mail#configuring-the-sender

【讨论】:

  • 据我所知,laravel 5.5 不支持原始邮件
  • 您需要使用 php artisan make:mail {name} 生成一个可邮寄的类,然后使用 Mail 门面发送邮件
  • 它在我的开发服务器上工作,问题在我的登台服务器上
  • php artisan make:mail {name} 我需要在名称中传递什么?
  • 暂存服务器上是否安装了 guzzle?
猜你喜欢
  • 2023-03-15
  • 2017-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-30
  • 2016-07-23
  • 1970-01-01
相关资源
最近更新 更多