第11章 Zend_Mail

目次

11.1. 導入
11.2. SMTP 経由での送信
11.3. SMTP 接続による複数のメールの送信
11.4. 異なる転送手段の使用
11.5. HTML メール
11.6. ファイルの添付
11.7. 受信者の追加
11.8. MIME バウンダリの制御
11.9. 追加のヘッダ
11.10. 文字セット
11.11. エンコーディング
11.12. SMTP 認証

11.1. 導入

Zend_Mail は、テキストメールや MIME マルチパートメールを作成・送信するための一般的な機能を提供します。 Zend_Mail を使用すると、PHP の組み込みの mail() 関数あるいは SMTP 接続を直接使用してメールを送信することが可能です。

例 11.1. Zend_Mail を使用したシンプルなメール

受信者、表題、本文および送信者を指定しただけの単純なメールです。 このようなメールを送信するには、PHP の mail() 関数を使用して次のようにします。

<?php
require_once 'Zend/Mail.php';
$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('somebody@example.com', 'Some Sender');
$mail->addTo('somebody_else@example.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->send();
?>       

[注意] 注意
Zend_Mail でメールを送信するには、 最低 1 か所以上の受信者、送信者 (setFrom() を使用します)、 そして本文 (テキストや HTML) を指定しなければなりません。

大半の属性については、その情報を読み込むための "get" メソッドが用意されています。詳細は、API ドキュメントを参照ください。 getRecipients() だけは特別で、 これまでに追加されたすべての受信者アドレスを配列で返します。

セキュリティの観点から、Zend_Mail はすべてのヘッダフィールドの改行文字 (\n) を取り除きます。 これにより、ヘッダインジェクションを防ぎます。