【问题标题】:Swiftmailer SMTP Hotmail doesn't workSwiftmailer SMTP Hotmail 不起作用
【发布时间】:2022-01-25 01:05:11
【问题描述】:

我尝试使用 Swiftmailer 发送电子邮件。但它不起作用... 这是我尝试过的:

$transport = Swift_SmtpTransport::newInstance('smtp.life.com', 25)
->setUsername('olivier-zwat@hotmail.be')
->setPassword('the correct pasword');

我找不到解决此问题的解决方案... *顺便说一句,我是荷兰人! ;-)

【问题讨论】:

  • 您遇到什么错误? “不起作用”不是一个好的描述。
  • 我在这里看到的错误:oli4tje.3owl.com/PEAR/Swiftmailer/test.php
  • “服务暂时不可用”没有帮助。
  • 对不起,我的服务器正在做一些我不明白的事情......所以错误开始于:“致命错误:未捕获的异常'Swift_TransportException'与消息'预期响应代码250但得到代码“ 530”,带有消息“530 5.7.0 必须首先发出 STARTTLS 命令”在 /home/u399707880/public_html/PEAR/Swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:386 堆栈跟踪:#0 /home /u399707880/public_html/PEAR/Swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(281): "...
  • 然后继续 .."Swift_Transport_AbstractSmtpTransport->_assertResponseCode('530 5.7.0 Must ...', Array) #1 /home/u399707880/public_html/PEAR/Swiftmailer/lib/classes/ Swift/Transport/EsmtpTransport.php(245): Swift_Transport_AbstractSmtpTransport->executeCommand('MAIL FROM:

标签: smtp pear swiftmailer hotmail


【解决方案1】:

530 5.7.0 必须先发出 STARTTLS 命令

您需要将 SwiftMailer 配置为通过 STARTTLS 使用 SSL 连接。从 4.1.3 版本开始支持。

【讨论】:

  • 所以我尝试了:"$transport = Swift_SmtpTransport::newInstance('smtp.live.com', 587, 'starttls')" 而不是 "$transport = Swift_SmtpTransport::newInstance('smtp. live.com', 587)" 但是现在我得到了另一个错误 => "致命错误:未捕获的异常 'Swift_TransportException' 带有消息'预期响应代码 250 但得到了代码 "",消息 ""' 在 /home/u399707880/public_html /PEAR/Swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:386 堆栈跟踪:#0 /home/u399707880/public_html/PEAR/Swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(281):“ ..
  • .."Swift_Transport_AbstractSmtpTransport->_assertResponseCode('', Array) #1 /home/u399707880/public_html/PEAR/Swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php(245): Swift_Transport_AbstractSmtpTransport ->executeCommand('RSET??', Array, Array) #2 /home/u399707880/public_html/PEAR/Swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php(47): Swift_Transport_EsmtpTransport->executeCommand ('RSET??', Array) #3 /home/u399707880/public_html/PEAR/Swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php(179): "..
  • .."Swift_Transport_Esmtp_Auth_PlainAuthenticator->authenticate(Object(Swift_SmtpTransport), 'peeterskenolivi...', 'oli4is1ole') #4 /home/u3997 in /home/u399707880/public_html/PEAR/Swiftmailer/第 386 行的 lib/classes/Swift/Transport/AbstractSmtpTransport.php"
【解决方案2】:

我认为您应该将 'smtp.life.com' 更改为 'smtp.live.com'。

【讨论】:

  • 所以我在这个 => $transport = Swift_SmtpTransport::newInstance('smtp.live.com', 587,) ->setUsername('myemail@domain.com') ->setPassword ('******');我得到的错误是太长时间发布它......你可以在我的域上看到它:oli4tje.3owl.com/PEAR/Swiftmailer/test.phpGreetz
  • 这是适合我的配置: $transport = Swift_SmtpTransport::newInstance('smtp.live.com', 587, 'tls'); $transport->setAuthMode('login');
【解决方案3】:

您需要将加密设置为 tls 作为第三个参数:

$transport = Swift_SmtpTransport::newInstance('smtp.life.com', 25, 'tls')

很可能端口也应该设置为587

【讨论】:

    猜你喜欢
    • 2015-04-05
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多