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(); }
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(); }