Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с рассылкой, черт знает что творится 
:(
    Опции темы
eee
Дата 24.10.2009, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 14.4.2008
Где: ХарьковCity

Репутация: нет
Всего: 1



Валится рассылка. Спотыкается каждый раз на новом мыле. 
Суть в том, что выполняется массовая рассылка пользователям. 
Пользователи уже до этого выбраны из базы и занесены в INI-файлы в формате email = "hash".

Скрипт:
Код

function send($array) {
    global $sender;
    $i = 1;
    foreach ($array as $email=>$hash) {
     $email = trim(strtolower($email));
        $hash  = trim(strtolower($hash));
        if (valid_email($email)) {
         $hash = md5($email . $hash);
            $text = str_replace('%HASH%', $hash, trim(stripslashes(urldecode($_POST['mail']))));
            $subject = trim(stripslashes(urldecode($_POST['subject'])));
            $headers = 'From: ' . $sender . "\r\n" .
                       'Content-type: text/html; charset=windows-1251' . "\r\n";
         if (!mail($email, $subject, $text, $headers)) {
             echo '<pre style="border:1px solid #d5d5d5;padding:10px;">';
                echo 'Line: ' . $i;
                echo '<br />';
                var_dump($email);
                echo '<br />';
                var_dump($subject);
                echo '<br />';
                var_dump($headers);
                echo '<br />';
                echo date("r");
                echo '<br />';
                print_r(getallheaders());
                echo '</pre>';
                exit();
            }
        }
        $i++;
    }
    return count($array);
}

Как вы уже догадались, var_dump()-ы там находятся никак не случайно. Дело в том, что функция ведет себя слегка странно - вылетает на произвольном email-е.

Код

Line: 4  - номер эл почты (по порядку) в файле
string(21) "[email protected]" (получатель)

string(18) "тест работодателей" (тема письма)

string(97) "From: Отправитель   (заголовки переданные маил())
Content-type: text/html; charset=windows-1251
"

Tue, 20 Oct 2009 12:27:20 +0300  - все заголовки переданные сервером
Array
(
    [Host] => site.domain.ua
    [User-Agent] => Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3
    [Accept] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    [Accept-Language] => ru,en-us;q=0.7,en;q=0.3
    [Accept-Encoding] => gzip,deflate
    [Accept-Charset] => windows-1251,utf-8;q=0.7,*;q=0.7
    [Keep-Alive] => 300
    [Connection] => keep-alive
    [Referer] => http://site.domain.ua/admin.php?p=nospam
    [Cookie] => iua=1; b=b; vxnews=6; PHPSESSID=a7d0293f5ca52018dcd99720ded3424e
    [Content-Type] => application/x-www-form-urlencoded
    [Content-Length] => 6377
)



В скрипте берется файл, парсится через parse_ini_file() и полученный массив передается функции send(), которая уже шаманит как хочет.

INI-файлов 3 — 3 вида пользователей.
В одном  ~13000—15000 пользователей,
Во втором ~2500,
В третьем ~100.

Прошу вашей помощи, потому что я уже ничего не могу понять. Спасибо.

Вот-вот получил от хостера лог sendmail:
Код

2009-10-24 15:24:39 1N1ffj-0004S3-FZ <= <> H=vh62.mirohost.net [193.178.145.51]:44619 I=[89.184.64.125]:25 P=esmtp S=6195 [email protected] T="Mail delivery failed: returning message to sender" from <> for [email protected]
2009-10-24 15:24:39 1N1ffj-0004S3-FZ ** [email protected] <[email protected]> F=<> R=dnslookup T=remote_smtp: SMTP error from remote mail server after pipelined DATA: host mxs.ukr.net [195.214.192.100]: 550 http://ukr.net/mta/err.html#nobounces?89.184.64.125
2009-10-24 15:24:40 1N1ffk-0004SO-4m <= <> H=vh62.mirohost.net [193.178.145.51]:44628 I=[89.184.64.125]:25 P=esmtp S=6236 [email protected] T="Mail delivery failed: returning message to sender" from <> for [email protected]
2009-10-24 15:24:40 1N1ffk-0004SO-4m ** [email protected] <[email protected]> F=<> R=dnslookup T=remote_smtp: SMTP error from remote mail server after pipelined DATA: host mxs.ukr.net [195.214.192.100]: 550 http://ukr.net/mta/err.html#nobounces?89.184.64.125 


Очень прошу помощи.

Это сообщение отредактировал(а) eee - 24.10.2009, 20:39
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 24.10.2009, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Рассылка - это лошадь? Скаковая, наверное. Валится от усталости, как я понял. А конкуренты мыло разливают по дороге и она спотыкается.

Я только так могу понять содержательную часть вашего вопроса.
Поскольку в веб-программировании с понятиями "спотыкается" и "валится" до сих пор не сталкивался.
PM MAIL   Вверх
skyboy
Дата 24.10.2009, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(eee @  24.10.2009,  19:37 Найти цитируемый пост)
ost mxs.ukr.net [195.214.192.100]: 550 http://ukr.net/mta/

550 - ящик не существует.
PM MAIL   Вверх
eee
Дата 24.10.2009, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 14.4.2008
Где: ХарьковCity

Репутация: нет
Всего: 1



skyboy, спасибо огромное. Т.е. если я правильно понял, то mail() передает sendmail-у письмо, тот пытается письмо отправить и возвращает mail()-у ошибку, и соответсвенно mail() возвращает "ложь". Так?

Ипатьев, что-то фантазия вас подводит, раз вы только так можете содержательную часть вопроса. Слова "спотыкается" и "валится" применительны к великому множеству существ, предметов и понятий. Называйте эти вещи по другому, если этот вариант вас не устраивает. Меня поняли и помогли, ответили. За что я очень благодарен. Вы же решили блеснуть остроумием и, как я уже писал, видимо не очень развитой фантазией.
PM MAIL WWW ICQ   Вверх
skyboy
Дата 25.10.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(eee @  24.10.2009,  20:34 Найти цитируемый пост)
Ипатьев, что-то фантазия вас подводит, раз вы только так можете содержательную часть вопроса. 

Ипатьев мягко намекнул, что "валится" применимо к лошади. Или к зданию. Возвратные глаголы используются для отображения действий, которые происходят сами по себе, без участия говорящего(программный код пишется и выполняется сам или все же программист к этому причастен?).  А программный код может завершаться некой ошибкой или выполняться не так, как хочется автору. В первом случае надо найти сообщение об ошибке и провести отладку, во втором случае надо провести отладку и скорректировать неправильный код. 
Цитата(eee @  24.10.2009,  20:34 Найти цитируемый пост)
Т.е. если я правильно понял, то mail() передает sendmail-у письмо, тот пытается письмо отправить и возвращает mail()-у ошибку, и соответсвенно mail() возвращает "ложь". Так?

извини, не уверен. я просто, увидев ошибку в логе, указал на смысл этой ошибки. проведи эксперимент: попробуй отправить письмо на заведомо несуществующий адрес. mail() вернуло false?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0806 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.