Проверка реальность почтового адреса пользователя

WayBe

Новичок
Проверка реальность почтового адреса пользователя

Вопрос такой:
Хостер мне говорит, что ему постоянно с моего РНРбб сыпется почта о том, что не может отправить письмо кому-то.
Как можно проверить реальность мыльного адреса?
Не соответствие шаблону, а наличие данного адреса?
Спасибо.
 

svetasmirnova

маленький монстрик
По наличию/отсутствию "почты о том, что не может отправить письмо кому-то." Просто отключай после получения нескольких таких писем.
 

Фанат

oncle terrible
Команда форума
при занечении адеса в базу послать письмо, такое, как тебе приходило при регистрации на этом форуме.
 

WayBe

Новичок
Спасибо.
А более серьёзных средств нет? Вот что мне хостер посоветовал, не знаю куда применить-то:

"Методика простая:
1. Парсинг адреса на предмет соответствия синтаксису
2. Короткая сессия на BestMX в виде
HELO
MAIL FROM: <>
RCPT TO: <адрес>
RSET
QUIT
Если после RCPT код 2xx - адрес валиден и почта по нему может быть
доставлена. Если нет - то в сад."

-~{}~ 01.11.05 15:05:

svetasmirnova
В том-то и проблема, что почтовый демон отправляет хостеру письмо о том, что не может письмо отправить. А его это уже заело.
 

svetasmirnova

маленький монстрик
>А более серьёзных средств нет?
Нет

То, что хостер посоветовал, по сути, подвариант. Единственный момент: почта может быть временно заблокирована (сервер упал, ящик переполнен). Зачем отказываться от людей, чьи проблемы решатся через нескольок часов? Фанат предложил правильный вариант.

Я слишком широко посмотрела на проблему, можно проигнорировать: слушай Фаната ;)
 

WayBe

Новичок
Спасибо, нашёл подходящее здесь:
http://codewalkers.com/tutorials/73/1.html
 

440hz

php.ru
Re: Проверка реальность почтового адреса пользователя

Автор оригинала: WayBe
Хостер мне говорит, что ему постоянно с моего РНРбб сыпется почта о том, что не может отправить письмо кому-то.
я сам хостер и такие проблемы бывают у нерадивых юзеров.

надо не мыло проверять (ИМХО на 100% все рвно не проверишь), а настроить отправку что б отлуп приходил тебе, а не www@hostname или под чем там вебсервер крутится. тогда и проблем не будет и ты получишь инфу о том, что куда не доставилось.

а ссылка подходит, конечно, но проблема же не в этом
 

WayBe

Новичок
Напоследок:

Вот пример того, что получается, когда нет валидации водимого при
регистрации клиента e-mail'а. Они пишут всякую фигню.


---------- Forwarded message ----------
Date: Wed, 26 Oct 2005 13:38:26 +0300 (EEST)
From: Mail Delivery Subsystem <[email protected]>
To: [email protected]
Subject: Returned mail: see transcript for details

The original message was received at Wed, 26 Oct 2005 13:38:26 +0300 (EEST)
from localhost [127.0.0.1]

----- The following addresses had permanent fatal errors -----
<[email protected]>
(reason: 550 Host unknown)

----- Transcript of session follows -----
550 5.1.2 <[email protected]>... Host unknown (Name server: mailfgt.com: host not found)

Вот этих-то уродиков и нужно чикать :)
 

WayBe

Новичок
440hz
Спасибо.
Проблема решилась на странице администрирования путём:
"Включить активизацию учетных записей - Нет"

"To: [email protected]
вот от этого нужно избавиться и подставлять свой адрес" - нужно кинуть файл с настройками для Апача?
(просветите молодёжь)
 

440hz

php.ru
WayBe
нужно письма нормально отправлять с соответствующими хедерами. апач тут вообще не при чем.
 

440hz

php.ru
WayBe
найди там место где сама отправка происходит. скорей всего обычный вызов mail(). далее опять приходи сюда.
 

WayBe

Новичок
Отправляет почту там целый класс.
Но есть файл functions_validate.php

В строке 125 я вставил:

$tokens00 = explode('@', $email);
if (!checkdnsrr($tokens00[1], 'MX') || !checkdnsrr($tokens00[1], 'A'))
{ message_die(GENERAL_ERROR, "Couldn't obtain user email information.", "","" ,"" , $sql); }

Работает :)
 

440hz

php.ru
WayBe
вот класс бы и подправил ... а может там это уже и есть. замыль мне этот класс? почитаем на досуге ...
 

svetasmirnova

маленький монстрик
Вот оно:
PHP:
$this->mimeOut .= "From: ".$szFromAddress."\n";
...
$this->mimeOut .= "Reply-To:".$szFromAddress."\n";
Обеспечь, чтобы $szFromAddress равнялось твоему адресу, а не хостера
 

Фанат

oncle terrible
Команда форума
svetasmirnova
хостер может оверрайдить эти настройки.

WayBe
единственный ПРАВИЛЬНЫЙ путь тебе сказали.
глупостями заниматься - не здесь.

сотри немедленно весь этот мусор и перечитай правила форума.
 

440hz

php.ru
Автор оригинала: svetasmirnova
PHP:
$this->mimeOut .= "From: ".$szFromAddress."\n";
$this->mimeOut .= "Reply-To: ".$szFromAddress."\n";
Обеспечь, чтобы $szFromAddress равнялось твоему адресу, а не хостера
я бы добавил еще:
PHP:
$this->mimeOut .= "Errors-to: ".$szFromAddress."\n";
 
Сверху