how to send html mails using PEAR mail

后端 未结 3 1561
独厮守ぢ
独厮守ぢ 2020-12-05 04:44

I am using PEAR mail system to send authenticated mails.I need to send HTML mails that has alinks.It was working fine before i started using PEAR mail.Now i am not able to s

相关标签:
3条回答
  • 2020-12-05 05:23

    What do your headers look like? Here are mine:

    $headers = array(
        'To' => $recipients,
        'From' => $adminEmail,
        'Subject' => $subject,
        'MIME-Version' => 1,
        'Content-type' => 'text/html;charset=iso-8859-1'
    );
    
    0 讨论(0)
  • 2020-12-05 05:39

    If you follow this example there's no reason it shouldn't work:

    <?php
    include('Mail.php');
    include('Mail/mime.php');
    
    // Constructing the email
    $sender = "Leigh <leigh@no_spam.net>";// Your name and email address
    $recipient = "Leigh <leigh@no_spam.net>"; // The Recipients name and email address
    $subject = "Test Email";// Subject for the email
    $text = 'This is a text message.';// Text version of the email
    $html = '<html><body><p>HTML message</p></body></html>';// HTML version of the email
    $crlf = "\r\n";
    $headers = array('From' => $sender, 'Return-Path' => $sender, 'Subject' => $subject);
    
    // Creating the Mime message
    $mime = new Mail_mime($crlf);
    
    // Setting the body of the email
    $mime->setTXTBody($text);
    $mime->setHTMLBody($html);
    
    $body = $mime->get();
    $headers = $mime->headers($headers);
    
    // Sending the email
    $mail =& Mail::factory('mail');
    $mail->send($recipient, $headers, $body);
    ?>
    

    NOTE: in order for the above example to work one needs the Pear Mail Mime Package in addition the Pear Mail one. You can get the package here https://pear.php.net/package/Mail_Mime/download.

    0 讨论(0)
  • 2020-12-05 05:40

    Please note that the example posted by karim79 has a header parameter that may cause you much grief: "Return-Path" - when I included this parameter like the example it prevented me from adding a from name, only a sender email address worked.

    Specifically (when I added a debug param to see what was happening) there were extra angle brackets added around the from name so it tried to send this to the smtp server:

    From: <from name <name@domain.com>> or
    From: <"from name" <name@domain.com>> when I tried using quotes.
    This caused the smtp connection to quit with an error of invalid address.

    Also when using the mime_mail class you need to specify the "To:" parameter in the headers or it will appear to be sent to undisclosed addresses when you receive it. So replace the Return-Path param with a To param and it will work.

    0 讨论(0)
提交回复
热议问题