Re: MIME Alternatimve Emails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 30 January 2010 13:04, Karl DeSaulniers <karl@xxxxxxxxxxxxxxx> wrote:
> Hi List,
> Good morning. Hope all are well on this Saturday.
> I am in  need of a little assistance. I am creating an HTML email.
> I have created it successfully already, so I know the code works for the
> HTML part.
> My question is about the headers of the message.
>
> Here is my code at the end before the message is sent off.
>
> //other code  that sets up $html and $text
>
> if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
>          $eol="\r\n";
>        } else if (strtoupper(substr(PHP_OS, 0, 3) == 'MAC')) {
>         $eol="\r";
>        } else {
>          $eol="\n";
> }
>
> // To send HTML mail, the Content-type header must be set
> $headers = 'From: '.$from.$eol;
> $headers .= 'To: "'. $username .'" <' . $email . '>'.$eol;
>
> //$headers .= 'Cc: ' . $from;
> //$headers .= 'BCc: ' . $from;
> $headers .= 'Reply-To: ' . $from .$eol;
>
> $headers .= 'X-Mailer: PHP/' . phpversion().$eol;
> $headers .= 'X-sender: <' . $from . '>'.$eol;
> $headers .= 'X-receiver: <' . $email . '>'.$eol;
>
> $headers .= 'Message-ID: <'.$MessageID.'@'.$host.'>'.$eol;
> $headers .= 'Date: '.$time.$eol;
>
> // Additional headers
> $headers .= 'X-Priority: 1'.$eol;
> $headers .= 'X-MSMail-Priority: High'.$eol;
> $headers .= 'X-MimeOLE: Generated By Design Drumm - MultiPart/Alt
> E-Mail'.$eol;
>
> $headers .= 'MIME-Version: 1.0' . $eol;
> $headers .= 'Content-type: multipart/alternative';
> $headers .= 'boundary="'.$boundary.'"' . $eol.$eol;
>
> // Make sure there are no bare linefeeds in the headers
> //$headers = preg_replace('#(?<!\r)\n#si', "\r\n", $headers);   //I found
> this code. Can anyone tell me if it works.
>
> $message = '--'.$boundary.$eol;
> $message .= 'Content-type: text/html; charset="UTF-8"'.$eol;
> $message .= 'Content-Transfer-Encoding: 8bit'.$eol.$eol;
> $message .= $html.$eol.$eol;
>
> $message .= '--'.$boundary.$eol;
> $message .= 'Content-type: text/plain; charset="UTF-8"'.$eol;
> $message .= 'Content-Transfer-Encoding: quoted-printable'.$eol.$eol;
>
> $message .= $text.$eol.$eol;
> $message .= '--'.$boundary.'--'.$eol.$eol;
>
> return mail($email, $subject, $message, $headers);
>
>   }
>
> My question is what order should the headers be in from top to bottom that I
> have to work properly?
> Currently it does not display the HTML on MAC but it does in Hotmail. MAC
> mail is grabbing the text version.
> So my susspicion is that the headers are just wrong.
>
> It has worked on MAC mail before I tried the MIME boundaries.
>
> TIA,
>
>
> Karl DeSaulniers
> Design Drumm
> http://designdrumm.com
>
>

I would simplify all of this by using a PHP class specifically
covering this issue.

I use the html_mime_mail5 class from phpguru.org (now called RMail) at
http://www.phpguru.org/static/Rmail

Though, you'll probably find PHPMailer is the most commonly used class
at http://phpmailer.worxware.com/

-- 
-----
Richard Quadling
"Standing on the shoulders of some very clever giants!"
EE : http://www.experts-exchange.com/M_248814.html
EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
ZOPA : http://uk.zopa.com/member/RQuadling

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux