6 php email ssl gmail zend-framework
嗨,我正在尝试从Zend_Mail模块通过gmail发送一些电子邮件.这是我的代码:
$config = array(
'ssl' => 'tls',
'port' => 587,
'auth' => 'login',
'username' => 'webmaster@mydomain.com',
'password' => 'password'
);
$smtpConnection = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
Run Code Online (Sandbox Code Playgroud)
错误:
警告:stream_socket_enable_crypto()[streams.crypto]:此流不支持第206行/library/Zend/Mail/Protocol/Smtp.php中的SSL /加密无法通过TLS连接
我试着告诉我的托管服务提供商在phi.ini中启用openssl.dll
但他们说这不是必需的,因为服务器在Linux中,并且它不需要启用openssl.dll来使用TLS或SSL.
我的托管服务提供商是错误的还是我在代码中做错了什么.
提前致谢
法比安
buc*_*bay 12
openssl.dll是windows openssl扩展.
在Linux上,您需要使用OpenSSL支持编译PHP. http://www.php.net/manual/en/openssl.installation.php
您需要OpenSSL for PHP套接字和流函数才能使用TLS.Zend使用这些功能,因此需要相同的功能.
小智 6
我在这里遇到类似的问题是有效的; 使用Zend邮件传输和yahoo smtp:
$mailhost= 'smtp.example.com';
$mailconfig = array(
'auth' => 'login',
'username' => 'me@example.com',
'password' => 'topsecret',
'port' => '465',
'ssl' => 'ssl'
);
$transport = new Zend_Mail_Smtp($mailhost, $mailconfig);
Zend_Mail::setDefaultTransport($transport);
Run Code Online (Sandbox Code Playgroud)
这产生了一个错误:"权限被拒绝"并且没有发送邮件.经过三个星期的尝试所有解决方案后,我发现有效的方案正在改变:$ transport to;
$transport = new Zend_Mail_Transport_Sendmail('-fsupport@website.com',$mailhost, $mailconfig);
按预期工作......