无法从 Homestead 上的 Laravel 6 连接到邮件服务器

问题描述

[更新]

我已经尝试在 Windows 上使用 wamp,但仍然无法连接到 smtp.mailtrap.io


我有端口的 homestead.yml 配置

keys:
  - ~/.ssh/id_rsa

ports:
  - send: 587
    to: 587
  - send: 2525
    to: 2525
    protocol: tcp

folders:
  - map: C:/code
    to: /home/vagrant/code

还有这个 .env 配置

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=xxxx
MAIL_PASSWORD=xxxx
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=foo@bar.com
MAIL_FROM_NAME="${APP_NAME}"

但我总是得到

{"error_code":400,"status":"error","message":"","data":"Connection could not be established with host smtp.mailtrap.io
:stream_socket_client(): unable to connect to smtp.mailtrap.io:587 (Connection timed out)"}

我也用端口 SendGrid587 尝试过 2525 但我总是得到相同的消息。我试图从 ssh 连接到 mailtrap

telnet mailtrap.io 587
telnet mailtrap.io 2525

也在 SSH 中尝试过这个

sudo ufw allow 25/tcp
sudo ufw allow 2525/tcp
sudo ufw allow 587/tcp

但在这两种情况下,我都没有得到任何回应。我尝试将 MAIL_ENCRYPTION 更改为 tls,但也没有用。

在启动 vagrant 时,我只得到这些端口转发

==> homestead: Forwarding ports...
homestead: 80 (guest) => 8000 (host) (adapter 1)
homestead: 443 (guest) => 44300 (host) (adapter 1)
homestead: 3306 (guest) => 33060 (host) (adapter 1)
homestead: 4040 (guest) => 4040 (host) (adapter 1)
homestead: 5432 (guest) => 54320 (host) (adapter 1)
homestead: 8025 (guest) => 8025 (host) (adapter 1)
homestead: 9600 (guest) => 9600 (host) (adapter 1)
homestead: 27017 (guest) => 27017 (host) (adapter 1)
homestead: 22 (guest) => 2222 (host) (adapter 1)

如何在 Homestead 上从 Laravel 成功连接到 mailtrap?

解决方法

我尝试使用 VPN 然后尝试 telnet 并且它工作找到并发送了电子邮件,因此这不是任何编码或缓存问题,它与使用 VPN 解决的连接和关闭的服务或端口有关

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...