30. 10月 2012 · [PHP] Lolipop + qdmail + SMTP でガラケーに送信したらハマったのでメモ はコメントを受け付けていません。 · Categories: WEB制作 · Tags: ,

Old Fashioned Phone

Qdmail は PHP でフリーのメール送信ライブラリです。だいぶ前からお世話になっています。
本当にフリーなので、贅沢は言えないなあ、でも最近は開発が止まってしまっているのでもう下火なのかな、とも思いつつ。

それでも使い勝手が良いことに変わりはないので、主に Smarty + ガラケー対応の案件で利用させてもらっています。ありがとうございます。

PHP高機能日本語メール送信ライブラリ・文字化けフリー – Qdmail – PHP::Mail Library , Quick and Detailed for Multibyte

これを lolipop サーバで動かす際、SMTP での送信が少し厄介でした(使わなくても送れるかは未検証)。実は簡単だったんだけど、コレ!という情報に行き着きにくかったのでメモ。

ロリポはメールアドレスの送信に認証が必要

SMTP_AUTH プロトコルを設定する必要があり、ポート番号は 587 を使います。(SSLを使うわけではありません)

ロリポは安いし管理画面も充実してるけど、たまに重いし混んだことやろうとするとちょっと窮屈ですね。制限があまりないから今のところは良いんだけど。

そんなわけで、下記のようなソースになります。function にしておくと使いやすいですよ。

送信できてるっぽいけど、携帯(ガラケー)に届かない!

ログがエラーを出さず、Send Success になっているなら携帯の受信制限に引っかかっている可能性が高いです。「何もしてないよ~」という方こそ、自動で制限が強くなっているかもしれませんので、見なおしたほうが良いと思います。

私の場合(au):受信したいアドレスは info@example.com として

1)
受信許可リストに @example.com を追加して、
受信拒否リストに .com を入れたまま → 届かない…

2)
受信許可リストに @example.com を入れたまま、
受信拒否リストを無効に → 届いた!

3)
受信許可リストに @example.com を入れたまま、
受信拒否リストを有効にして .com を削除 → 届いた!

4)
受信許可リストに @example.com を入れたまま、
受信拒否リストに .com をもう一度入れる → 届かない…

以上から、受信拒否リストの方が優先されるようです。
メールアドレスに拒否リストに入っている文言がないか、見ておいたほうがいいですね。
ちなみにパソコンやスマートフォンには普通に届きました。

検証用にガラケー持ってるとはいえ、まわりの協力が得られないあたり、もうガラケーでネットをする時代は終わりつつありますねえ。ガラケーとかもう言わないのかな。「スマホじゃない携帯」と言ったほうが確実だったりして。iPhone5 にしたいなあ。