【发布时间】:2018-09-15 16:55:41
【问题描述】:
可以这么说,我想给自己发一封电子邮件。 我基本上有一个表格,如果用户点击提交,我想接收并通过电子邮件发送正确的信息。
到目前为止,我在 .env 文件中关联了我的 gmail 帐户:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=mygmail@gmail.com
MAIL_PASSWORD=mypw
MAIL_ENCRYPTION=ssl
我也允许安全应用并为此生成密码。
此外,我创建了一个 Mailable 类,如下所示:
class InquirySent extends Mailable
{
use Queueable, SerializesModels;
public $data;
public function __construct($data)
{
$this->data = $data;
}
public function build()
{
return $this->from($this->data['email'])
->view('emails.contacts.inquiry');
}
}
在我的 ContactController 中,我执行以下操作:
public function sent(ContactRequest $request)
{
$data = $request->all();
Mail::to(env('MAIL_USERNAME'))->send(new InquirySent($data));
}
但我收到此错误:
异常:“Swift_TransportException”文件: "D:\laragon\www\tom\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php" 行:269 消息:“无法与主机建立连接 smtp.googlemail.com [#0]"
【问题讨论】:
-
那个异常很清楚。您无法通过该端口连接到该服务器上的
smtp.googlemail.com。 -
@tadman 所以需要哪个端口
-
尝试使用 mailtrap 进行测试,使用 sparkpost 进行直播。比谷歌更容易设置。
-
我的意思是这可能是某种防火墙问题,或者可能是配置错误。除非与网络相关的问题,否则您在这里所拥有的应该可以工作 as per examples。
标签: php laravel email gmail laravel-5.6