PDA

Просмотр полной версии : Отправка картинок в теле письма. Нужна помощь


RRR_RRR
25.07.2012, 01:00
code:

\n";
$headers.="To: me@gmail.com \n";
$headers.="Subject: $subj \n";
$headers.="Mime-Version: 1.0 \n";
$headers.="Content-Type: multipart/alternative; boundary=\"$bound\" \n";
$body="--$bound \n";
$body.="Content-type: text/html; charset=\"windows-1251\" \n";
$body.="Content-Transfer-Encoding: 8bit \n\n";
$body.="Привет
Это проба отправки письма с прикрепленной картинкой.

А вот и сама картинка:

";
$body.="\n\n--$bound \n";
$body.="Content-Type: image/jpeg; name=\"".basename($file_name)."\" \n";
$body.="Content-Transfer-Encoding:base64 \n";
$body.="Content-ID: \n\n";
$f=fopen($file_name,"rb");
$body.=base64_encode(fread($f,filesize($file_name) ))." \n";
$body.="--$bound-- \n\n";
mail("webmaster@vega.pk.ru", $subj, $body, $headers);
?>

этот скрипт должен отправить письмо с картинкой с помощи Привет
Это проба отправки письма с прикрепленной картинкой.

А вот и сама картинка:



--spravkaweb-1234
Content-Type: image/jpeg; name="5.jpg"
Content-Transfer-Encoding:base64
Content-ID:

/9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHB wgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCALPAfoDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJ xFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3O Dk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIW Gh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx 8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRM iMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2N zg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goO EhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPEx cbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3Y28Y/im/7/P/AI0nkx+s3/f5/[/LEFT]

почему письмо не отображается в html формате ?

BlackForest
25.07.2012, 01:00
а почему бы не поюзать обычную анонимку и в поле для текста/кода HTML написать:

code:



И все придет нормально.

RRR_RRR
25.07.2012, 01:00
есть сайт который непоказывает фотки из внешних ссылок
gmail например

Nick Hander
25.07.2012, 01:00
А в чем проблема использовать мою анонимку с возможностью прикрепления файлов? клац (https://hpc.name/showthread.php?t=40594)

У тебя несколько ошибок в специфике отправки письма с прикреплением файла.Во первых надо вставить еще дополнительный заголовок

code:

$body.="Content-Type: image/jpeg; name=\"".basename($file_name)."\" \n";
$body .= "Content-Disposition: attachment; filename=\"".basename($file_name)."\" \n";
$body.="Content-Transfer-Encoding:base64 \n";

Во-вторых base64 хеш нужно прогонять через функцию chunk_split, чтобы отправлялось в "вертикальном" формате по 76 символов в строке.

Ну и в третьих, через тело письма лучше письмо с прикреплением не отправлять - захеривать все содержимое в $headers. А в $body просто прописать ''. Так проблем будет меньше.

RRR_RRR
25.07.2012, 01:00
Цитата:

Сообщение от Nick Hander

А в чем проблема использовать мою анонимку с возможностью прикрепления файлов? клац (https://hpc.name/showthread.php?t=40594)

дело в том что я нехочу чтоб он отображался как аттач
мне надо чтоб он отображался как img scr=
даже стыдно просить но можешь мой скрипт переделать ?)

Nick Hander
25.07.2012, 01:00
Ну можешь попровобавить отправить через див с использованием свойства background-image: url(image);

code:

...

Будет отображаться блог с твоей картинкой в фоне. Хотя не в курсе, прокатит ли. А делать мне за кого-то совершенно не хочется. Советом помогу, но чужие проблемы за просто так решать не буду.

RRR_RRR
25.07.2012, 01:00
ребята помогите
в долгу не останусь