【问题标题】:404 not found mailgun domain on laravel404 在 laravel 上找不到 mailgun 域
【发布时间】:2020-01-30 01:44:47
【问题描述】:

我实际上在 laravel 上的 mailgun 上苦苦挣扎,我在 laravel 6 上,我已经设置了身份验证并试图使密码重置功能正常工作。所以我决定使用mailgun作为邮件服务器,

这是我的 .env 文件:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:************
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=******
DB_USERNAME=******
DB_PASSWORD=******

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=postmaster@parisworld.ovh
MAIL_PASSWORD=*******
MAIL_ENCRYPTION=tls

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

mail.php:

<?php

return [
   'driver' => env('MAIL_DRIVER', 'mailgun'),
   'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
   'port' => env('MAIL_PORT', 587),
   'from' => [
        'address' => env('MAIL_FROM_ADDRESS', 'support@parisworld.ovh'),
        'name' => env('MAIL_FROM_NAME', 'Parisworld support'),
    ],
   'encryption' => env('MAIL_ENCRYPTION', 'tls'),
   'username' => env('MAIL_USERNAME'),
   'password' => env('MAIL_PASSWORD'),
   'sendmail' => '/usr/sbin/sendmail -bs',
   'markdown' => [
        'theme' => 'default',

        'paths' => [
            resource_path('views/vendor/mail'),
        ],
    ],
   'log_channel' => env('MAIL_LOG_CHANNEL'),
]

还有我的 services.php:

<?php

   return [
    'mailgun' => [
        'domain' => env('MAILGUN_DOMAIN', 'parisworld.ovh'),
        'secret' => env('MAILGUN_SECRET', '********'),
    ],

    'postmark' => [
        'token' => env('POSTMARK_TOKEN'),
    ],

    'ses' => [
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
    ],

];

我没有得到我真正缺少的东西,我配置了 mailgun 域并验证了 dns,mailgun 方面一切都很好,我什至可以使用 curl 方法给自己发送邮件但是当我尝试重置我的我的应用程序的密码我收到此错误:

Client error: `POST https://api.mailgun.net/v3/parisworld.ovh/messages.mime` resulted in a `404 NOT FOUND` response: { "message": "Domain not found: parisworld.ovh" } 

我希望这篇文章足够清楚,欢迎任何想法:)

【问题讨论】:

    标签: laravel authentication mailgun


    【解决方案1】:

    好吧,我找到了解决这个问题的方法,我在欧盟创建了我的帐户,默认情况下,当您引用 mailgun api url 时,smtp.maigun.org 对应于美国 api。所以 laravel 在欧盟注册时正在美国 api 中寻找域名 parisworld.ovh。 要使用 mailgun 的 eu api,您必须更改 .env(在我的情况下):

    MAIL_HOST=smtp.mailgun.org
    

    MAIL_HOST=smtp.eu.mailgun.org
    

    我不知道为什么,但我仍然有一个身份验证问题:

    为了解决这个问题,我只需要从 mailgun 界面重置我的 smtp 密码,将新密码粘贴到我的 .env 中,它现在可以工作了! 希望这篇文章对一些人有所帮助:)

    【讨论】:

      【解决方案2】:
      1. 在 Mailgun 域页面(例如 https://app.eu.mailgun.com/app/sending/domains)获取您的域区域;
      2. 检查域设置 -> DNS 记录;
      3. 编辑 .env 文件:

      .env 文件

      MAIL_DRIVER=mailgun
      MAILGUN_DOMAIN=mg.docm****.***
      MAILGUN_SECRET=d76da6b39e********
      
      # For EU Mailgun domain region
      MAILGUN_ENDPOINT=api.eu.mailgun.net
      
      # For US Mailgun domain region
      MAILGUN_ENDPOINT=api.mailgun.net
      

      关于端点https://documentation.mailgun.com/en/latest/api-intro.html#mailgun-regions的更多信息

      Mailgun: Domains page

      Mailgun: Domain Settings -> DNS records

      Mailgun: Domain Settings -> DNS records 2

      【讨论】:

        【解决方案3】:

        如果您在欧盟,您需要确保在 config/services.php 中设置以下内容

        'mailgun' => [
            'domain' => env('MAILGUN_DOMAIN'),
            'endpoint' => env('MAILGUN_ENDPOINT'),
            'secret' => env('MAILGUN_SECRET'),
        ],
        

        然后将以下内容添加到您的 .env 中

        MAILGUN_ENDPOINT=api.eu.mailgun.net
        

        然后

        php artisan config:cache
        

        【讨论】:

        • 谢谢!我在荷兰,这对我有用!
        猜你喜欢
        • 1970-01-01
        • 2016-09-19
        • 1970-01-01
        • 2019-12-02
        • 2020-09-02
        • 1970-01-01
        • 2017-01-03
        • 2020-03-26
        • 1970-01-01
        相关资源
        最近更新 更多