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

时间:2017-11-14 16:45:58

标签: php laravel email laravel-5.5

我试图从我的网站发送邮件。

我使用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

但是当我尝试发送邮件时,总是返回

哎呀有错误:

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

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

我在这个共享主机上有另一个laravel安装/网站,它具有相同的MAIL_DRIVER=mail,这非常有效。

此安装位于laravel 5.2。*

这是swiftmailer内部从laravel 5.2变为5.5的东西吗?

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

感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您应该尝试更改此内容:

MAIL_DRIVER=mail

没有"邮件" laravel的邮件服务(Laravel 5.5)的驱动程序,你可能会遇到问题" smtp"因为凭据错误。我认为Laravel 5.2可能正在使用php的内置" mail()"当"邮件"设置了驱动程序,可以在某些共享主机上运行,​​在其他主机上运行失败。

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

MAIL_DRIVER=sendmail

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