【发布时间】:2013-07-23 15:06:51
【问题描述】:
在 PHP 中,我在发送电子邮件时收到此错误:
“fsockopen() [function.fsockopen]: 无法连接到 tls://smtp.gmail.com:465(连接超时)”。
谁能帮我通过 .htaccess 文件或 dl() 以外的任何其他方式动态加载 openssl.ddl 扩展。
我正在使用 Yii,这就是我的 main.php:
'mail' => array(
'class' => 'application.extensions.yii-mail.YiiMail',
'transportType'=>'smtp', /// case sensitive!
'transportOptions'=>array(
//'host'=>$smtp_host,
'host'=>'smtp.gmail.com',
//'username'=>$smtp_username,
'username'=>'mailtest.test10@gmail.com',
//'password'=>$smtp_password,
'password'=>'testtest10',
//'port'=>'543',
'port'=>'465',
'encryption'=>'tls',
//'encryption'=>'ssl',
),
'viewPath' => 'application.views.mail',
'logging' => true,
'dryRun' => false
),
谁能告诉我我哪里错了......
【问题讨论】:
-
Connection timed out不是您在未加载 openssl 模块时遇到的错误,它会类似于Unable to find the socket transport "tls" - did you forget to enable it when you configured PHP?我猜您有防火墙阻止您。 -
从运行 PHP 脚本的同一台服务器上,您可以尝试在端口 465 上打开到 smtp.gmail.com 的 telnet 连接吗?这应该告诉您是否有什么东西阻止了您的服务器的此连接。