romashka
Guest
Картинка прикрепляется к письму странным способом или не прикрепляется вообще
Здравствуйте.
Шлю из ПХП html-письмо с внедренной картинкой разбивая на заголовки
Content-Type: multipart/mixed; boundary="zagolovok"
Если читаю письмо через веб-интерфейс, то все показывается нормально.
Если получаю письмо в The Bat, картинки видны, как прикрепления, но посмотреть их не удается, выдает ошибку JPG Err #53. В теле письма тоже не появляются, только пустые квадраты.
В Outlook не проверял.
Кодирую картинку Content-Transfer-Encoding:base64
Пробовал Content-Type: multipart/alternative;
а также Content-Disposition:attachment и Content-Disposition:inline, не помогает. Сейчас скрипт вообще работает без Content-Disposition.
Возможно ли вообще настроить показ картинок, внедренных в ХТМЛ-письмо в The Bat при отправке из ПХП? Просматривал, как сделаны спам-письма, но у них X-Mailer: Microsoft Outlook.
Буду признателен, если приведете пример РАБОЧЕГО кода.
-~{}~ 09.09.04 09:32:
Вот абсолютно работающий код.
Взят здесь
http://www.opennet.ru/base/dev/php_mail_attach.txt.html
<?
function XMail( $from, $to, $subj, $text, $filename)
{
$f = fopen($filename,"rb");
$un = strtoupper(uniqid(time()));
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Subject: $subj\n";
$head .= "X-Mailer: PHPMail Tool\n";
$head .= "Reply-To: $from\n";
$head .= "Mime-Version: 1.0\n";
$head .= "Content-Type:multipart/mixed;";
$head .= "boundary=\"----------".$un."\"\n\n";
$zag = "------------".$un."\nContent-Type:text/html;\n";
$zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n";
$zag .= "------------".$un."\n";
$zag .= "Content-Type: application/octet-stream;";
$zag .= "name=\"".basename($filename)."\"\n";
$zag .= "Content-Transfer-Encoding:base64\n";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename=\"".basename($filename)."\"\n\n";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";
if (!@mail("$to", "$subj", $zag, $head))
return 0;
else
return 1;
}
?>
Здравствуйте.
Шлю из ПХП html-письмо с внедренной картинкой разбивая на заголовки
Content-Type: multipart/mixed; boundary="zagolovok"
Если читаю письмо через веб-интерфейс, то все показывается нормально.
Если получаю письмо в The Bat, картинки видны, как прикрепления, но посмотреть их не удается, выдает ошибку JPG Err #53. В теле письма тоже не появляются, только пустые квадраты.
В Outlook не проверял.
Кодирую картинку Content-Transfer-Encoding:base64
Пробовал Content-Type: multipart/alternative;
а также Content-Disposition:attachment и Content-Disposition:inline, не помогает. Сейчас скрипт вообще работает без Content-Disposition.
Возможно ли вообще настроить показ картинок, внедренных в ХТМЛ-письмо в The Bat при отправке из ПХП? Просматривал, как сделаны спам-письма, но у них X-Mailer: Microsoft Outlook.
Буду признателен, если приведете пример РАБОЧЕГО кода.
-~{}~ 09.09.04 09:32:
Вот абсолютно работающий код.
Взят здесь
http://www.opennet.ru/base/dev/php_mail_attach.txt.html
<?
function XMail( $from, $to, $subj, $text, $filename)
{
$f = fopen($filename,"rb");
$un = strtoupper(uniqid(time()));
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Subject: $subj\n";
$head .= "X-Mailer: PHPMail Tool\n";
$head .= "Reply-To: $from\n";
$head .= "Mime-Version: 1.0\n";
$head .= "Content-Type:multipart/mixed;";
$head .= "boundary=\"----------".$un."\"\n\n";
$zag = "------------".$un."\nContent-Type:text/html;\n";
$zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n";
$zag .= "------------".$un."\n";
$zag .= "Content-Type: application/octet-stream;";
$zag .= "name=\"".basename($filename)."\"\n";
$zag .= "Content-Transfer-Encoding:base64\n";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename=\"".basename($filename)."\"\n\n";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";
if (!@mail("$to", "$subj", $zag, $head))
return 0;
else
return 1;
}
?>