Forum Webscript.Ru
Программирование => PHP => Тема начата: Sniper от 13 Февраля 2005, 20:21:53
-
Значит так. Делаю рассылку. Уже давно делаю. )
Никак не разберусь со вложением картинки.
Пробовал вариант 1
$file = "1.gif";
$content = fread(fopen($file,"r"),filesize($file));
$content = chunk_split(base64_encode($content));
$uid = strtoupper(md5(uniqid(time())));
$name = basename($file);
$header = "From: Ðîìêà\\nReply-To: Ðîìêà\\n";
$header .= "MIME-Version: 1.0\\n";
$header .= "Content-Type: multipart/alternative;
boundary=$uid\\n";
$header .= "--$uid\\n";
$header .= "Content-Type: text/html\\n";
$header .= "Content-Transfer-Encoding: 7bit\\n";
$filename = "form_unsubscribe.html";
$fd = fopen ($filename, "r");
$file_text = fread ($fd, filesize ($filename));
$header .= "--$uid\\n";
$header .= "Content-Type: image/gif; name=\\"$name\\"\\n";
$header .= "Content-Transfer-Encoding: base64\\n";
$header .= "Content-Disposition: attachment; $filename=\\"$name\\"\\n\\n";
$header .= "$content\\n";
$header .= "--$uid--";
mail("to@mail.ru", "Òåìà ïèñüìà", $file_text, $header);
Я так понял, что я не разобрался с boundary
Читал я доку про стандарт mime
И пробовал вариант 2,
$file = "1.gif";
$content = fread(fopen($file,"r"),filesize($file));
$content = chunk_split(base64_encode($content));
$uid = strtoupper(md5(uniqid(time())));
$uid_2 = strtoupper(md5(uniqid(time())));
$name = basename($file);
$header = "From: Ромка\\nReply-To: Ромка\\n";
$header .= "MIME-Version: 1.0\\n";
$header .= "Content-Type: multipart/alternative;
boundary=$uid\\n";
$header .= "--$uid\\n";
$header .= "Content-Type: text/html\\n";
$header .= "Content-Transfer-Encoding: 7bit\\n";
$filename = "form_unsubscribe.html";
$fd = fopen ($filename, "r");
$file_text = fread ($fd, filesize ($filename));
$header .= "--$uid_2\\n";
$header .= "Content-Type: image/gif; name=\\"$name\\"\\n";
$header .= "Content-Transfer-Encoding: base64\\n";
$header .= "Content-Disposition: attachment; $filename=\\"$name\\"\\n\\n";
$header .= "$content\\n";
$header .= "--$uid_2--\\n";
$header .= "--$uid--";
mail("to@mail.ru", "Тема письма", $file_text, $header);
мучаюсь весь день.
Только пожалуйста, не надо ссылок на доки или в поиск.
Это все я уже пробовал. Лучше подскажите что в МОЕМ коде не так.
-
И вот так я уже пробовал:
$content = fread(fopen("./4.gif","r"),filesize("./4.gif"));
$content = chunk_split(base64_encode($content));
$uid = strtoupper(md5(uniqid(time())));
$content_2 = fread(fopen("./1.gif","r"),filesize("./1.gif"));
$content_2 = chunk_split(base64_encode($content_2));
$name_2 = basename("./1.gif");
$text = "Текстьолвое письмо";
$name = basename("./4.gif");
$name_2 = basename("./1.gif");
$header = "From: Romka\\nReply-To: Romka\\n";
$header .= "MIME-Version: 1.0\\n";
$header .= "Content-Type: multipart/related; boundary=$uid\\n";
$header .= "--$uid\\n";
$header .= "Content-Type: text/html\\n";
$header .= "Content-Transfer-Encoding: 8bit\\n\\n";
$header .= "$text\\n";
$header .= "--$uid\\n";
$header .= "Content-Type: image/gif; name=\\"$name\\"\\n";
$header .= "Content-Transfer-Encoding: base64\\n";
$header .= "Content-Location: ./4.gif";
$header .= "$content\\n";
$header .= "--$uid\\n";
$header .= "Content-Type: image/gif; name=\\"$name_2\\"\\n";
$header .= "Content-Transfer-Encoding: base64\\n";
$header .= "Content-Location: ./1.gif";
$header .= "$content_2\\n";
mail("to@me.ru","Тема письма", "", $header);
письмо приходит.
Картинки прикреплены, только они не открываются.
И размер у них такой как надо, но не откурываются. ((
-
покажи свой тег
-
Макс
Они приходят как вложение но не открываются.
-
Sniper
они должны показываться в самом ХТМЛ-документе или отдельно ?
ты смотрел исходник письма, который получаешь ?
Эти строки никаких сомнений не вызывают :
$header .= "Content-Location: ./1.gif";
$header .= "$content_2\\n";
.... и ......
$header .= "Content-Location: ./4.gif";
$header .= "$content\\n";
?