3

I had an issue with gmail where it was displaying the recipients sent to a BCC list. The solution to this was to not include the BCC list in the headers but instead append it to the list of recipients in the PEAR moodule

See this link - http://rawphp.com/php_generator/page.php?show=PHP_Sending_Email_to_Bcc_with_SMTP_Authentication_pear_mail_factory.php

So I've posted this to anyone else who needs to know this.

<?php function sendSmtpEmail($listType = 'To', $recipientList,$from,$subject = NULL,$message = NULL){

    require_once "Mail.php";

    /*$recipients = "Recipient <email@email.co.uk>";
    $from = "An Email <email@email.co.uk>";
    $subject = 'testing relay';
    $message = "<hteml><head></head><body><h1>This is a test</h1>";
    $message .= "<p>Paragraph</p>";
    $message .= "<ul><li>list item 1</li><li>List item 2</li></body>";*/

    $host = ini_get("SMTP");
    $username = NULL;
    $password = NULL;

    $headers['From'] = $from;

    ///// Set to send as won't send without a to address
    /*if($listType != 'To'){                
        $headers[$listType] = $recipientList;
        $headers['To'] = $from;
    } else { //// Is a to address*/
        $headers['To'] = '';
    /*}*/

    $recipients = $recipientList;

    $headers['Subject'] = $subject;
    $headers['host'] = $host;
    $headers['MIME-Version'] = '1.0';
    $headers['Content-type'] = 'text/html; charset=iso-8859-1';
    $params['sendmail_path'] = '/usr/lib/sendmail';

    // Create the mail object using the Mail::factory method
    $mail_object =& Mail::factory('sendmail', $params);

    $mail_object->send($recipients, $headers, $message);    

    if (PEAR::isError($mail_object)) {
        echo("<p>" . $mail_object->getMessage() . "</p>");
    } else {
        echo "<p>Mail sent succefully</p>"; echo $from; echo $recipientList; die();
    }



}
?>

Thanks

Andi

1 Answers1

2

Please See as above. I have tidied up the function

<?php

function sendSmtpEmail($recipientList,$from,$subject = NULL,$message = NULL){

    require_once "Mail.php";

    $host = ini_get("SMTP");
    $username = NULL;
    $password = NULL;

    $headers['From'] = $from;       
    $headers['To'] = '';

    $headers['Subject'] = $subject;
    $headers['host'] = $host;
    $headers['MIME-Version'] = '1.0';
    $headers['Content-type'] = 'text/html; charset=iso-8859-1';
    $params['sendmail_path'] = '/usr/lib/sendmail';

    // Create the mail object using the Mail::factory method
    $mail_object =& Mail::factory('sendmail', $params);

    $mail_object->send($recipientList, $headers, $message); 

    if (PEAR::isError($mail_object)) {
        echo("<p>" . $mail_object->getMessage() . "</p>");
    } else {
        echo "<p>Mail sent succefully</p>";
    }           
}
?>

Hope this helps anyone.

Thanks

Andi