在共享主机上用 Laravel 发送邮件

Sending mail with Laravel on shared hosting

我正在尝试从我的网站发送邮件。

我正在使用 laravel 5.5 和 hostnet.nl 的共享主机。

我非常确定我的所有配置都是正确的..

我的.env :

MAIL_DRIVER=mail
MAIL_HOST=smtp02.hostnet.nl
MAIL_PORT=587
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_ENCRYPTION=TLS

但是当我尝试发送邮件时总是这样returns

糟糕,出错了:

proc_open() has been disabled for security reasons 我已经与托管公司聊天,他们说这不是允许更改的 php 设置。所以我无法启用它。

当我尝试设置 MAIL_DRIVER=smtp 时,它说连接被拒绝。

我在这个共享主机上有另一个 laravel installation/website,它具有相同的 MAIL_DRIVER=mail,并且运行良好。

此安装在 laravel 5.2.*

这是在 swiftmailer 内部从 laravel 5.2 更改为 5.5 的东西吗?

我不知道如何解决这个问题。

感谢任何帮助。

你应该尝试改变这个:

MAIL_DRIVER=mail

laravel 的邮件服务 (Laravel 5.5) 没有 "mail" 驱动程序,您可能会因为凭据错误而遇到 "smtp" 的问题。我认为 Laravel 5.2 可能在设置 "mail" 驱动程序时使用 php 的内置 "mail()" 函数,这可能在某些共享主机上工作而在其他主机上失败。

大多数共享主机提供商允许通过默认服务器发送 "sendmail" 所以您也可以试试这个:

MAIL_DRIVER=sendmail

如果您无法使 "sendmail" 或 "smtp" 正常工作,您可以尝试 "mailgun" 或任何其他外部邮件服务提供商。例如,Mailgun 每月为您提供 10,000 封免费邮件,因此您不需要任何付费订阅,而且设置教程非常简单,此外您还拥有用于监控已发送邮件的强大工具。