[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не отправлять активацию на опред. майл-адреса
Bumbarash

не отправлять активацию на опред. майл-адреса

сразу признаюсь, в пхп чайник )
итак, дано: smf 1.1.11 (форум);
рега с отправкой активации на майл-адрес;

нужно запретить отправлять активацию после реги на определенные домены. например вот по шаблону
[любоеимя]@co.cc, а также [любоеимя]@gmail.com
остальные адреса считать не смамерами, и им ссылку активации таки отправлять.

Register.rar:
http://www.mediafire.com/?ajwhyd2c2h1fe9l

спасибо



Спустя 14 минут, 22 секунды (6.10.2010 - 08:53) Basili4 написал(а):
Это тебе на добыло в раздел проекты.

Но если уж и здесь в любом случае следует указать цену.
Либо показать что ты сделал сам а что у тебя не получается.

Спустя 4 минуты, 38 секунд (6.10.2010 - 08:58) Bumbarash написал(а):

это.....
я сам ничего не делал, т.к. чайник, что там надо делать я не знаю, и боюсь испортить.
если у вас все на коммерческой основе, даже такая мелочь, то - извините, что отнял ваше драгоценное время и привет вам горячий от работников кузбасса.

Спустя 22 минуты, 22 секунды (6.10.2010 - 09:20) Xpund написал(а):
Я тебе от чистого сердца говорю выкень SMF в нём дыр больше чем в дуршлаке!

Спустя 3 часа, 29 минут, 37 секунд (6.10.2010 - 12:50) olex0731 написал(а):
тут простенькая регулярка справится на отлично:)
попробуйте, к примеру:
preg_match("#@(?:[A-Za-z0-9-]+\.)+[A-Za-z]{2,4}#",$email,$matches);
в $email - строка с мэйлом, в $matches, будет домен ('@gmail.com' например). ну а потом простым switch'ем проверьте, там уж не проблема я думаю...

Спустя 6 часов, 33 минуты, 30 секунд (6.10.2010 - 19:23) kirik написал(а):
Цитата (Xpund @ 6.10.2010 - 01:20)
Я тебе от чистого сердца говорю выкень SMF в нём дыр больше чем в дуршлаке!

Дабы не быть голословным, подтвердишь информацию?

olex0731
легких путей не ищем? smile.gif
$host = strstr($email, '@');


Bumbarash
Попробуйте это:
Файл: /Sources/Register.php
Строка: 404 (несуществующая smile.gif )
sendmail($row['emailAddress'], $txt['register_subject'], sprintf($txt[empty($modSettings['registration_method']) || $modSettings['registration_method'] == 1 ? 'resend_activate_message' : 'resend_pending_message'], $row['realName'], $row['memberName'], $row['validation_code'], $scripturl . '?action=activate;u=' . $row['ID_MEMBER'] . ';code=' . $row['validation_code']));

Тут у нас как раз идет отправка мыла юзеру после запроса повторной активации.
Если мы заменим эту строчку примерно на:
$bannedMailHosts = array(
'@gmail.com',
'@mail.ru'
);
if(!in_array(strstr($row['emailAddress'], '@'), $bannedMailHosts)) {
sendmail($row['emailAddress'], $txt['register_subject'], sprintf($txt[empty($modSettings['registration_method']) || $modSettings['registration_method'] == 1 ? 'resend_activate_message' : 'resend_pending_message'], $row['realName'], $row['memberName'], $row['validation_code'], $scripturl . '?action=activate;u=' . $row['ID_MEMBER'] . ';code=' . $row['validation_code']));
}

то все должно вроде как получиться..

UPD1. нет, еще одно место..
Файл: /Sources/Subs-Members.php
Строка: 857
sendmail($regOptions['email'], $txt['register_subject'], sprintf($txt['register_activate_message'], $realName, $regOptions['username'], $regOptions['password'], $validation_code, $scripturl . '?action=activate;u=' . $memberID . ';code=' . $validation_code));

Здесь как раз происходит отправка мыла активации после регистрации.
Заменяем на:
{
$bannedMailHosts = array(
'@gmail.com',
'@mail.ru'
);
if(!in_array(strstr($regOptions['email'], '@'), $bannedMailHosts)) {
sendmail($regOptions['email'], $txt['register_subject'], sprintf($txt['register_activate_message'], $realName, $regOptions['username'], $regOptions['password'], $validation_code, $scripturl . '?action=activate;u=' . $memberID . ';code=' . $validation_code));
}
}


Можно переменную bannedMailHosts куда-нить вынести.. В конфиг например.

Спустя 21 день, 12 часов, 56 минут, 38 секунд (28.10.2010 - 08:20) Guest написал(а):
спасибо вам wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.