作成日:2006/05/25
2H メール送信
2H.1 インターネット標準のメールフォーマット
2H.2 MIME
2H.3 日本語とMIME
2H.4 MIME関連関数
2H.5 メール送信関数
2H.6 sendmailを使ったメール送信
2H.7 メール送信関数の例
2H.8 添付ファイルの送信
2H.1 インターネット標準のメールフォーマット
メール関連のプロトコル( SMTP、POP、IMAP )はインターネット標準のメールフォーマット(RFC822)を前提にしています。
RFC822 (STD11) Standard for ARPA Internet Text Messages
http://www.ietf.org/rfc/rfc822.txt
RFC822はテキスト形式のメールを対象にしたもので、文字コードは英語圏の7bitコードが使用されています。 実際のメールでは、この標準フォーマットにMIME( Multipurpose Internet Mail Extensions ) と呼ばれる拡張フォーマットが適用されたものが使用されます。また、RFC822 はHTTPメッセージのフォーマットに影響を与えており、両者は酷似しています。
例:メールのメッセージフォーマット
Return-Path: <y2sunlight@sample.ne.jp> Delivered-To: m05075511-info@y2sunlight.com Received: (qmail 11461 invoked from network); 27 Jul 2005 10:14:29 +0900 Received: from unknown (HELO sv228.sample.jp) (127.0.0.1) by 0 with SMTP; 27 Jul 2005 10:14:29 +0900 Received: from 210.80.241.185 (210.80.241.185) by sv228.sample.jp (SAMPLE-Fsecure); Wed, 27 Jul 2005 10:14:28 +0900 (JST) Date: Wed, 27 Jul 2005 10:14:40 +0900 Subject: Hello To: info@y2sunlight.com From: y2sunlight@sample.ne.jp X-Mailer: PHP/5.0.4 How are you?
- メールメッセージは CR(0x0D) と LF(0x0A) によって終わる行で構成されています。
- 1行は最大1000バイトまで、推奨は80バイトまで( CRとLF含む )とされています。
- ヘッダー部とボティ部は、空行( CRとLFのみの行 )によって分かれています。
- ヘッダー部は次の形式の行で構成されています:
フィールド名: フィールド値{[;パラメータ名=パラメータ値]}
※ 1行が80バイトを超える場合は続く行の先頭に空白(0x20)または水平タブ(0x09)を置きます。
※ プロトコル上はフィールド名の大文字と小文字は区別されません。
※ プロトコル上はフィールド名の大文字と小文字は区別されません。
メール送信で扱う主なヘッダーフィールド
| フィールド名 | 説明 |
|---|---|
| Subject | メールの件名 |
| From | 差出人のメールアドレス(複数指定可能) ※ 複数指定の場合はカンマ(,)でアドレスを連結する |
| Cc | カーボンコピー先のメールアドレス(複数指定可能) |
| Bcc | ブラインドカーボンコピー先のメールアドレス(複数指定可能) ※ 実際に送信する時はメールサーバによって取り除かれます |
| Sender | 実際の差出人のアドレス ※ Fromに似ていますが、実際の送信者を表しアドレスは1つしか指定できません |
| Reply-To | 返信先のメールアドレス ※ 指定されていない場合には、通常Fromが返信先として使用されます |
| 「X-」で始まる フィールド |
アプリケーション(メーラなど)固有のフィールドで互換性はありません ※ X-Mailer(メーラ・アプリケーションの種類を示す文字列)などのように実質的に標準になったものもあります |
