SwiftMailer无法正常工作,无法建立连接[#0]

时间:2016-05-22 13:47:38

标签: php silex swiftmailer php-openssl

我正在尝试使用Silex和SwiftMailer设置邮件程序脚本。但是,到目前为止,我还没有设法收到邮件。将swiftmailer.use_spool设置为false时,我不会收到错误但也不会收到电子邮件。而是像这样刷新假脱机传输队列......

if ($app['mailer.initialized']) {
    $app['swiftmailer.spooltransport']
        ->getSpool()
        ->flushQueue($app['swiftmailer.transport']);
}

...我收到以下异常:

Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host abc.xyz [ #0]'

到目前为止,我还没有找到任何关于此例外的文档。我确定所有的SMTP设置和凭据都是有效的(我也尝试过其他主机,同样的问题)。我也可以ping主机,我使用的端口是打开的,php_openssl已启用。

由于Swift\Transport\StreamBuffer.php:269返回0,因此stream_socket_client看起来失败了:

$this->_stream = @stream_socket_client($host.':'.$this->_params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext);
if (false === $this->_stream) {
    throw new Swift_TransportException(
        'Connection could not be established with host '.$this->_params['host'].
        ' ['.$errstr.' #'.$errno.']'
        );
}

更新#1 我忘了查看错误日志,现在我看到它说:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/php_openssl.dll' - /usr/lib/php5/20121212/php_openssl.dll: cannot open shared object file: No such file or directory in Unknown on line 0

所以似乎PHP无法加载php_openssl扩展,虽然phpinfo()表示该模块已启用?它应该放在哪里,或者我应该如何找到它?

更新#2 我相信我可能错误地尝试启用php_openssl.dll扩展,而它适用于Windows环境。当我删除它时,错误显然已从错误日志中消失,但主要问题仍然存在。回到原点..

我可能做错了什么?

0 个答案:

没有答案