<?php
require_once '../plugin/swift/lib/swift_required.php';
// Create the Transport
$transport = Swift_SmtpTransport::newInstance('pod51003.outlook.com',587,'tls')
->setUsername('user@connect.polyu.hk')
->setPassword('pw')
;
// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
// Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
->setFrom(array('john@doe.com' => 'John Doe'))
->setTo(array('foodil@hotmail.com', 'foodil@yahoo.com.hk' => 'A name'))
->setBody('Here is the message itself')
;
// Send the message
$result = $mailer->send($message);
printf("Sent %d messages\n", $result);
?>
事实证明: 在C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php的第422行,抛出了未捕获的异常'Swift_TransportException',并显示消息:'期望响应代码为250,但得到代码"501",消息为"501 5.5.4 Invalid domain name "'。警告:stream_socket_enable_crypto() [streams.crypto]:此流不支持SSL / crypto,位于C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\StreamBuffer.php的第102行。
堆栈跟踪: #0 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php(306):Swift_Transport_AbstractSmtpTransport->_assertResponseCode('501 5.5.4 Inval...', Array) #1 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\EsmtpTransport.php(224):Swift_Transport_AbstractSmtpTransport->executeCommand('HELO [::1]??', Array, Array) #2 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php(323):Swift_Transport_EsmtpTransport->executeCommand('HELO [::1]??', Array) #3 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\EsmtpTransport.php(272):Swift_Transport_AbstractSmtpTransport->_doHeloCommand() #4 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php(124) 在C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php的第422行发生致命错误。
实际上,我直接按照教程操作,那么我的代码是否有遗漏的地方呢?SMTP服务器信息是有效的。
外部SMTP设置: 服务器名称:pod51003.outlook.com - 您还可以查看下面的注释以了解如何确定服务器名称 端口:587 加密方法:TLS 添加这行代码后,出现了另一个错误:
致命错误:Uncaught exception 'Swift_TransportException' with message '无法使用TLS加密连接',位于C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\EsmtpTransport.php的第283行。
堆栈跟踪: #0 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php(124):Swift_Transport_EsmtpTransport->_doHeloCommand() #1 C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Mailer.php(79):Swift_Transport_AbstractSmtpTransport->start() #2 C:\xampp\htdocs\fyp\mail\send.php(26):Swift_Mailer->send(Object(Swift_Message)) #3 {main} thrown in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\EsmtpTransport.php on line 283