/**
  * メール送信処理
  *
  * @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;
 }