html mail
6 отговора
431 прегледа
html mail
Искам да изпращам хтмл писмо на потребители използвам следния код
<?php
//add From: header
$headers = "From: webserver@localhost\r\n";
//specify MIME version 1.0
$headers .= "MIME-Version: 1.0\r\n";
//unique boundary
$boundary = uniqid("HTMLDEMO");
//tell e-mail client this e-mail contains//alternate versions
$headers .= "Content-Type: multipart/alternative" .
"; boundary = $boundary\r\n\r\n";
//message to people with clients who don't
//understand MIME
$headers .= "This is a MIME encoded message.\r\n\r\n";
//plain text version of message
$headers .= "--$boundary\r\n" .
"Content-Type: text/plain; charset=windows-1251\r\n" .
"Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("This is the plain text version!"));
//HTML
version of message
$headers .= "--$boundary\r\n" .
"Content-Type: text/html; charset=windows-1251\r\n" .
"Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("This the <b>HTML</b> version!"));
//send
message
mail("root@localhost", "An HTML Message", "", $headers);
?>
Само че когато изпратя писмо на някой с поща в гмаил ми вади сорса на писмото, а не ми го показва като хтмл, а когато го изпратя на маил в хотмаил тогава изобщо не пристига. Къде греша???
<?php
//add From: header
$headers = "From: webserver@localhost\r\n";
//specify MIME version 1.0
$headers .= "MIME-Version: 1.0\r\n";
//unique boundary
$boundary = uniqid("HTMLDEMO");
//tell e-mail client this e-mail contains//alternate versions
$headers .= "Content-Type: multipart/alternative" .
"; boundary = $boundary\r\n\r\n";
//message to people with clients who don't
//understand MIME
$headers .= "This is a MIME encoded message.\r\n\r\n";
//plain text version of message
$headers .= "--$boundary\r\n" .
"Content-Type: text/plain; charset=windows-1251\r\n" .
"Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("This is the plain text version!"));
//HTML
version of message
$headers .= "--$boundary\r\n" .
"Content-Type: text/html; charset=windows-1251\r\n" .
"Content-Transfer-Encoding: base64\r\n\r\n";
$headers .= chunk_split(base64_encode("This the <b>HTML</b> version!"));
//send
message
mail("root@localhost", "An HTML Message", "", $headers);
?>
Само че когато изпратя писмо на някой с поща в гмаил ми вади сорса на писмото, а не ми го показва като хтмл, а когато го изпратя на маил в хотмаил тогава изобщо не пристига. Къде греша???
Re: html mail
Грешката ти е, че въобще изпращаш хтмл мейл
Мастдай, както казват колегите руснаци ;)
Сериозно, мен да питаш те орязва някой спам филтър - зарежи тоз хтмл и карай на плейн текст. Никой освен гадните спамъри няма причина да ползва хтмл, а ако си от тях -- jump($window, time());
Дисклеймър: съм в хтмл мейла, така че може да има и техническа причина, аз ти казвам само "религиозните" си доводи ;)
Портал за почитателите на Толкин - връзки и новини
[линк]
Мастдай, както казват колегите руснаци ;)
Сериозно, мен да питаш те орязва някой спам филтър - зарежи тоз хтмл и карай на плейн текст. Никой освен гадните спамъри няма причина да ползва хтмл, а ако си от тях -- jump($window, time());
Дисклеймър: съм в хтмл мейла, така че може да има и техническа причина, аз ти казвам само "религиозните" си доводи ;)
Портал за почитателите на Толкин - връзки и новини
[линк]
Re: html mail
Не съм спамър. И мисля че е много по-добре гогато представиш нещата по-добре на потребителя и точно това се опитвам да направя с хтмл маила.
Re: html mail
След
$headers .= chunk_split(base64_encode("This the <b>HTML</b> version!"));
сложи
$headers .= "\r\n\r\n--$boundary--\r\n";
Time is like a drug. Too much of it kills you.
$headers .= chunk_split(base64_encode("This the <b>HTML</b> version!"));
сложи
$headers .= "\r\n\r\n--$boundary--\r\n";
Time is like a drug. Too much of it kills you.
Редактирано от killall на