send_mail

PHPでメール送信するには結局どれが最強なのか

PHPでメール送信するときは ・mb_send_mail ・Qdmail がよく使われる気がする。 mb_send_mail は SMTPサーバーを指定することは可能だけどSMTP認証ができません! Qdmailはもうライブラリが古い! ということで PHPMailer を使ってみた。 https://github.com/Synchro/PHPMaile SMTP認証 LOGIN, PLAIN, NTLM, CRAM-MD5 and Google’s XOAUTH2 over SSL and TLS が使えます。Postfixの解説サイトってPLAIN or CRAM-MD5 が多い気がするので困ることはないと思います。 Google’s XOAUTH2 ってなんなんでしょうか。   XOAUTH2 メールの送受信にパスワードなんていらない こちらに詳しく書かれていました。 新しく取得したGmailアカウントにおいて、これまでの一般的なメーラーではもはやメールの送受信はできません。いや、完全にできないわけではなく、とある設定を変更しないと使えないようになっています。その設定名ときたらなんと、 「安全性の低いアプリのアクセス」です。 メーラーを使うためにはこの設定を「オン」にしなければなりません。 なんとも精神衛生上よろしくない行為ですよね。 通常この設定は「オフ」になっていて、ユーザー名とパスワードで認証する従来のメーラーはアクセスできず、いわゆる”安全性の高い”アプリしかアクセスできません。 では安全性の高いアプリとはなんでしょうか? その答えはXOAUTH2認証を用いたメールアプリです。 らしいです。 PHPMailerでの使い方は公式Githubにあります。 https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2     DKIM DKIMも使えます! SPFとはちょっと違いますがまぁスパム認定されにくくなります。   多くのオープンソースでも使われ  WordPress, Drupal, 1CRM, SugarCRM, Yii, Joomla! and many more らしいです。 CCやBccを使うことも想定されていた作りになっており、添付ファイルもパスを記述するだけです。   軽く使ってみた [crayon-5b4efc1e98189703040386/] 今回はSMTPサーバーにGoogleを使いました。 XOAUTH2を使っていないので安全性の低いアプリへのアクセスをONにしています。 いと便利です。