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();