Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Отправка Почты на PHP у разных Хостеров

5.9K
01 ноября 2007 года
DENWER
35 / / 10.07.2005
Всем доброго времени суток. Есть собственная php функция которая формирует заголовки письма с аттачем и отпраляет его с помощью функции mail. Всё работает на одном хостере прекрасно, на другом - облом, письма не отправляются.
Возникает вопрос: по какой причине возникает такой трабл и где может быть ошибка: у меня в скрипте или у хостера?.
Вот код функции:
Код:
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;
}
8
02 ноября 2007 года
mfender
3.5K / / 15.06.2005
И у скольких хостёров не отправляет с помощью mail()? Вообще, лучше у хостёра поинтересоваться возможностью отправлять почту... Для этого у них есть support. А если нет и почту не отправляет, то следует придумать более удачные эпитеты, нежели "хостёр".
5.9K
02 ноября 2007 года
DENWER
35 / / 10.07.2005
Спасибо за ответ. От одного только не отправляет. С двух других , на которых пробовал, всё работает.
12
02 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Учитывая, столько там всяких опций при соединении, то очень много зависит от их включенности/выключенности. Хотя mail на нормальных хостах работает обычно без подкрутки.

А я вот работал со своим ящиком через IMAP и там танцы с бубном нужны были. До техсупорта ломиться было лень да и не факт, что ответят (или когда еще), так что поигрался опциями минут 15, порыл поиск и все запахало как надо.
5.9K
06 ноября 2007 года
DENWER
35 / / 10.07.2005
Вообщем стал более детально разбираться и выяснил что не отправляютя письма если я кузываю в функции mail четвёртый параметр headers то функция обламывается но не всегда. Например
такая запись покатит и письмо уйдёт:
 
Код:
$headers = "\nFrom:$from_mail\n";
if(mail($to, $subject, $body,$headers)) return true; else return false;

Но есть два НО:
1. Если я напишу From:$from_mail\n - без "\n" впереди, то облом обеспечен
2. И в любом случае строка From отображается в теле письма а не в заголовке.
12
06 ноября 2007 года
alekciy
3.0K / / 13.12.2005
Насчет формата заголовков это тебе RFC 822 и RFC 2822 курить.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог