function SendMailWithAttachment($attachment_file,$from_name,$from_mail,$to,$msg,$subject)
{
$bound = "-------------boundary------------";
$header = '';
$body = '';
$header = "Content-type: text/plain; charset=\"windows-1251\"\n";
$header .= "From: \"$from_mail\" <$from_mail> \n";
$header .= "To: $to\n";
$header .= "Subject: $subject\n";
$header .= "Mime-Version: 1.0\n";
$header.="Content-Type: multipart/mixed; boundary=\"$bound\"";
$body = "\n\n--$bound\n";
$body.="Content-type: text/plain; charset=\"windows-1251\"\n";
$body.="Content-Transfer-Encoding: quoted-printable\n\n";
$body.="$msg";
$file=fopen($attachment_file,"rb");
$body.="\n\n--$bound\n";
$body.="Content-Type: application/octet-stream;";
$body.="name=\"".basename($attachment_file)."\"\n";
$body.="Content-Transfer-Encoding:base64\n";
$body.="Content-Disposition:attachment\n\n";
$body.=base64_encode(fread($file,filesize($attachment_file)))."\n";
if(mail($to, $subject, $body, $header)) return true; else return false;
}
Отправка Почты на PHP у разных Хостеров
Возникает вопрос: по какой причине возникает такой трабл и где может быть ошибка: у меня в скрипте или у хостера?.
Вот код функции:
Код:
И у скольких хостёров не отправляет с помощью mail()? Вообще, лучше у хостёра поинтересоваться возможностью отправлять почту... Для этого у них есть support. А если нет и почту не отправляет, то следует придумать более удачные эпитеты, нежели "хостёр".
Спасибо за ответ. От одного только не отправляет. С двух других , на которых пробовал, всё работает.
А я вот работал со своим ящиком через IMAP и там танцы с бубном нужны были. До техсупорта ломиться было лень да и не факт, что ответят (или когда еще), так что поигрался опциями минут 15, порыл поиск и все запахало как надо.
такая запись покатит и письмо уйдёт:
Код:
$headers = "\nFrom:$from_mail\n";
if(mail($to, $subject, $body,$headers)) return true; else return false;
if(mail($to, $subject, $body,$headers)) return true; else return false;
Но есть два НО:
1. Если я напишу From:$from_mail\n - без "\n" впереди, то облом обеспечен
2. И в любом случае строка From отображается в теле письма а не в заголовке.
Насчет формата заголовков это тебе RFC 822 и RFC 2822 курить.