/** * send an email * * @param string $toaddress * @param string $toname * @param string $subject * @param string $mailtext * @param string $fromaddress * @param string $fromname * @param bool $html */ public static function send($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html = 0, $altbody = '', $ccaddress = '', $ccname = '', $bcc = '') { $SMTPMODE = OC_Config::getValue('mail_smtpmode', 'sendmail'); $SMTPHOST = OC_Config::getValue('mail_smtphost', '127.0.0.1'); $SMTPAUTH = OC_Config::getValue('mail_smtpauth', false); $SMTPUSERNAME = OC_Config::getValue('mail_smtpname', ''); $SMTPPASSWORD = OC_Config::getValue('mail_smtppassword', ''); $mailo = new PHPMailer(true); if ($SMTPMODE == 'sendmail') { $mailo->IsSendmail(); } elseif ($SMTPMODE == 'smtp') { $mailo->IsSMTP(); } elseif ($SMTPMODE == 'qmail') { $mailo->IsQmail(); } else { $mailo->IsMail(); } $mailo->Host = $SMTPHOST; $mailo->SMTPAuth = $SMTPAUTH; $mailo->Username = $SMTPUSERNAME; $mailo->Password = $SMTPPASSWORD; $mailo->From = $fromaddress; $mailo->FromName = $fromname; $mailo->Sender = $fromaddress; $a = explode(' ', $toaddress); try { foreach ($a as $ad) { $mailo->AddAddress($ad, $toname); } if ($ccaddress != '') { $mailo->AddCC($ccaddress, $ccname); } if ($bcc != '') { $mailo->AddBCC($bcc); } $mailo->AddReplyTo($fromaddress, $fromname); $mailo->WordWrap = 50; if ($html == 1) { $mailo->IsHTML(true); } else { $mailo->IsHTML(false); } $mailo->Subject = $subject; if ($altbody == '') { $mailo->Body = $mailtext . OC_MAIL::getfooter(); $mailo->AltBody = ''; } else { $mailo->Body = $mailtext; $mailo->AltBody = $altbody; } $mailo->CharSet = 'UTF-8'; $mailo->Send(); unset($mailo); OC_Log::write('mail', 'Mail from ' . $fromname . ' (' . $fromaddress . ')' . ' to: ' . $toname . '(' . $toaddress . ')' . ' subject: ' . $subject, OC_Log::DEBUG); } catch (Exception $exception) { OC_Log::write('mail', $exception->getMessage(), OC_Log::ERROR); throw $exception; } }
/** * send an email * * @param string $toaddress * @param string $toname * @param string $subject * @param string $mailtext * @param string $fromaddress * @param string $fromname * @param integer $html * @param string $altbody * @param string $ccaddress * @param string $ccname * @param string $bcc * @throws Exception */ public static function send($toaddress, $toname, $subject, $mailtext, $fromaddress, $fromname, $html = 0, $altbody = '', $ccaddress = '', $ccname = '', $bcc = '') { $SMTPMODE = OC_Config::getValue('mail_smtpmode', 'sendmail'); $SMTPHOST = OC_Config::getValue('mail_smtphost', '127.0.0.1'); $SMTPPORT = OC_Config::getValue('mail_smtpport', 25); $SMTPAUTH = OC_Config::getValue('mail_smtpauth', false); $SMTPAUTHTYPE = OC_Config::getValue('mail_smtpauthtype', 'LOGIN'); $SMTPUSERNAME = OC_Config::getValue('mail_smtpname', ''); $SMTPPASSWORD = OC_Config::getValue('mail_smtppassword', ''); $SMTPDEBUG = OC_Config::getValue('mail_smtpdebug', false); $SMTPTIMEOUT = OC_Config::getValue('mail_smtptimeout', 10); $SMTPSECURE = OC_Config::getValue('mail_smtpsecure', ''); $mailo = new PHPMailer(true); if ($SMTPMODE == 'sendmail') { $mailo->IsSendmail(); } elseif ($SMTPMODE == 'smtp') { $mailo->IsSMTP(); } elseif ($SMTPMODE == 'qmail') { $mailo->IsQmail(); } else { $mailo->IsMail(); } $mailo->Host = $SMTPHOST; $mailo->Port = $SMTPPORT; $mailo->SMTPAuth = $SMTPAUTH; $mailo->SMTPDebug = $SMTPDEBUG; $mailo->SMTPSecure = $SMTPSECURE; $mailo->AuthType = $SMTPAUTHTYPE; $mailo->Username = $SMTPUSERNAME; $mailo->Password = $SMTPPASSWORD; $mailo->Timeout = $SMTPTIMEOUT; $mailo->From = $fromaddress; $mailo->FromName = $fromname; $mailo->Sender = $fromaddress; $mailo->XMailer = ' '; try { $toaddress = self::buildAsciiEmail($toaddress); $mailo->AddAddress($toaddress, $toname); if ($ccaddress != '') { $mailo->AddCC($ccaddress, $ccname); } if ($bcc != '') { $mailo->AddBCC($bcc); } $mailo->AddReplyTo($fromaddress, $fromname); $mailo->WordWrap = 78; $mailo->IsHTML($html == 1); $mailo->Subject = $subject; if ($altbody == '') { $mailo->Body = $mailtext . OC_MAIL::getfooter(); $mailo->AltBody = ''; } else { $mailo->Body = $mailtext; $mailo->AltBody = $altbody; } $mailo->CharSet = 'UTF-8'; $mailo->Send(); unset($mailo); OC_Log::write('mail', 'Mail from ' . $fromname . ' (' . $fromaddress . ')' . ' to: ' . $toname . '(' . $toaddress . ')' . ' subject: ' . $subject, OC_Log::DEBUG); } catch (Exception $exception) { OC_Log::write('mail', $exception->getMessage(), OC_Log::ERROR); throw $exception; } }