Fuelphp-email-management
提供:Dev Guides
FuelPHP-メール管理
電子メール機能は、Webフレームワークで最も要求されている機能です。 FuelPHPは、パッケージとしてバンドルされたエレガントなメールクラスを提供します。 単純なプレーンテキストの電子メールと、複数の添付ファイルを含む高度なリッチテキストの電子メールの送信に使用されます。 次の機能をサポートしています-プレーンテキストメール、HTMLメール、添付ファイル、およびインライン添付ファイル。
設定
アプリケーションで電子メール機能を有効にするには、メイン構成ファイルfuel/app/config/config.phpで以下に指定されているように電子メールパッケージをロードするだけです。
'always_load' => array (
'packages' => array (
'email',
),
),
もう1つのオプションは、電子メールパッケージ、コントローラー自体を次のようにロードすることです。
\Package::load('email');
メールの設定はメインの設定ファイルで行うことができ、重要なオプションのいくつかは次のとおりです。
- driver -smtpなどのメールドライバー
- is_html -HTMLコンテンツとしてメールを送信するかどうか
- priority -メールの優先度
- smtp.host -SMTPサーバーホスト
- smtp.port -SMTPサーバーポート
- smtp.username -SMTPサーバーのユーザー名
- smtp.password -SMTPサーバーのパスワード
- smtp.timeout -SMTPタイムアウト
- smtp.starttls -SMTPサーバーにSTARTTLSコマンドが必要かどうか
Email API
以下は、電子メールおよび電子メールドライバークラスによって提供されるAPIです。
フォージ
目的:電子メールドライバーのインスタンスを作成します。 受け取った構成または入力に基づいてドライバーを作成します。 メールドライバーは、メールを作成および送信する機能を提供します。 考えられる電子メールドライバーの一部は、* smtp、sendmail、mailgun、、 *mandrill です。
- パラメータ-なし、または構成詳細の配列
- 戻り値-Email_Driverオブジェクトを返します
例えば、
$email = \Email::forge();
$email = \Email::forge (array(
'driver' => 'smtp',
));
body
- 目的-メッセージ本文を設定するには
- パラメータ-$ body-メッセージ本文
- 戻り値-現在のインスタンスを返します
例えば、
$email = \Email::forge();
$email->body('Body message');
//or pass it a View
$email->body(\View::forge('my/view', $data);
alt_body
- 目的-代替メッセージ本文を設定するには
- パラメータ-$ alt_body-代替メッセージ本文
- 戻り値-現在のインスタンスを返します
例えば、
$email = \Email::forge();
$email->alt_body('Body message');
//or pass it a View
$email->alt_body(\View::forge('my/view', $data);
優先度
- 目的-メールの優先度を設定する
- パラメータ-
- $ priority -優先度の値。 オプションは-
a. \Email::P_LOWEST
* \Email::P_LOW
* \Email::P_NORMAL
* \Email::P_HIGH
* \Email::P_HIGHEST
- 戻り値-現在のインスタンスを返します
例えば、
$email = \Email::forge();
$email->priority(\Email::P_HIGHEST);
html_body
- 目的-HTML形式でメッセージ本文を設定するには
- パラメータ-
- $ html -HTMLのメッセージ本文。
- generate_alt -代替メッセージを生成するかどうか。
- auto_attach -画像を埋め込むかどうか
- 戻り値-現在のインスタンスを返します
例えば、
$email = \Email::forge();
//Do generate the alt body, but don't auto attach images.
$email->html_body(\View::forge('welcome/email', $data), true, false);
from
- 目的-差出人アドレスを設定するには
- パラメータ-
- $ from -電子メールアドレスから。
- $ name -送信者の名前
- 戻り値-現在のインスタンスを返します
例えば、
$email = \Email::forge();
$email->from('[email protected]', 'My Name');
件名
- 目的-メッセージの件名を設定する
- パラメータ-$ subject-電子メールメッセージの件名
- 戻り値-現在のインスタンスを返します
例えば、
$email = \Email::forge();
$email->subject('Suject of the mail message');
to
- 目的-受信者のメールアドレスを設定するには
- パラメータ-
- $ email -電子メールアドレスまたは電子メールアドレスの配列。
- $ name -受信者名
- 戻り値-現在のインスタンスを返します
例えば、
$email = \Email::forge();
$email->to('[email protected]', 'My Dear Name');
$email->to (array(
'[email protected]',
'[email protected]' => 'My Dear friend',
));
ヘッダ
- 目的-電子メールメッセージにカスタムヘッダーを設定するには
- パラメータ-
- $ header -ヘッダータイプまたはヘッダーの配列。
- $ value -ヘッダーの値
- 戻り値-現在のインスタンスを返します
例えば、
$email = \Email::forge();
$email->header('X-SMTPAP', 'XXXXXXXX');
$email>reply_to (array(
'X-SMTPAP' => 'XXXXXX',
'X-SMTPAP2' > 'XXXXXA',
));
つける
- 目的-電子メールメッセージにファイルを添付するには
- パラメータ-
- $ file -ファイルパス。
- $ inline -ファイルをインラインで添付するかどうか。
- $ cid -コンテンツ識別子。
- $ mime -添付ファイルのMIMEタイプ。
- $ name -添付ファイル名の上書き
- 戻り値-現在のインスタンスを返します
例えば、
$email = \Email::forge();
$email>attach(DOCROOT.'attachments/sample_attachment.pdf');
send
- 目的-メールを送信します。
- パラメータ-
- $ validate -メールアドレスを検証するかどうか
- 戻り値-trueまたはfalse
例えば、
$email = \Email::forge();
try{
$email->send();
} catch(\EmailSendingFailedException $e) {
//The driver could not send the mail.
} catch(\EmailValidationFailedException $e) {
//One or more email addresses failed validation.
}
作業用メールのサンプル
前の章で学習したAPIを使用して、メッセージを送信する簡単なコードを作成しましょう。 以下は、メッセージを送信する最も簡単なコードです。
$email = Email::forge();
$email->from('[email protected]', 'person1');
$email->to('[email protected]', 'person2');
$email->subject('Add something');
$email->body('contents of mail'); $email->send();