Qdmail/Qdsmtpでgmailの送信ができなくなったので直した
事の発端
昨日無線部のメールアドレス変更依頼送ったけど、「このメッセージが出た際はシステム管理者に連絡してください」って出てきて、システム管理者のわたしが真顔になった。
— Lapin (@UloxolU) 2016年4月16日
解決編
(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を使おう。