【FuelPHP】複数のファイルを添付してメールを送る方法

複数のファイルを添付してメールを送信する方法メモしておきます。

FuelPHPで複数のファイルを添付してメールを送る方法

メール送信入力画面に以下のようなファイル添付フォームを用意します。

ファイルの添付はattachメソッドを使います。このメソッドは、config/email.phpのattach_pathsにセットされたパスの中からファイルを検索します。パラメーターは以下の通りです。

第一引数は必須です。

  • $file string

false。同封したいファイルのパス。

  • $inline bool

false。インラインでファイルを添付するかどうか。

  • $cid string

null。コンテンツ ID 。インライン画像として添付する場合に使用。

  • $mime string

null。デフォルトでは、mimetype は core/config/mimes の配列から検索。

  • $name string

null。上書きする添付名。

\Input::post()でメールアドレスや本文などのメール送信内容を取得し、\Upload::get_files()で添付ファイルを取得します。

取得した添付ファイルをforeach()でまわし、バリデートに成功した場合、メールにファイルを添付します。

その後はいつものメール送信のように、送信先メールアドレス・送信元メールアドレス・題名・本文をセットし、完了です。

本文はnl2br()関数を使い、改行文字の前にHTMLの改行タグを挿入しています。

以上、複数のファイルを添付してメールを送る方法でした。

参考: