Проблема при отправке почты

N
На сайте с 14.06.2004
Offline
107
360

Использую для отправки писем следующую функцию.

Некоторые письма не доходят адресату. Хостер сказал что

письма не соответствуют стандартам RFC. По rfc2047 тема письма должна кодироваться как Base64 или

Quoted-Printable, в ней не должно быть русских символов.

Как переделать мою функцию чтобы все работало нормально?

function xmail( $from, $to, $subj, $text, $filename) {
if(is_file($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";
return @mail("$to", "$subj", $zag, $head);
}
else
{
$subject = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subj, "w","k")).'?=';
$headers = "Content-type: text/html; charset=windows-1251 \r\n";
$headers .= "From: PEOPLE <mail@site.com>";
mail("$to", $subj, $text, $headers);
}

}
[umka]
На сайте с 25.05.2008
Offline
456
#1

Грамотная отправка писем из PHP

Вам только придётся скрестить этот пример с вашим, если необходима отправка аттачей.

Лог в помощь!
N
На сайте с 14.06.2004
Offline
107
#2

Функция не моя.. и не очень-то разбираюсь если чесно..

Интересно что не доходят только письма с атачментом. ,Обычные идут нормально, значит для атачмента заголовки не так как надо кодируются..

Как их правильно по стандарту закодировать?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий