Qdmail/Qdsmtpでgmailの送信ができなくなったので直した

事の発端

解決編

(Google Appsを使っているので、もしかしたらAppsだけかもしれない。)

TLSでメールを送ろうとすると、以下のログが出る。(一部書き換え)

YYYY-MM-DD hh:ii:ss
Qdmail error: Qdmail Version 1.2.6b ,PHP Version *.*.*
Qdmail error: OS Linux ; PHP Version *.*.* ; Qdmail version 1.2.6b
php.ini status: mb_language = Japanese ; mb_internal_encoding = UTF-8 ; mb_detect_order = ASCII,JIS,UTF-8,EUC-JP,SJIS
Qdmail Status debug: 0, log: 0, errorlog: 1
Qdmail error: No send . Because SMTP mail method replied error line -> 2190
YYYY-MM-DD hh:ii:ss
Qdmail error: Send Error line -> 2115

ggってみると、Gmailヘルプフォーラムが出てきた。
どうやら、2016年3月30日から送れなくなっていたらしい。

フォーラムの山田太郎asさんが投稿した方法を参考にし、qdsmtp.phpのsayHello()の一部を以下のように書き換えたら動いた。

$host = str_replace("ssl://","",$this->smtp_param['HOST']);
$host = str_replace("tls://","",$host);
$items = array(
array( 'EHLO' , $host ),
array( 'HELO' , $host ),
);

4月17日にバッキーさんが詳細をあげていた。

Qdmail,Qdsmtpは開発止まってるし、これからはPHPMailerを使おう。