Быстрый лёгкий надёжный форумный движок
Вы не вошли.
Доброго дня.
Суть проблемы такова. Когда при администрировании ставлю почту не связанную с форумом, письма регистрации и тп. складируются на автоматической почте хостинга. На хостинге посоветовали поставить связанную с доменом. А форум не понимает адреса вида [email protected]. Ругается на неверный формат.
Совет хостера: Можно прописать емейл прямо в базе. Уточните на форуме по Вашему движку где именно (таблица/поле) находится адрес отправителя. Вписать емейл туда можно через phpMyAdmin.
Вот, уточняю... Подскажите плиз
Offline
@Motoforum71, откройте через phpMyAdmin таблицу config в базе форума.
Найдите строку со значением o_webmaster_email в поле conf_name (придется пролистать несколько страниц со строками) и внесите в нее значение [email protected] в поле conf_value. После этого в папке /cache нужно удалить файл cache_config.php.
А лучше внесите такие изменения в файл /include/email.php:
1. заменить код
return preg_match('%^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|("[^"]+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$%D', $email);
на код
return preg_match('%^([^\x00-\x1F\\\/\s@]+)@(?:[\p{L}\p{N}]+(?:\-[\p{L}\p{N}]+)*\.)*\p{L}+$%Du', $email);
2. заменить код
$to = pun_trim(preg_replace('%[\n\r]+%s', '', $to));
$subject = pun_trim(preg_replace('%[\n\r]+%s', '', $subject));
$from_email = pun_trim(preg_replace('%[\n\r:]+%s', '', $from_email));
$from_name = pun_trim(preg_replace('%[\n\r:]+%s', '', str_replace('"', '', $from_name)));
$reply_to_email = pun_trim(preg_replace('%[\n\r:]+%s', '', $reply_to_email));
$reply_to_name = pun_trim(preg_replace('%[\n\r:]+%s', '', str_replace('"', '', $reply_to_name)));
на код
$to = idn_to_ascii(pun_trim(preg_replace('%[\n\r]+%s', '', $to)), 0, \INTL_IDNA_VARIANT_UTS46);
$subject = pun_trim(preg_replace('%[\n\r]+%s', '', $subject));
$from_email = idn_to_ascii(pun_trim(preg_replace('%[\n\r:]+%s', '', $from_email)), 0, \INTL_IDNA_VARIANT_UTS46);
$from_name = pun_trim(preg_replace('%[\n\r:]+%s', '', str_replace('"', '', $from_name)));
$reply_to_email = idn_to_ascii(pun_trim(preg_replace('%[\n\r:]+%s', '', $reply_to_email)), 0, \INTL_IDNA_VARIANT_UTS46);
$reply_to_name = pun_trim(preg_replace('%[\n\r:]+%s', '', str_replace('"', '', $reply_to_name)));
3. Зайти в админку в опции и в поле Почта Вебмастера ввести mail@мото71.рф.
4. Протестировать отправку почты.
Если будет работать, внесу в свою сборк изменения.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
@Motoforum71, можно еще так сделать https://fluxbb.qb7.ru/forum/viewtopic.p … 245#p30245
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Приветстую.
В кириллице принял почту, но при регистрации выскочило вот что:
Fatal error: Call to undefined function idn_to_ascii() in /home/allauru/public_html/мото71.рф/forum/include/email.php on line 229
229 это: $to = idn_to_ascii(pun_trim(preg_replace('%[\n\r]+%s', '', $to)), 0, \INTL_IDNA_VARIANT_UTS46);
второй пока не пробовал.
Offline
@Motoforum71, модули нужные в php не подключены. Если есть возможность, то нужно подключить в php.ini (возможно настройка модулей php есть в панели управления сайтом) модуль php_intl. Или поменять регулярку по ссылке постов выше и использовать паникод [email protected].
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
То есть установить вашу сбоку поверх? Я открыл ссылку, а там 50 стр обсуждения, не знаю что именно искать.
в Управлении сайтом ничего такого нет, к сожалению.
Offline
@Motoforum71, в файле include/email.php нужно поменять одну строку
return preg_match('%^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|("[^"]+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$%D', $email);
на
return preg_match('%^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$%iD', $email);
Предыдущие изменения убрать, если вы их еще не откатили.
Моя сборка FluxBB 1.5, ForkBB · сообщество
Offline
Спасибо огромное, все получилось! теперь разбираюсь с хостером, почем письма о регистрации не доходят до участников)
Offline