Back to PhocacartEmail class

Method sendEmail

public static
sendEmail
(mixed $from = '', mixed $fromName = '', mixed $recipient = '', mixed $subject = '', mixed $body = '', mixed $mode = false, mixed $cc = array(), mixed $bcc = array(), mixed $attachment = null, mixed $attachmentString = '', mixed $attachmentFilename = '', mixed $replyTo = null, mixed $replyToName = null)

Method sendEmail - Source code

public static function sendEmail($from = '', $fromName = '', $recipient = '', $subject = '', $body = '', $mode = false, $cc = array(), $bcc = array(), $attachment = null, $attachmentString = '', $attachmentFilename = '', $replyTo = null, $replyToName = null)
{
    //public static function sendEmail($from = '', $fromName = '', $recipient, $subject, $body, $mode = false, $cc = array(), $bcc = array(), $attachment = null, $replyTo = null, $replyToName = null) {
    $config = Factory::getConfig();
    if ($from == '') {
        $from = $config->get('mailfrom');
    }
    if ($fromName == '') {
        $fromName = $config->get('fromname');
    }
    if ($replyTo == '') {
        $replyTo = $from;
    }
    if ($replyToName == '') {
        $replyToName = $fromName;
    }
    if ($cc == '') {
        $cc = array();
    }
    if ($bcc == '') {
        $bcc = array();
    }
    // REMOVE DUPLICITY EMAIL ADDRESS: recepient vs. cc vs. bcc
    $dR = array(0 => $recipient);
    $dCc = is_array($cc) ? $cc : array(0 => $cc);
    $dBcc = is_array($bcc) ? $bcc : array(0 => $bcc);
    if (!empty($dCc)) {
        foreach ($dCc as $k => $v) {
            if (in_array($v, $dR)) {
                unset($dCc[$k]);
            }
        }
    }
    if (!empty($dBcc)) {
        foreach ($dBcc as $k => $v) {
            if (in_array($v, $dR)) {
                unset($dBcc[$k]);
            } else {
                if (in_array($v, $dCc)) {
                    unset($dBcc[$k]);
                }
            }
        }
    }
    // Set back cleaned arrays
    $cc = $dCc;
    $bcc = $dBcc;
    // Attachment
    /*if (!empty($tmpl['attachment'])) {
    			$i = 0;
    			foreach ($tmpl['attachment'] as $key => $value) {
    				if(isset($data['attachment'][$i]) && $data['attachment'][$i]) {
    					if (File::exists($tmpl['attachment_full'][$i])) {
    						$attachmentArray[] = $tmpl['attachment_full'][$i];
    					} else {
    						$warning[]	= Text::_('COM_PHOCAEMAIL_ERROR_FILE_NOT_EXISTS').': '. $tmpl['attachment_full'][$i];
    					}
    				}
    				$i++;
    			}
    		}*/
    $subject = html_entity_decode($subject, ENT_QUOTES);
    $body = html_entity_decode($body, ENT_QUOTES);
    $mail = PhocacartEmailFactory::getMailer();
    $body = $body . PhocacartUtilsInfo::getInfo($mode);
    $sendMail = $mail->sendMailA($from, $fromName, $recipient, $subject, $body, $mode, $cc, $bcc, $attachment, $attachmentString, $attachmentFilename, $replyTo, $replyToName);
    if (is_object($sendMail) && $sendMail->getMessage()) {
        PhocacartLog::add(2, 'Error sending email', 0, $sendMail->getMessage() . ', Mail From: ' . $from);
        return false;
    } else {
        if (!$sendMail) {
            PhocacartLog::add(2, 'Error sending email', 0, 'No error data set, Mail From: ' . $from);
            return false;
        } else {
            return true;
        }
    }
}