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

Ваш аккаунт

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

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

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

<?php mail(); ?> и Яндекс

345
18 января 2009 года
vadim_k
312 / / 01.08.2006
ривет всем !

Отправляю почту с помощью функции

<?php mail(); ?>
 
Код:
@mail(test@site.ru,"Проверка связи",$message,
                  "From: ADMIN <mysite@yandex.ru>\nContent-Type: text/plain; charset=\"windows-1251\"");


И вот что заметил, письм на мой ящик на Яндексе приходят не всегда
А это зависит от темы и содержания письма
Например

 
Код:
$message="Для активации Имени и Пароля перейдите по ссылке\n\n http://www.mysite.ru/password.php?action=activ&rnd=$rnd \n\n
Данное сообщение сгенерировано роботом системы.\n С уважением справочная служба MySite"
;



Доходят стабильно

А например

$message="Вы получили это сообщение потому что разместили информацию \n в одном из разделов сайта MySite.ru";
 
Код:
$message=$message."\n-----------------------------------------\n";

$message=$message."Для вас есть Личное сообщение\n Вы можете его прочитать в разделе личных сообщений сайта\n http://mysite.ru/messages/";



Не доходят до моего ящика на Яндексе вообще

А приятель расссказывал что письма с его сайта в которых встречается слово SEX тоже на Яндек ящики не доходят

Кто нибудь с таким сталкивался..
244
18 января 2009 года
UAS
2.0K / / 19.07.2006
Все сталкивались. Антиспам яндекса называется. Колдовать над заголовком, чтобы он проходил. Ну или поискать в сети по методу обходов антиспама (ну или борьбы с ним).
4
19 января 2009 года
mike
3.7K / / 01.10.2002
Правильно делать так:

Код:
function qp_encode( $input = "", $line_max = 76, $space_conv = true ) {
 GLOBAL $LANG;
   $hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
   $lines = preg_split("/(?:\r\n|\r|\n)/", $input);
   $eol = "?=\r\n\t";
   $escape = "=";
   $output = "";
   $charset = "=?".$LANG["charset"]."?Q?";
       while( list(, $line) = each($lines) ) {
               $linlen = strlen($line);
               $newline = "";
               for($i = 0; $i < $linlen; $i++) {
                       $c = substr( $line, $i, 1 );
                       $dec = ord( $c );
                       if ( ( $i == 0 ) && ( $dec == 46 ) ) {
                               $c = "=2E";
                       }
                       if ( $dec == 32 ) {
                               if ( $i == ( $linlen - 1 ) ) {
                                       $c = "_";
                               } else if ( $space_conv ) {
                                       $c = "_";
                               }
                       } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) {
                               $h2 = floor($dec/16);
                               $h1 = floor($dec%16);
                               $c = $escape.$hex["$h2"].$hex["$h1"];
                       }
                       if ( (strlen($newline) + strlen($c)) >= $line_max ) {
                               $output .= $charset.$newline.$eol;
                               $newline = "";
                               if ( $dec == 46 ) {
                                       $c = "=2E";
                               }
                       }
                       $newline .= $c;
               } // end of for
               $output .= $charset.$newline.$eol;
       } // end of while
       return trim(str_replace("\r\n","\n",$output));
}
 
 
$result=mail(test@site.ru,
    qp_encode("Проверка связи"),
    $message,
    "From: ADMIN <mysite@yandex.ru>\nContent-Type: text/plain; charset=\"windows-1251\"",
    "-fmysite@yandex.ru");
 
if (!$result) print "Не удалость поставить в очередь на отправку.";


1) В теме нельзя использовать кирилицу. Ее нужно сначала закодировать в Quoted Printable. Антиспам может блокировать письма с кривым заголовком.

2) Добавлен параметр -f передающийся sendmail. Устанавливает заголовок письма Return-Path. Антиспам может блокировать если Return-Path не совпадает с From.
345
19 января 2009 года
vadim_k
312 / / 01.08.2006
Спасибо за помощь

У меня начали отправляться без перекодировки когда я
вместо
"From: ADMIN <mysite@yandex.ru>

Написал

"From: ADMIN <admin@mysite.ru>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог