phpのPEAR:MAILで、送信時に、authentication failure [SMTP: STARTTLS failed (code: 220, response: 2.0.0 Ready to start TLS)] | クズリーマンのカス備忘録

phpのPEAR:MAILで、送信時に、authentication failure [SMTP: STARTTLS failed (code: 220, response: 2.0.0 Ready to start TLS)]

php-logo php
スポンサーリンク

PEARとは

PEARとは - Google 検索

PEAR はPHPで利用する事ができるライブラリを提供しているサービス。

 

yum とかでインストールされてるぜ!

ソースファイルでMail.phpっていうファイルが無くて、なんでや!と思ったがそういうことだったぜ!

yum list installed

して、php-pear

があれば、使えるはずよ。 

環境

  • PHP:7.3.25-1.el6.remi
  • PEAR:1:1.10.12-4.el6.remi

事象

PHPでPEAR:MAIL使ってメール送信しようとしたら以下のメッセージ吐いて失敗。

 

authentication failure [SMTP: STARTTLS failed (code: 220, response: 2.0.0 Ready to start TLS)]

 

原因

PHP5.4からPHP7に上げた。

そこらへんが原因ぽい。(R)

 

Manual :: creates a mailer instance

この、公式の掲示板に書いてある解決方法を試したら解決した。

 

I just need add :
‘auth’ => “PLAIN”,
‘socket_options’ => array(‘ssl’ => array(‘verify_peer_name’ => false)),

 

どこに追加すればいいんだよおぉぉ!

と思ったが、Mail::factory(ここ)でしたわ。

 

変更前:

$mail =& Mail::factory('smtp',array('host'=>SMTP_HOST,'port' => SMTP_PORT,'auth' => true,'username' => SMTP_USERNAME,'password' => SMTP_PASSWORD));

 

 

 

変更後: 

$mail =& Mail::factory('smtp',array('host'=>SMTP_HOST,'port' => SMTP_PORT,'auth' => 'PLAIN','username' => SMTP_USERNAME,'password' => SMTP_PASSWORD, 'socket_options' => array('ssl' => array('verify_peer_name' => false)),));

 

ながっ。

 

 

 

 

コメント

タイトルとURLをコピーしました