上記サイトをのmail関数を使う版でHTMLメールをPHPから送信しています。
サンダーバード等のメーラーでは問題なく表示されるのですが、GmailのWEB版やスマホアプリなどでは閲覧が出来ません。
正常に表示出来るようにするには、何かが足りないのでしょうか。
宜しくお願い致します。
うーん基本は間違っていないと思う。
<?php
// 複数の受信者を指定
$to = 'aidan@example.com' . ', '; // カンマに注意
$to .= 'wez@example.com';
// 表題
$subject = 'Birthday Reminders for August';
// 本文
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';
// HTML メールを送信するには Content-type ヘッダが必須
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// 追加のヘッダ
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
// 送信する
mail($to, $subject, $message, $headers);
?>
HTML などの複雑な形式のメールを送信する場合は、PEAR パッケージ » PEAR::Mail_Mime を利用することも考えてみてはどうでしょう。
最後のboundaryに追加のハイフン2つが付いてないから、とかね。
gmail doesn’t like multipart/alternative MIME type? - email php | Ask MetaFilter
それはないでしょう。
2008年の時点では、そうだったかもしれませんが、現在 受け取ってる はてなブログからの「購読中のブログ更新」のメールや Twitter からのメールなんかが、multipart な HTML メールで boundary の末尾にハイフンはついてませんけれど、正常に見ることができてます。
あっ、last line か。
ホントだ…
2016/02/28 00:27:19ソース中のコメントじゃなくてS-JISどうのこうのの返信コメントか…
最早スクリプトじゃないかと疑いたくなってくるな…w
見ればみるほど凄いな…
2016/02/28 03:15:18多分書いたのが
「うーん基本は間違っていないと思う。」
「も考えてみてはどうでしょう。」
だけだ…(最後の日本語もマニュアルの注意の文末変えてるだけだから)
こういう人ってよくいるんだろうか…?