導入まずはじめにZend_Mail は、テキストメールや MIME マルチパートメールを作成・送信するための一般的な機能を提供します。 Zend_Mail を使用すると、デフォルトの Zend_Mail_Transport_Sendmail か、あるいは Zend_Mail_Transport_Smtp を使用してメールを送信できます。 Example #1 Zend_Mail を使用したシンプルなメール送信 受信者、表題、本文および送信者を指定しただけの単純なメールです。 このようなメールを Zend_Mail_Transport_Sendmail を用いて送信するには、次のようにします。
大半の属性については、その情報を読み込むための "get" メソッドが用意されています。詳細は、API ドキュメントを参照ください。 getRecipients() だけは特別で、 これまでに追加されたすべての受信者アドレスを配列で返します。 セキュリティの観点から、Zend_Mail はすべてのヘッダフィールドの改行文字 (\n) を取り除きます。 これにより、ヘッダインジェクションを防ぎます。 送信者名およびあて先名中の2重引用符は単一引用符に、山括弧は角括弧に変更されます。 もしその記号がメールアドレス中にある場合は除去されます。 Zend_Mail オブジェクトのほとんどのメソッドは、 流れるようなインターフェイス形式でコールすることもできます。
デフォルトの sendmail トランスポートの設定Zend_Mail がデフォルトで使用するのは Zend_Mail_Transport_Sendmail です。これは、単に PHP の » mail() 関数をラップしただけのものです。 » mail() 関数に追加のパラメータを渡したい場合は、 新しいインスタンスを作成する際のコンストラクタにパラメータを渡します。 新しく作成したインスタンスは、Zend_Mail のデフォルトのトランスポートとすることができます。 あるいは Zend_Mail の send() メソッドに渡すこともできます。 Example #2 Zend_Mail_Transport_Sendmail トランスポートへの追加パラメータの渡し方 この例は、» mail() 関数の Return-Path を変更する方法を示すものです。
Warning
Sendmail トランスポートと WindowsPHP マニュアルでは、 mail()関数は Windows と *nix ベースのシステムとでは、 異なる振る舞いをすると述べています。 Windows で Sendmail トランスポートを利用すると、 addBcc() との連携は動作しません。 他のすべての受信者が、受信者として彼を見られるように、 mail() 関数は BCC 受信者に送ります。 そのため、もし Windows サーバで BCC を使いたいなら、 SMTP トランスポートを送信に使ってください。
|