qdsmtpでSMTP_AUTH使えないよって言われたときの対策
qdsmtpでハマったのでメモ。
接続してから220が帰ってくるより前にEHLOを言っちゃってるからおかしくなったみたい。
220が来るまで待ちましょう。
qdsmtp.phpの390行目あたりに
<?php //省略 if( !$this->already_auth ){ /*------ここから------*/ //220が来るまで待つ $matches = null; $limit = 1000; //10秒くらいで諦める while (!$matches && $limit) { $mes = fgets($this->sock, 512); preg_match('/220/', $mes, $matches); --$limit; usleep(100000); //0.1秒 } /*------ここまで------*/ $this->sayHello(); //省略 ?>