|
|
|
| Здравствуйте!
Не работает скрипт отправки письма с вложением. Скрипт отсылает (должен) более чем на 100 ящиков. На локальном работало. В чем может быть причина.
<?php
if(empty($_POST['mail_to'])) exit("Введите адрес получателя");
// проверяем правильности заполнения с помощью регулярного выражения
# if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_to'])) exit("Введите адрес в виде somebody@server.com");
$picture = "";
// Если поле выбора вложения не пустое - закачиваем его на сервер
if (!empty($_FILES['mail_file']['tmp_name']))
{
// Закачиваем файл
$path = $_FILES['mail_file']['name'];
if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
}
$thm = $_POST['mail_subject'];
$msg = $_POST['mail_msg'];
$mail_to = $_POST['mail_to'];
// Отправляем почтовое сообщение
if(empty($picture)) mail($maillist[$i], $thm, $msg);
else send_mail($mail_to, $thm, $msg, $picture);
// Вспомогательная функция для отправки почтового сообщения с вложением (Trianon)
function send_mail($maillist[$i], $thema, $html, $path)
{ if ($path) {
$fp = fopen($path,"rb");
if (!$fp)
{ print "Cannot open file";
exit();
}
$file = fread($fp, filesize($path));
fclose($fp);
}
#------------------------------------------------------
$file2 = "maillist.txt";
$maillist = file($file2);
for ($i = 0; $i < sizeof ($maillist); $i++)
{
#------------------------------------------------------
$name = "price.xls"; // в этой переменной надо сформировать имя файла (без всякого пути)
$EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём
$boundary = "--".md5(uniqid(time())); // любая строка, которой не будет ниже в потоке данных.
$headers = "MIME-Version: 1.0;$EOL";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";
$headers .= "From: address@server.com";
$multipart = "--$boundary$EOL";
$multipart .= "Content-Type: text/html; charset=windows-1253$EOL";
$multipart .= "Content-Transfer-Encoding: base64$EOL";
$multipart .= $EOL; // раздел между заголовками и телом html-части
$multipart .= chunk_split(base64_encode($html));
$multipart .= "$EOL--$boundary$EOL";
$multipart .= "Content-Type: application/octet-stream; name=\"$name\"$EOL";
$multipart .= "Content-Transfer-Encoding: base64$EOL";
$multipart .= "Content-Disposition: attachment; filename=\"$name\"$EOL";
$multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла
$multipart .= chunk_split(base64_encode($file));
$multipart .= "$EOL--$boundary--$EOL";
if(!mail($maillist[$i], $thema, $multipart, $headers))
{return False; //если не письмо не отправлено
}
else { //// если письмо отправлено
return True;
}
exit;
}
}
?>
|
| |
|
|
|
|
|
|
|
для: include
(01.07.2008 в 12:44)
| | Помогите, не пойму в чем проблема. | |
|
|
|
|
|
|
|
|
для: mihdan
(01.07.2008 в 17:16)
| | А еще вопросик. Отправляю письмо с вложением: на майле принимает олично, в бате тоже, а на рамблере пишет вот это:
----f3b3bc6278903c5f8ebee68bb3a482f7 Content-Type: text/html; charset=windows-1251 Content-Transfer-Encoding: base64 x+Tw4OLx8uLz6fLlITxicj7N4PjgIPTo8OzgI Ofg7ejs4OXy8f8g8OXg6+jn4Pbo5ekg8fLg6/zt +/Ug8vDz4S4gwiDv8Ojq8OXv6+Xt7e7sIPTg6evlIML7IOzu5uXy5SDv8O7x7 O7y8OXy/CDt4Pgg 7/Dg6fEt6+jx8iAo8uDqIOblIOgg7eAg7eD45ewg8eDp8 uUgPGEgaHJlZj13d3cuY3RrMjAwNy5y dS9wcmljZS5waHA+d3d3LmN0azIwMDcucnU8L2E+KS7M+yDx9+jy4OXsLCD38u4g/fLgIOjt9O7w 7OD26P8g4fPk5fIgwuDsIO/u6+Xn7eAuIMXx6+gg7eXyLCDy7iDv8Ojt7vHo7CDt4PjoIOjn4 ujt 5e3o5SDoIOXx6+ggwvsg7eUg5uXr4OXy5SDh7uv8+OUg7+7r8/fg8vwg7uHt7uLr5e3o/yDt4Pjl 4+4g7/Dg6fEt6+jx8uAsIO/w7vHy7iDt4O/o+Ojy5SDt4CDt4Pgg//no6iA8YSBocmVmPW1haWx0 bzphbGZhMjAwNjIwMDZAcmFtYmxlci5ydT9 zdWJqZWN0Pc7y7+jx4PL88f8lMjDu8iUyMPDg8fH7
=== ВЫРЕЗАНО===
AAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAA EAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAA AACwAA AAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABI AAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAA AZAAAA /v///xsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEA AAD+////IwAAACQAAAAlAAAAJgAAACcAAAAo AAAAKQAAAP7////9/////v////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUB//////////8CAAAAIAgCAAAAAADAAAAAAAAARgAAAAAA AAAAAAAAAPDL9bMl3MgB/v///wAAAAAAAAAAVwBvAHIAawBiAG8AbwBrAAAA AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAABIAAgH///////////////8AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAfzMAAAAAAAAFAFMAdQBtAG0AYQ ByAHkA SQBuAGYAbwByAG0AYQB0AGkAbwBuAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAACAQ EAAAAD AAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAABoAAAAAEAAAAAAAAAUA RABvAGMAdQBtAGUAbgB0AFMAdQBtAG0AYQB yAHkASQBuAGYAbwByAG0AYQB0AGkAbwBuAA AAAAAA AAAAAAA4AAIB////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAA IgAAAAAQAAAAAAAA ----f3b3bc6278903c5f8ebee68bb3a482f7--
|
Я вырезал кусок... Ни прикрепленного файла, ни текста... На яндексе не пробывал... Как это исправить? | |
|
|
|