我在尝试使用带有Gmail的swiftmailer发送测试电子邮件时收到错误“无法与主机smtp.gmail.com [#0]建立连接”。我的代码如下
<?php
require_once("./vendor/autoload.php");
$transport = (new Swift_SmtpTransport('smtp.gmail.com', 465,'ssl'))
->setUsername('my email')
->setPassword('my email password')
;
// Create the Mailer using your created Transport
$mailer = new Swift_Mailer($transport);
// Create a message
$message = (new Swift_Message('Wonderful Subject'))
->setFrom(['email from' => 'from Name'])
->setTo(['email to' => 'to Name'])
->setBody('Here is the message itself')
;
// Send the message
try{
$result = $mailer->send($message);
}catch(Exception $e){
echo $e->getMessage();
}
echo $result;
我的测试环境是Windows Server 2012(带有PHP7的IIS 8)。
但是当我在Ubuntu 16.04(安装了PHP7的Apache)环境中尝试相同的代码库时,它起作用了。为了使用gmail和SwiftMailer发送电子邮件,我是否应该对IIS服务器或Windows配置进行任何更改?
注意: 如果我使用与雅虎帐户相同的配置而不是Gmail帐户。然后就行了。
答案 0 :(得分:0)
此服务器上是否运行了防火墙?
是否允许端口465上的出站连接?
您可能需要在防火墙上戳一个洞,以允许在端口465上连接到smtp.gmail.com(74.125.21.108和74.125.21.109)。