こんにちは
ローカルマシンのXampp環境でGmailアカウントを使用して、
Swiftでメールを送信したら、こんなエラーがでました。
[text]
SwiftMailer SMTP TLS OpenSSL Error SSL3_GET_RECORD:wrong version number
[/text]
原因は、PHP5.6からクライアントストリームで、ピア検証がデフォルトで有効になったためです。
今回はローカルマシンでの対応なので、verify_peerをfalseにして送信してしまいます。
修正箇所は、Swiftのファイルを直接修正します。
対象ファイルこれ↓
ib/classes/Swift/Transport/StreamBuffer.php
263行に付近をこんな感じに修正します。
[php]
if (!empty($this->_params[‘sourceIp’])) {
$options[‘socket’][‘bindto’] = $this->_params[‘sourceIp’].’:0′;
}
$options[‘ssl’] = [‘verify_peer’ => false];// これを追加
$this->_stream = @stream_socket_client($host.’:’.$this->_params[‘port’], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, stream_context_create($options));
if (false === $this->_stream) {
[/php]
これでとりあえず遅れるようになります。