Php 使用exchange身份验证通过swift mailer发送电子邮件

Php 使用exchange身份验证通过swift mailer发送电子邮件,php,smtp,exchange-server,swiftmailer,Php,Smtp,Exchange Server,Swiftmailer,我正在尝试使用Exchange身份验证通过swift mailer发送电子邮件。然而,我似乎不明白为什么它不起作用 <?php require_once( "./application/helpers/swift/swift_required.php" ); $transport = Swift_SmtpTransport::newInstance( "31.149.66.10", 25 ) ->setUsername( "username" ) ->setPa

我正在尝试使用Exchange身份验证通过swift mailer发送电子邮件。然而,我似乎不明白为什么它不起作用

<?php
require_once( "./application/helpers/swift/swift_required.php" );
$transport =
Swift_SmtpTransport::newInstance( "31.149.66.10", 25 )
    ->setUsername( "username" )
    ->setPassword( 'password' )
    ->setEncryption( "tls" );
$mailer = Swift_Mailer::newInstance( $transport );
$message = Swift_Message::newInstance( "onderwerp" )
->setFrom( array( "from@address.com" ) )
->setTo( array( "to@address.com" ) )
->setBody( "Body van het bericht" );
var_dump( $mailer->send( $message ) );
?>

这给了我一个错误:
Uncaught异常“Swift\u TransportException”,消息“无法在SMTP服务器上使用0个可能的身份验证程序对用户名为“nieuwsbrief”的SMTP服务器进行身份验证”。

服务器配置为使用TLS和基本身份验证(仅在启动TLS后提供基本身份验证)

我看到有些人使用端口587进行TLS加密,但我无法连接端口587。这就产生了错误:
无法与主机31.149.66.10建立连接[没有到主机113的路由]。


有人能看出我做错了什么吗?

如果将抛出类型为Swift\u TransportException的异常,则表示身份验证失败

要尽早知道身份验证是否失败以及是否将引发异常,请在创建的传输上调用
start()
方法

以下清单将帮助您找到此类错误的问题:

  • 检查连接是否在使用相同端口、凭据和加密的其他邮件客户端/平台上工作
  • 检查您的php安装是否未启用TLS支持。 您可以使用PHP
    函数流\u get\u transports()
例如,您可以通过在php.ini中添加它来添加它

extension=php_openssl.dll
  • 确保没有任何防火墙阻止连接,587可能被阻止

如果将引发Swift\u TransportException类型的异常,则表示身份验证失败

要尽早知道身份验证是否失败以及是否将引发异常,请在创建的传输上调用
start()
方法

以下清单将帮助您找到此类错误的问题:

  • 检查连接是否在使用相同端口、凭据和加密的其他邮件客户端/平台上工作
  • 检查您的php安装是否未启用TLS支持。 您可以使用PHP
    函数流\u get\u transports()
例如,您可以通过在php.ini中添加它来添加它

extension=php_openssl.dll
  • 确保没有任何防火墙阻止连接,587可能被阻止