こんにちは。質問をさせてください。
今、PHPのsendmail関数を使用してHTMLメール・テキストメールを送信しようと考えています。
------------------------------------------------
### メールの送信
open MAIL, "|/usr/sbin/sendmail -f "****@aaa.co.jp" "****@bbb.co.jp"";
### 全体のヘッダ
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-Type: Multipart/Mixed; boundary=\"--=kuguri\"\n";
print MAIL "Content-Transfer-Encoding:Base64\n";
print MAIL "From: $from\n";
print MAIL "To: $to\n";
print MAIL "Subject: $subject\n";
### テキストメール本文のパート
print MAIL "--=kugiri\n";
print MAIL "Content-Type: text/plain; charset=\"ISO-2022-JP\"\n";
print MAIL "\n";
print MAIL "HELLO\n";
### HTMLメール本文のパート
print MAIL "--=kugiri\n";
print MAIL "Content-Type: text/html;\n";
print MAIL "\n";
print MAIL "<html><body>\n";
print MAIL "<font color="red">HELLO</font>\n";
print MAIL "</body></html>\n";
### マルチパートのおわり。
print MAIL "--"\kugiri"\" . "--\n";
close MAIL;
上記のような記述の場合、受信側のメーラが
HTML設定の時は、"HELLO(赤色)"
TEXT設定の時は、"HELLO(黒色)"で受信しますでしょうか?
スクリプトの抜粋でわかりにくいと思いますが、宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
遅いかな?.
まず最初にこれは Perl ではないのか?.それから PHP に sendmail関数というのはなく,あるのは mail関数と mb_send_mail関数.
さて,いくつか目に付いたところですが,同じ内容のテキストとHTML(その他)の本文をマルチパートで送出し,クライアント側の対応しているほうを表示する場合は,MIMEタイプは multipart/alternative だと思います.
上記のメールだと,正確にはテキスト本文のメールにHTMLファイルが添付されている形になるのではないかと.
それから,境界文字列ですが,
Content-Type:
で指定する boundary 文字列の先頭にハイフン2文字を付け足したものが使用されるようです.上の例だと,
boundary="--=kuguri"
となっておりますので実際の境界文字列は
----=kuguri
とすべきであると思われます.
次に,
Content-Transfer-Encoding: Base64
とありますが,これはなぜ指定するのですか?.どこにもBase64エンコーディングは使われていませんし,そもそも multipart のメールに於いて CTE ヘッダは各パートで指定するべき(?自信なし)なので,テキストのパートでは,
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
とし,HTMLのパートでは,
Content-Type: text/html; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
で良いのではないでしょうか?.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【至急!!!】python言語で本を見...
-
16進の10進変換について
-
VBAのNext forでエラーが出て困...
-
パイソン文法で(インデント)
-
数値かどうかの判定方法
-
変数名に変数を使用
-
シェルスクリプト+perl
-
pythonの*
-
ランダム文字列
-
Perl でワードファイルのヘッダ...
-
Perlにおける<?phpinfo();?>の...
-
シェルスクリプトで、空白(ス...
-
パイソンのプログラムで contin...
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
FindFirst を複数条件で検索
-
テキスト入力後、エンターを押...
-
文字の横にプルダウンを表示さ...
-
formで特定のinputを送信しない...
-
sendmailで複数アドレスに送信...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
pythonで演算子を変数に代入す...
-
【至急!!!】python言語で本を見...
-
pythonの*
-
c言語 16進数の2進数への変換
-
awkの正規表現での最左最短マッ...
-
数値かどうかの判定方法
-
関数「exists」と「defined」の...
-
シェルで、ランダム関数を変数...
-
I2C接続のLCDディスプレイを使う
-
シェルスクリプトで、空白(ス...
-
perでメールが送信出来ない場合...
-
UWSCのSELECT文の記述方法
-
int(input("○○"))の使い方
-
switch文のエラーについて
-
pythonで改行を含めてfindする方法
-
シェルスクリプト+perl
-
PythonでUTF8の文字列をリスト...
-
少数点以下の桁数について
-
qq!!の意味を教えてください。
おすすめ情報