まぁ PHPMailer だけじゃ対応できないのですけどね。
昨今の携帯電話にメールを送ろうとするなら、SPFレコードを使った送信ドメイン認証に対応必須のようなので一応対応してみました。
まずは SPF とはなんぞやと。
1. 送信元は SPFレコード っていうのをDNSサーバに登録(公開)しておく。
2. 受信者は送信元のFROMアドレスから DNSを参照し、『SPFレコード』が公開されているかどうかチェック。
3. SPFレコードには IPアドレス等の情報を含むので、「なりすましメール」の判定等を実施して捨てたり破棄したり。
と、まぁこんな感じで理解しましたけども中らずとも遠からずーな感じかと思います。
で本題ですが、PHPMailer というライブラリを使うとほんとに簡単に PHPからメールが送信できます。sendmail だとか phpのmail()関数だとかまったく意識しません。オススメです。
PHPMailer
ただ、2番の補足ですが、『送信元のFROMアドレス』はヘッダーのFROMではなくて、エンベロープのFROMのようです。うちの環境では PHPMailer の Sender プロパティに値を設定しないとエンベロープFROMの値は変わりませんでした。
てなわけでサンプルソースです。環境は osが linux。PHP のバージョンは 5.2.6 です。
これがベストではないと思いますが、こうしたら SPFが passしたよってソースです。
$mail = new PHPMailer();
$mail->CharSet = "iso-2022-jp";
$mail->Encoding = "7bit";
$mail->Hostname = "hoge.com"; // message-id
$mail->Sender = "test@hoge.com"; // [...]