人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

http://pentan.info/php/sample/html_mail.html
上記サイトをのmail関数を使う版でHTMLメールをPHPから送信しています。
サンダーバード等のメーラーでは問題なく表示されるのですが、GmailのWEB版やスマホアプリなどでは閲覧が出来ません。

正常に表示出来るようにするには、何かが足りないのでしょうか。
宜しくお願い致します。

●質問者: maintour15
●カテゴリ:インターネット
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ムチャおやじ
●50ポイント

うーん基本は間違っていないと思う。




<?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 を利用することも考えてみてはどうでしょう。


maintour15さんのコメント
すみません、上記でもGmailで本文が無くなって真っ白で表示されない状態です。。

ムチャおやじさんのコメント
表示するコードが違うんじゃないでしょうか? S?JISやEUCなどで 切り替えてみてください。

derisionistさんのコメント
ひょっとしてコメントまで教えてGooから…?

braahmaNaさんのコメント
ホントだ… ソース中のコメントじゃなくてS-JISどうのこうのの返信コメントか… 最早スクリプトじゃないかと疑いたくなってくるな…w

braahmaNaさんのコメント
見ればみるほど凄いな… 多分書いたのが 「うーん基本は間違っていないと思う。」 「も考えてみてはどうでしょう。」 だけだ…(最後の日本語もマニュアルの注意の文末変えてるだけだから) こういう人ってよくいるんだろうか…?

2 ● derisionist
●50ポイント

最後のboundaryに追加のハイフン2つが付いてないから、とかね。
gmail doesn’t like multipart/alternative MIME type? - email php | Ask MetaFilter


a-kuma3さんのコメント
それはないでしょう。 2008年の時点では、そうだったかもしれませんが、現在 受け取ってる はてなブログからの「購読中のブログ更新」のメールや Twitter からのメールなんかが、multipart な HTML メールで boundary の末尾にハイフンはついてませんけれど、正常に見ることができてます。

a-kuma3さんのコメント
あっ、last line か。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ