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

Ваш аккаунт

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

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

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

каким образом лучше отправлять почту?

21K
09 декабря 2007 года
per%cent
39 / / 05.10.2007
у меня с этой отправкой почты скоро мозг лопнит :(
скока ни шарился в просторах инета, но так окончательного ответа не нашел.
вообщем пробовал отправлять почту просто вот так:
mail("lastsoul@yandex.ru", "Subject", "Message", "From: [email]q@q.ru[/email]")
но письмо так и не доходит, самое интересное что на ...@ya.ru приходит (на @mail.ru тоже), а вот на ...@yandex.ru - нет
вопрос: почему? :confused:

а вообще, основной вопрос у меня насчет того как лучше (надежнее, чтоб на 100% быть уверенным что почта дошла) отправлять почту? что лучше юзать - стандартные функции (типа mail()), сокеты, или еще что-нить? ато у меня было такое что с mail() у меня почта иногда доходила, а иногда нет (причем mail() всегда возвращала true)...

ну и еще очень интересно было бы узнать какие хэдэры лучше посылать?

зы: в поиск на этом форуме тоже заглядывал... несколько раз... но...
зыы: подскажите плиз или тыкните меня носом туда где есть рабочие функции...
2
09 декабря 2007 года
squirL
5.6K / / 13.08.2003
надежнее всего - почитать RFC по SMTP и понять, почему некоторые сервера не принимают почту. у mail.ru & yandex.ru, как ни странно, могут использоваться принципы приема "подозрительной" корреспонденции.
4
09 декабря 2007 года
mike
3.7K / / 01.10.2002
Попробуй добавить 5 параметр в функцию mail:

 
Код:
mail("lastsoul@yandex.ru", "Subject", "Message", "From: [EMAIL="q@q.ru"]q@q.ru[/EMAIL]", "-f[EMAIL="q@q.ru"]q@q.ru[/EMAIL]")
21K
12 декабря 2007 года
per%cent
39 / / 05.10.2007
Цитата: mike
Попробуй добавить 5 параметр в функцию mail:

 
Код:
mail("lastsoul@yandex.ru", "Subject", "Message", "From: [EMAIL="q@q.ru"]q@q.ru[/EMAIL]", "-f[EMAIL="q@q.ru"]q@q.ru[/EMAIL]")


к сожалению не помогло :(
на @yandex.ru почта так и не приходит, но на первое время решил проблему с помощью str_replace('@yandex.ru', '@ya.ru', ...);

2squirL:
за RFC пасиба, покачто нифига непонятно, но будем разбираться

345
15 декабря 2007 года
vadim_k
312 / / 01.08.2006
Вс воё время находился я на одном хостинге под названием Хайвей,
дак там проблемы с отправкой просто заеб...
Я столько времени убил на поиски надёжного способа,
По моих изысканием
если не отправляе функция mail()
то попробуй через sendmail хостеры обычно указывают туда путь
вот код подправь если что
Код:
function sendmess( $to, $from, $subject="", $message, $headers="") {
   $server="mail.xxx.ru";
   $asd="mail@xxx.ru";
   $psd="apyqphlg";

$fp=@popen("/usr/sbin/sendmail -t -i", "w");
  if (!$fp) { echo"sendmail Connection failed: $errno, $errstr";
                @mail($to,$subject,$message,
                               "From: SuperGIS <xxx@yandex.ru>\nContent-Type: text/plain; charset=\"windows-1251\"");
             }
else{
fwrite($fp, "From: xxxxx <$from>\n");
fwrite($fp, "To: $to\n");
fwrite($fp, "Subject: $subject\n");
fwrite($fp, "Content-Type: text/plain; charset=\"windows-1251\"\n");
fwrite($fp, "\n");
fwrite($fp, $message);
pclose($fp);

     }

А ещё надёжнее через почтовый сервер напрямую
вот код подправь если что
Код:
function sendmess( $to, $from, $subject="", $message, $headers="") {
   $server="mail.xxx.ru";
   $asd="mail@xxx.ru";
   $psd="apyqphlg";

    $fp = @fsockopen($server, 25, &$errno, &$errstr, 5);
    if (!$fp) { echo"Server $server. Connection failed: $errno, $errstr";
                @mail($to,"SuperGIS password",$message,
                               "From: SuperGIS <mail@sgis.ru>\nContent-Type: text/plain; charset=\"windows-1251\"");
               }
else{
$res=fgets($fp,256);
                                               //echo "Connection(220)=".$res."<BR>";
    fputs($fp,"HELO $server\n");
$res=fgets($fp,256);
                                               //echo "HELO(250)=".$res."<BR>";
if(substr($res,0,3) != "250") echo"HELO Server failed !!!<BR>";
    fputs($fp,"auth login\r\n");
$res=fgets($fp,256);
                                              // echo "auth login(334)=".$res."<BR>";
if(substr($res,0,3) != "334") echo"AUTH LOGIN failed !!!<BR>";
    fputs($fp, base64_encode($asd)."\r\n");
$res=fgets($fp,256);
                                               //echo "name(334)=".$res."<BR>";
if(substr($res,0,3) != "334") echo"NAME failed !!!<BR>";
    fputs($fp, base64_encode($psd)."\r\n");
$res=fgets($fp,256);
                                               //echo "pass=(235)".$res."<BR>";
if(substr($res,0,3) != "235") echo"PASSWORD failed !!!<BR>";
    fputs($fp,"MAIL FROM: $from\n");
$res=fgets($fp,256);
                                               //echo "MAIL FROM=(250)".$res."<BR>";
if(substr($res,0,3) != "250") echo"MAIL FROM failed !!!<BR>";

    fputs($fp,"RCPT TO: $to\n");
$res=fgets($fp,256);
                                               // echo "RCPT TO=(250)".$res."<BR>";
if(substr($res,0,3) != "250") echo"RCPT TO failed !!!<BR>";
    fputs($fp,"DATA\n");
$res=fgets($fp,256);
                                                 //echo "DATA=(354)".$res."<BR>";
if(substr($res,0,3) != "354") echo"DATA TO failed !!!<BR>";

//$headers  = "MIME-Version: 1.0\r\n";
    $headers = "Content-Type: text/plain; charset=\"windows-1251\"\r\n";
    //$headers .= "To: mailsgis <$to>\r\n";
    //$headers .= "From: supergis <$from>\r\n";

    fputs($fp, "To: $to\nFrom: $from\nSubject: $subject\n$headers\n\n$message\n.\n");
$res=fgets($fp,256);
                                                // echo "message=(250)".$res."<BR>";
if(substr($res,0,3) != "250") echo"MESSAGE TO failed !!!<BR>";
    fputs($fp,"QUIT\r\n");
$res=fgets($fp,256);
                                                  //echo "QUIT=(221)".$res."<BR>";
if(substr($res,0,3) != "221") echo"QUIT TO failed !!!<BR>";
    fclose($fp);
     }
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог