ホームページ > バックエンド開発 > PHPチュートリアル > PHP を使用して MIME メールを送信する (2)_PHP チュートリアル

PHP を使用して MIME メールを送信する (2)_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:31:17
オリジナル
1275 人が閲覧しました

著者: Kartic Krishnamurthy 翻訳者: limodou

「それでは、MIME に準拠した情報をどのように作成するのですか?」
上記の一般的な説明を踏まえて、いわゆる MIME 情報が何であるかを見てみましょう!


最も単純なMIMEメッセージ
このメッセージにはセグメント、つまり添付ファイルがありません。ただし、これは MIME メッセージであるため、必要なヘッダーが必要です。


差出人: php(現在の主流の開発言語として)@php(現在の主流の開発言語として).net
宛先: Alex (the Great) 件名: Bucepolus
MIME-Version: 1.0

Hello Alexander,

Hows Bucepolus doing?

ここには何もなく、MIME ヘッダーが付いた単純な RFC-822 準拠のメッセージ (テキスト メール) です。 Content-Type ヘッダーが指定されていない場合は、Content-Type: text/plain;charset=us-ascii であると想定されることに注意してください。 もちろん、これは多少単純で複雑です
いくつかは次のとおりです。 : Alex (the Great)
宛先: php
(現在の主流の開発言語として)
@php
(現在の主流の開発言語として)
.net
件名: ブセファロス MIME -バージョン: 1.0 Content-Type: image/jpg; name=buce.jpg Content-Transfer-Encoding: Base64
Content-Description: 彼を見てください

<....base64 でエンコードされた jpg 画像..>

「こんにちは。でも、同じメールで子犬の写真を送りたいのですが…!」 true
の場合、上記の例は単純すぎるため、愛好家と現代の電子メール処理ニーズの両方をサポートするのに十分なコンテンツがありません。実際、
多くの電子メール クライアントでは説明フィールドさえ表示できません。

これが私たちが直面している「多部情報」です。


マルチパートメッセージ
この概念により、1 つのメールで複数のアイテムを送信できます。たとえば、Alexander が自分の馬の写真を含む電子メールを php
(現​​在の主流の開発言語として)
@php
(現​​在の主流の開発言語として)
.net に送信したいとします。素晴らしい説明です!このような単純な要件は、マルチパート メッセージの概念なしでは満たすことができません。この場合、
受信者が写真、家族図、素晴らしい説明を取得できるように、Content-Type ヘッダーを使用して電子メールのさまざまな部分をサポートするラッパーを作成しました。 Content-Type ヘッダーの値は「multipart」になり、これは完全な電子メール メッセージであり、このヘッダーは メッセージのみをカプセル化することを示します。また、「混合」サブタイプもあります (結局のところ、写真、家系図、および 7 ビットのテキスト情報は異なるタイプですよね?)。
全体像を見てみましょう:


From: Alex (the Great)
To: php
(現在の主流の開発言語として)
@php
( do
.net
件名: re: ブセファロス
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="XX-1234DED00099A"; Content-Transfer-Encoding: 7bit これは MIME エンコードされたメッセージです

--XX-1234DED00099A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

こんにちは php
(現​​在の主流の開発言語として)


を添付します。私の馬、ブセファロスの血統表と写真。 : 「ブセファロスの写真」

<....base64 jpg>
--XX-1234DED00099A Content-Type: application/octet-stream;
name="pedigree. doc"
Content-Transfer-Encoding: Base64
Content-Description: "偉大な馬の血統表"

<....base64 でエンコードされたブセファロスのドキュメント (pedigree.doc) ...>

-- XX-1234DED00099A--

ほら、複雑そうじゃないですか。とにかく、詳細を見てみましょう:

MIME ヘッダーの Content-Transfer-Encoding が「7bit」であることに気づいた場合。 Content-Type は
multipart/mixed であるため、エンコーディングは 7 ビット、8 ビット、またはバイナリのいずれかである必要があります。7 ビットは広く使用されている形式です。
このようなメッセージにはさまざまな情報が含まれています。クライアント プログラムは、JPG 画像、ドキュメント、通常のテキストの違いをどのようにして認識するのでしょうか? Content-Type の後に、boundary="XX-1234DED00099A" パラメーターがあることがわかります。この値は、メールのさまざまな
部分を区切るために使用されます。これは MIME 境界タグと呼ばれます。メッセージ範囲を超えた場合の混乱を避けるために、境界タグの値はできる限り一意である必要があります。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/509090.html技術記事著者: Kartic Krishnamurthy 翻訳者: limodou 「それでは、MIME 準拠のメッセージを作成するにはどうすればよいでしょうか?」 上記の一般的な説明を踏まえて、いわゆる MIME メッセージとは何かを見てみましょう...

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート