Browse Source
new OC_Mail class to handle all mail sending. The benefit is that is way mor flexible than the standard mail command. can be configured to use a remote smtp relay for example. also port the lostpassword code
remotes/origin/stable4
new OC_Mail class to handle all mail sending. The benefit is that is way mor flexible than the standard mail command. can be configured to use a remote smtp relay for example. also port the lostpassword code
remotes/origin/stable4
3 changed files with 125 additions and 1 deletions
@ -0,0 +1,116 @@ |
|||
<?php |
|||
/** |
|||
* Copyright (c) 2012 Frank Karlitschek <frank@owncloud.org> |
|||
* This file is licensed under the Affero General Public License version 3 or |
|||
* later. |
|||
* See the COPYING-README file. |
|||
*/ |
|||
|
|||
/** |
|||
* OC_Mail |
|||
* |
|||
* A class to handle mail sending. |
|||
*/ |
|||
|
|||
require_once('class.phpmailer.php'); |
|||
|
|||
class OC_Mail { |
|||
|
|||
/** |
|||
* 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(); |
|||
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;; |
|||
$a=explode(' ',$toaddress); |
|||
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 from '.$fromname.' ('.$fromaddress.')'.' to: '.$toname.'('.$toaddress.')'.' subject: '.$subject,'mail',OC_Log::DEBUG); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
/** |
|||
* sending a mail based on a template |
|||
* |
|||
* @param texttemplate $texttemplate |
|||
* @param htmltemplate $htmltemplate |
|||
* @param data $data |
|||
* @param To $toaddress |
|||
* @param ToName $toname |
|||
* @param Subject $subject |
|||
* @param From $fromaddress |
|||
* @param FromName $fromname |
|||
* @param ccaddress $ccaddress |
|||
* @param ccname $ccname |
|||
* @param bcc $bcc |
|||
*/ |
|||
public static function getfooter() { |
|||
|
|||
$txt="\n--\n"; |
|||
$txt.="ownCloud\n"; |
|||
$txt.="Your Cloud, Your Data, Your Way!\n"; |
|||
return($txt); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue