- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Использую для отправки писем следующую функцию.
Некоторые письма не доходят адресату. Хостер сказал что
письма не соответствуют стандартам 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);
}
}
Грамотная отправка писем из PHP
Вам только придётся скрестить этот пример с вашим, если необходима отправка аттачей.
Функция не моя.. и не очень-то разбираюсь если чесно..
Интересно что не доходят только письма с атачментом. ,Обычные идут нормально, значит для атачмента заголовки не так как надо кодируются..
Как их правильно по стандарту закодировать?