我正在尝试在我的服务器上设置SwiftMailer。我正在使用SwiftMailer文档中的示例配置进行测试。我有一个付费的G Suite帐户,但尚未在服务器上设置SSL。我正在运行Cent OS 6.8和Apache 2.2。我已经搜索了我能想到的所有内容,并尝试了所有提议的解决方案,但没有成功。
我的脚本如下,显然我的电子邮件地址和凭据在真实脚本中是正确的。我很感激任何建议。
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
require_once('swiftmailer-5.x/lib/swift_required.php');
// Create the Transport
$transport = Swift_SmtpTransport::newInstance('smtp-relay.gmail.com', 25)
->setUsername('myemail@mydomain.com')
->setPassword('*****')
;
// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
// Create a message
$message = Swift_Message::newInstance('Swift Mailer Test')
->setFrom(array('my from address'))
->setBody('Here is the message itself')
;
// Send the message
$failedRecipients = array();
$numSent = 0;
$to = array('another@email.com' => 'Joe');
foreach ($to as $address => $name)
{
if (is_int($address)) {
$message->setTo($name);
} else {
$message->setTo(array($address => $name));
}
$numSent += $mailer->send($message, $failedRecipients);
}
printf("Sent %d messages\n", $numSent);
?>
当我运行此脚本时,我收到以下非常模糊的错误:
“致命错误:未捕获异常'Swift_TransportException',消息'无法与主机smtp-relay.gmail.com建立连接[连接超时#110]'/ var / www / html / appreciate-erp / swiftmailer -5.x / lib / classes / Swift / Transport / StreamBuffer.php:269堆栈跟踪:#0 /var/www/html/appreciate-erp/swiftmailer-5.x/lib/classes/Swift/Transport/StreamBuffer。 php(62):Swift_Transport_StreamBuffer-&gt; _establishSocketConnection()#1 /var/www/html/appreciate-erp/swiftmailer-5.x/lib/classes/Swift/Transport/AbstractSmtpTransport.php(113):Swift_Transport_StreamBuffer-&gt; initialize(Array)#2 /var/www/html/appreciate-erp/swiftmailer-5.x/lib/classes/Swift/Mailer.php(79):Swift_Transport_AbstractSmtpTransport-&gt; start()#3 / var / www / html / appreciate-erp / mailtest.php(42):在/var/www/html/appreciate-erp/swiftmailer-5.x/中抛出的Swift_Mailer-&gt; send(Object(Swift_Message),Array)#4 {main}第269行上的lib / classes / Swift / Transport / StreamBuffer.php“
答案 0 :(得分:0)
从https://support.google.com/a/answer/176600开始,似乎G-Suite上的SMTP Relay应用了IP地址限制。 &#34;无法连接&#34;错误将适合作为缺少配置或尝试从另一个IP地址连接的配置。希望这有帮助!