我有一个运行 ubuntu 11.10 的 vagrant box 和一个使用 swiftmailer 发送电子邮件的 PHP 脚本。我的邮件提供商是 SES,尽管我也使用 Mailgun 和 sendgrid 复制了这个问题。
我的问题是,当我尝试在 vagrantbox 上发送邮件时,我收到“连接到 tcp://email-smtp.us-east-1.amazonaws.com:465 超时”的消息。但是,当我从主机运行完全相同的脚本时,它可以正常工作。
这是我的 vagrant box 上的 ifconfig:
eth0 Link encap:Ethernet HWaddr 08:00:27:6e:cd:85
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe6e:cd85/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:272963 errors:0 dropped:0 overruns:0 frame:0
TX packets:138823 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:375217285 (375.2 MB) TX bytes:8245622 (8.2 MB)
eth1 Link encap:Ethernet HWaddr 08:00:27:50:d1:0c
inet addr:192.168.33.10 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe50:d10c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:468 (468.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:181 errors:0 dropped:0 overruns:0 frame:0
TX packets:181 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:18416 (18.4 KB) TX bytes:18416 (18.4 KB)
eth1 是具有静态 IP 的仅主机网络接口。
更新:这似乎是 swiftmailer 的问题。我的主机和客户机上有不同的副本。我更新了主机,现在我遇到了同样的问题,即连接超时。
答案1
检查端口是否可以从虚拟主机访问,如果不能,则使用端口转发或在防火墙中打开端口使其可访问。