【问题标题】:Sending mail in local environment using Laravel 6 - getting an error:使用 Laravel 6 在本地环境中发送邮件 - 出现错误:
【发布时间】:2021-04-02 14:27:21
【问题描述】:

我尝试在本地使用 Laravel 发送邮件,但出现以下错误:

预期的响应代码为 250,但得到代码“530”,消息为“530 5.7.1 Authentication required”

每当我将文件上传到我的服务器时,邮件都可以正常工作。我只在本地开发环境中遇到此错误。

我的 config/mail.php 文件有以下内容:

'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'secure.emailsrvr.com'),
'port' => env('MAIL_PORT', 465),
'from' => [
    'address' => env('MAIL_FROM_ADDRESS', 'mypersonal@email.com'),
    'name' => env('MAIL_FROM_NAME', 'Me, Myself and I'),
],
'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
'username' => env('MAIL_USERNAME', 'mypersonal@email.com'),
'password' => env('MAIL_PASSWORD', '••••••')

我的 .env 文件包含以下内容:

MAIL_DRIVER=smtp
MAIL_HOST=secure.emailsrvr.com
MAIL_PORT=465
MAIL_USERNAME=mypersonal@email.com
MAIL_PASSWORD=••••••
MAIL_ENCRYPTION=ssl

我正在为我的电子邮件服务器使用 Rackspace,并仔细检查了主机和端口是否正确。我的用户名和密码也已验证正确。再一次 - 我对它们的正确性感到放心,因为当我在服务器上尝试时,电子邮件发送得很好。

另外,我做了以下工作:

  • 每次调整后运行 php artisan config:cache
  • 通过CTRL+C重启服务器,然后php artisan serve
  • 尝试使用其他邮件服务器,例如 mailgun、mailtrap.io 和 gmail。该服务似乎无关紧要,因为无论如何我都会遇到同样的错误。
  • 已尝试同时使用 tls 和 ssl 进行加密。

关于我还能做些什么来解决这个问题的任何想法?

T.I.A.

【问题讨论】:

  • MAIL_ENCRYPTION=ssl 你本地有 ssl 吗?系统

标签: php laravel email local


【解决方案1】:

看起来,尽管如此,它仍然是一个持久的缓存问题。

当服务器停止时,默认端口从 8000 更改为 8001,一切似乎都正常。

感谢@anas omush 的帮助。

【讨论】:

    【解决方案2】:

    运行此命令

    php artisan config:clear 
    

    然后重启你的本地服务器,同时在本地使用 mailtrap.io

    当您运行 config:cache 时,您正在缓存的配置不清楚。 Laravel Doc

    【讨论】:

    • 很棒的提示。我没有意识到 config:cache 没有清除配置。也就是说 - 我尝试了这个,但仍然遇到同样的错误。另外 - 根据您的回复,我将 .env 文件中的所有内容更改为以下内容: MAIL_MAILER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=cfc934687b12cd MAIL_PASSWORD=•••••• MAIL_ENCRYPTION=tls 更改后.env 文件,我做了 config:clear、cache:clear、view:clear、route:clear,然后重新启动了服务器。唉 - 仍然得到同样的错误:-(
    • 什么是 MAIL_MAILER?必须是 MAIL_DRIVER
    • 对不起。那实际上是 mailtrap 直接提供的代码。我想知道同样的事情。我决定试一试,以防万一。但不幸的是,MAIL_MAILER 和 MAIL_DRIVER 都不会产生不同的结果。
    • 我可以使用 anydesk 访问您的设备吗?
    • config:cache 调用config:clear 然后缓存配置
    【解决方案3】:

    从您所说的一切来看,我认为您的配置没有任何问题,emailsrvr.com 只是拒绝来自未注册或未验证域名的连接,这是您的本地主机,他们这样做是为了停止滥用他们的服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 2020-05-30
      • 2020-07-16
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      相关资源
      最近更新 更多