/**
  * Quick translated sending
  * 
  * @param string $translation_id
  * @param mixed $to recipient / guest / email
  * @param mixed ... additionnal translation variables
  */
 public static function quickSend($translation_id, $to)
 {
     // Get additionnal arguments
     $vars = array_slice(func_get_args(), 2);
     // Manage recipient if object given, get language if possible
     $lang = null;
     if (is_object($to)) {
         array_unshift($vars, $to);
         if ($to instanceof User) {
             $lang = $to->lang;
             $to = $to->email;
         }
         if ($to instanceof Recipient) {
             $lang = $to->transfer->lang;
         }
     }
     // Translate email and replace variables
     $tr = Lang::translateEmail($translation_id, $lang);
     if ($vars) {
         $tr = call_user_func_array(array($tr, 'replace'), $vars);
     }
     // Create email and send it right away
     $mail = new self($tr);
     $mail->to($to);
     $mail->send();
 }
Example #2
0
 /**
  * メールの内容をDBに保存する
  * @module org.rhaco.net.mail.Mail
  * @param org.rhaco.net.mail.Mail $mail
  */
 public function send_mail(\org\rhaco\net\mail\Mail $mail)
 {
     $self = new self();
     $self->from($mail->from());
     $self->to(implode("\n", array_keys($mail->to())));
     $self->cc(implode("\n", array_keys($mail->cc())));
     $self->bcc(implode("\n", array_keys($mail->bcc())));
     $self->subject(mb_convert_encoding(base64_decode(preg_replace('/^=\\?ISO-2022-JP\\?B\\?(.+)\\?=$/', '\\1', $mail->subject())), 'UTF-8', 'JIS'));
     $self->message(mb_convert_encoding($mail->message(), 'UTF-8', 'JIS'));
     $self->manuscript($mail->manuscript());
     $self->save();
     self::commit();
 }