public function actionSendEmails()
 {
     Param::checkRequired(array(MailerModule::PARAM_REPLY_EMAIL, MailerModule::PARAM_FROM_EMAIL, MailerModule::PARAM_FROM_NAME, MailerModule::PARAM_PASSWORD, MailerModule::PARAM_LOGIN, MailerModule::PARAM_HOST, MailerModule::PARAM_PORT), 'mailer');
     MailerOutbox::sendEmails();
 }
示例#2
0
 public static function sendMail($email_to, $subject, $body)
 {
     Param::checkRequired(array(self::PARAM_FROM_EMAIL, self::PARAM_FROM_NAME, self::PARAM_REPLY_EMAIL, self::PARAM_HOST, self::PARAM_PORT, self::PARAM_LOGIN, self::PARAM_PASSWORD));
     require_once LIBRARIES_PATH . 'PHPMailer/class.phpmailer.php';
     $settings = Param::model()->findCodesValues('mailer');
     $encoding = "utf-8";
     $hidden_copy = true;
     $subject = iconv($encoding, "{$encoding}//IGNORE", $subject);
     $from_name = iconv($encoding, "{$encoding}//IGNORE", $settings[self::PARAM_FROM_NAME]);
     $from_email = iconv($encoding, "{$encoding}//IGNORE", $settings[self::PARAM_FROM_EMAIL]);
     $reply_email = iconv($encoding, "{$encoding}//IGNORE", $settings[self::PARAM_REPLY_EMAIL]);
     $mail = new PHPMailer(true);
     $mail->IsSMTP();
     $mail->CharSet = $encoding;
     $mail->SMTPDebug = 1;
     $mail->Host = $settings[self::PARAM_HOST];
     $mail->SMTPAuth = true;
     $mail->SMTPKeepAlive = true;
     $mail->Port = $settings[self::PARAM_PORT];
     $mail->Username = $settings[self::PARAM_LOGIN];
     $mail->Password = $settings[self::PARAM_PASSWORD];
     $mail->AddReplyTo($reply_email, $from_name);
     $add_address_method = $hidden_copy ? 'AddBCC' : 'AddAddress';
     if (is_array($email_to)) {
         foreach ($email_to as $ind => $email) {
             $mail->{$add_address_method}($email, $email);
         }
     } else {
         $mail->{$add_address_method}($email_to, $email_to);
     }
     $mail->SetFrom($from_email, $from_name);
     $mail->Subject = $subject;
     $mail->MsgHTML(iconv($encoding, "{$encoding}//IGNORE", $body));
     $mail->Send();
     $mail->ClearAttachments();
     $mail->ClearBCCs();
     $mail->ClearAddresses();
 }