SwiftでGmailにSMTP接続でエラー

こんにちは

 

ローカルマシンの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]

これでとりあえず遅れるようになります。

関連記事


TOP
TOP