作成日: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して置き換えるか、それとも別のトコから取得してくるか、好きにする。