作成日:2018-03-05, 更新日:2018-03-05
サンプルソース
基本、たたき台なので、必要に応じて修正する。
<?php
class Util_Email {
/** メール送信
* ▼$prmAry["cc"]、$prmAry["bcc"]
* $prmAry["cc"] = 'xxx@example.com'; // 名前なし・一人だけ
* $prmAry["cc"] = array('xxx@example.com'=>'○○○'); // 名前あり
* $prmAry["cc"] = array('xxx@example.com', // 複数人(名前なし)
* 'xxx@example.com' );
* $prmAry["cc"] = array('xxx@example.com'=>'○○○', // 複数人(名前あり)
* 'xxx@example.com'=>'○○○' );
*
* ▼添付ファイル1つだけ
* $prmAry["attach"] = DOCROOT . "assets/img/xxx.png"
*
* ▼添付ファイル複数
* $prmAry["attach"]= array( DOCROOT . "assets/img/xxx.png",
* DOCROOT . "assets/css/xxx.css"
* );
**/
public static function mailSend($toMail, $title='', $body='', $prmAry=array()) {
// 提供元(from):名称、メアド
$offerName = '株式会社〇〇〇';
$offerMail = '〇〇〇@example.com';
$result = array(
"status" => false,
"message" => ""
);
$tmpFromMail = $offerMail;
$tmpFromName = $offerName;
if (isset($prmAry["fromMail"])) {
$tmpFromMail = $prmAry["fromMail"];
if ( isset($prmAry["fromName"]) ) {
$tmpFromName = $prmAry["fromName"];
}
else {
$tmpFromName = "";
}
}
//インスタンスの作成
$email = \Email::forge('jis');
//メール情報の設定
$email->from($tmpFromMail, $tmpFromName);
$email->to($toMail);
// cc
if ( isset($prmAry["cc"]) ) {
$email->cc($prmAry["cc"]);
}
// bcc
if ( isset($prmAry["bcc"]) ) {
$email->bcc($prmAry["bcc"]);
}
$email->subject($title);
$email->body(mb_convert_encoding($body, 'jis'));
// 添付ファイル
if ( isset($prmAry["attach"]) ) {
// 複数ファイルを添付するなら配列
if ( is_array($prmAry["attach"]) ) {
foreach ($prmAry["attach"] as $rowAttach) {
$email->attach($rowAttach);
}
}
else {
$email->attach($prmAry["attach"]);
}
}
try {
//メール送信
$email->send();
$result["status"] = true;
}
catch (\EmailValidationFailedException $e) {
$result["message"] = 'address error(EmailValidationFailedException)<br />'
. $e->getMessage();
}
catch (\EmailSendingFailedException $e) {
$result["message"] = 'send error(EmailSendingFailedException)<br />'
. $e->getMessage();
}
catch(Exception $e) {
//その他のエラー
$result["message"] = 'error(Exception)<br />'
. $e->getMessage();
}
return $result;
}
}
・「$offerName」「$offerMail」は直書きするか、constして置き換えるか、それとも別のトコから取得してくるか、好きにする。