gpt4 book ai didi

php - 使用 Swift 邮件程序发送邮件时出现 501 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:40 27 4
gpt4 key购买 nike

<?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);

?>

事实证明:

Fatal error: Uncaught exception 'Swift_TransportException' with message 'Expected response code 250 but got code "501", with message "501 5.5.4 Invalid domain name "' in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php:422 Stack trace: #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) in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\AbstractSmtpTransport.php on line 422

其实我是直接按照教程来的,所以我的代码中有没有遗漏什么? SMTP 服务器信息有效。

External SMTP setting:
Server name: pod51003.outlook.com - you can also see the note below on how to determine the server name
Port: 587
Encryption method: TLS

添加行后:还有一个错误:

Warning: stream_socket_enable_crypto() [streams.crypto]: this stream does not support SSL/crypto in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\StreamBuffer.php on line 102Fatal error: Uncaught exception 'Swift_TransportException' with message 'Unable to connect with TLS encryption' in C:\xampp\htdocs\fyp\plugin\swift\lib\classes\Swift\Transport\EsmtpTransport.php:283 Stack trace: #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

最佳答案

尝试在此处添加此行,如下所示:

// Create the Transport
$transport = Swift_SmtpTransport::newInstance('pod51003.outlook.com',587,'tls')
->setUsername('user@connect.polyu.hk')
->setPassword('pw')
;

// ADD THIS LINE
$transport->setLocalDomain('[127.0.0.1]');

// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

根据您对 HELO 命令的响应,我猜您的 SMTP 服务器不喜欢/不理解 IPv6。

关于php - 使用 Swift 邮件程序发送邮件时出现 501 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8946227/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com