/**
  * テスト送信
  *
  * @access public
  * @param
  * @return void
  * @author ida
  */
 public function action_test()
 {
     $this->template = '';
     $to = \Input::post('deliveredTo');
     $input_data = $this->getInputData();
     $replace_data = array();
     $replace_data['user'] = $this->administrator;
     $mail_magazine_type = $input_data['mail_magazine_type'];
     switch ($mail_magazine_type) {
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_ALL:
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_REQUEST:
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_RESEVED_ENTRY:
             $fleamarket = \Model_Fleamarket::find($input_data['reserved_fleamarket_id']);
             $replace_data['fleamarket'] = $fleamarket;
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_WAITING_ENTRY:
             $fleamarket = \Model_Fleamarket::find($input_data['waiting_fleamarket_id']);
             $replace_data['fleamarket'] = $fleamarket;
             break;
     }
     $from_email = $input_data['from_email'];
     $from_name = $input_data['from_name'];
     $subject = trim($input_data['subject']);
     $body = $input_data['body'];
     $pattern = \Model_Mail_Magazine::getPatternParameter($mail_magazine_type);
     list($pattern, $replacement) = \Model_Mail_Magazine::createReplaceParameter($body, $pattern, $replace_data);
     $body = \Model_Mail_Magazine::replaceByParam($body, $pattern, $replacement);
     $success = false;
     $message = '';
     if (filter_var($to, FILTER_VALIDATE_EMAIL)) {
         try {
             $success = \Model_Mail_Magazine::sendMail($from_name, $from_email, $to, $subject, $body);
         } catch (\Exception $e) {
             $message = $e->getMessage();
             $success = false;
         }
     } else {
         $message = '差出人メールアドレスが正しくありません';
     }
     $response = array();
     if ($success) {
         $response = array('status' => 200);
     } else {
         $response = array('status' => 400, 'message' => $message);
     }
     return $this->responseJson($response);
 }
 /**
  * メール送信処理
  *
  * @access public
  * @param array $mail_magazine_user 送信先ユーザ情報
  * @param array $mail_magazine メルマガ情報
  * @param array $replace_data 本文リプレイス情報
  * @return bool/string
  * @author ida
  */
 private function send($mail_magazine_user, $mail_magazine, $replace_data)
 {
     if (empty($mail_magazine_user->email)) {
         throw new \Exception('email is not registered');
     }
     if ($mail_magazine_user->email === '*****@*****.**') {
         throw new \Exception('email is anonymous@');
     }
     $mail_magazine_type = $mail_magazine['mail_magazine_type'];
     $from_name = $mail_magazine['from_name'];
     $from_email = $mail_magazine['from_email'];
     $to = $mail_magazine_user->email;
     $subject = \Model_Mail_Magazine::convertEncoding($mail_magazine['subject']);
     $body = $mail_magazine['body'];
     $replace_data['user'] = $mail_magazine_user;
     $pattern = \Model_Mail_Magazine::getPatternParameter($mail_magazine_type);
     list($pattern, $replacement) = \Model_Mail_Magazine::createReplaceParameter($body, $pattern, $replace_data);
     $body = \Model_Mail_Magazine::replaceByParam($body, $pattern, $replacement);
     $result = \Model_Mail_Magazine::sendMail($from_name, $from_email, $to, $subject, $body);
     if (true === $result) {
         $result = \Model_Mail_Magazine_User::SEND_STATUS_NORMAL_END;
     } elseif (false === $send_result) {
         $result = \Model_Mail_Magazine_User::SEND_STATUS_UNSENT;
     }
     return $result;
 }