Source for file template_newsletter.php
Documentation is available at template_newsletter.php 
 * @author linea21 <info@linea21.com>  
 * @license http://opensource.org/licenses/gpl-3.0.html  
 * http://www.howtoforge.com/forums/showthread.php?t=4  
  $needles =  array('href="', 'src="', 'background="');  
  if(substr($base_url,- 1) !=  '/') $base_url .=  '/';  
  $new_base_url =  $base_url;  
  foreach($needles as $needle){  
    while($pos =  strpos($txt, $needle)){  
      if(substr($txt,$pos,7) !=  'http://' &&  substr($txt,$pos,8) !=  'https://' &&  substr($txt,$pos,6) !=  'ftp://' &&  substr($txt,$pos,7) !=  'mailto:'){  
        if(substr($txt,$pos,1) ==  '/') $new_base_url =  $base_url_parts['scheme']. '://'. $base_url_parts['host'];  
        $new_txt .=  substr($txt,0,$pos). $new_base_url;  
        $new_txt .=  substr($txt,0,$pos);  
require_once '../lib/vendor/swift/lib/swift_required.php';  
// We create the Transport  
    $transport =  Swift_MailTransport::newInstance();  
    if(MAIL_MAILER== 'sendmail') {  
        $transport =  Swift_SendmailTransport::newInstance(MAIL_SENDMAIL);  
    if(MAIL_MAILER== 'smtp') {  
        if(defined('MAIL_SMTP_AUTH') &&  MAIL_SMTP_AUTH ==  1) {  
            $transport =  Swift_SmtpTransport::newInstance(MAIL_HOST, MAIL_PORT)  
            ->setUsername(MAIL_SMTP_USER)  
            ->setPassword(MAIL_SMTP_PASS);  
            $transport =  Swift_SmtpTransport::newInstance(MAIL_HOST, MAIL_PORT);  
// Create the Mailer using the Transport  
$mailer =  Swift_Mailer::newInstance($transport);  
 echo "destinataire : ".$email_recipient."<br />";  
 echo "sujet : ".$email_subject."<br />";  
 echo "body : ".$email_html_body."<br />";  
 echo "methode : ".$email_method."<br />";  
 echo "host : ".$mail->Host."<br />";  
 echo "port : ".$mail->Port."<br />";  
for($i =  0;$i <  count($newsletters); $i++ ) {  
  $newsletter_id =  $newsletters[$i]['newsletter_id'];  
  $email_subject =  formatText($newsletters[$i]['newsletter_title'], '2HTML');  
  $newsletter_body_html =  formatText($newsletters[$i]['newsletter_body'], '2HTML');  
  preg_replace("/(<\s*(a|img)\s+[^>]*(href|src)\s*=\s*[\"'])(?!http)([^\"'>]+)[\"'>]/", "$1". CURRENT_APP_URL. "$4", $newsletter_body_html);  
  $email_html_body= str_replace('##TITLE##', $email_subject, $template_html);  
  $email_html_body= str_replace('##CHARSET##', CHARSET, $email_html_body);  
  $email_html_body= str_replace('##CONTENTS##', $newsletter_body_html, $email_html_body);  
  $email_html_body= str_replace('##SITENAME##', SITE_NAME, $email_html_body);  
  $email_html_body= str_replace('##CSSPATH##', SITE_ROOT_URL.  THEME_DIRECTORY. '/public/'. THEME_PUBLIC. '/css/', $email_html_body);  
  $email_html_body= str_replace('##SITEURL##', SITE_ROOT_URL, $email_html_body);  
  $email_html_body= str_replace('##SITEMAIL##', SITE_MAIL, $email_html_body);  
  $email_html_body= absolute_url($email_html_body, SITE_ROOT_URL);  
  $newsletter_body_txt =  formatText($newsletters[$i]['newsletter_body']);  
  $email_text_body= str_replace('##SITENAME##', SITE_NAME, $email_text_body);  
  $email_text_body= str_replace('##SITEURL##', SITE_ROOT_URL, $email_text_body);  
  $email_text_body= str_replace('##SITEMAIL##', SITE_MAIL, $email_text_body);  
  $email_text_body= absolute_url($email_text_body, SITE_ROOT_URL);  
  isset ($email_from) ?  $from =  $email_from :  $from =  MAIL_FROM; 
  isset ($email_fromname) ?  $fromname =  $email_fromname :  $fromname =  MAIL_FROMNAME; 
  $altbody =  str_replace('&', '&', $email_text_body);  
  // Create a message instance  
  $message =  Swift_Message::newInstance($email_subject)  
  ->setFrom(array($from =>  $fromname))  
  ->setReplyTo(array(MAIL_REPLY =>  MAIL_REPLYNAME)) ;  
  for($k =  0; $k <  count($emails_batch); $k++ ) {  
    $email_id =  $emails_batch[$k]['emailcol_id'];  
    $email_recipient =  $emails_batch[$k]['emailcol_email'];  
    // we create the link to unsubscribe newsletter and add it to the message  
    $unsubscribe_url=  SITE_ROOT_URL. 'public/index.php?rub='. $GLOBALS['links'][U_L]['subscribe-newsletter']['linkvalue']. '&del_action=on&newsletteremail='. $email_recipient;  
    $unsubscribe_link_html =  sprintf(_t('newsletter', 'unsubscribe_html'), $unsubscribe_url);  
    $unsubscribe_link_txt =  _t('newsletter', 'unsubscribe_txt').  ' '.  $unsubscribe_url;  
    $email_html_body= str_replace('##UNSUBSCRIBE_LINK##', $unsubscribe_link_html, $email_html_body);  
    $email_text_body= str_replace('##UNSUBSCRIBE_LINK##', $unsubscribe_link_txt, $email_text_body);  
    // finish message settings  
    $message->setBody($email_html_body, 'text/html')->addPart($altbody, 'text/plain')->setTo($email_recipient);  
        $r =  $mailer->Send($message, $failures);  
        logfile(LOG_MAILING, array($email_subject, $newsletter_id, $email_recipient, $logmsg));  
  if(!isset ($doNotPublish)) $newsletter_object->SetNewsletterPublished($newsletter_id, $sql_object);  
 
 
        
       |