Пользователям приходят мейлы не по адресу

Проблемы с установкой или работой phpBB 2.0.x? Ищите ответы здесь!
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 20 лет 7 месяцев
Откуда: Москва

Сообщение avm »

Если всетаки проблема связана с неверным определением получателя (ввиду отсутствия явного указания в заголовке) в qmail хостера и при этом решать "в лоб", то добавить строку в файл includes/emailer.php так чтобы получилось:

Код: Выделить всё

// Build header
$this->extra_headers =(($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') .
(($this->from != '') ? "From: $this->from\n" : "From: " . $board_config['board_email'] . "\n") .
"Return-Path: " . $board_config['board_email'] . "\n" .
"Message-ID: <" . md5(uniqid(time())) . "@" . $board_config['server_name'] . ">\n" .
"MIME-Version: 1.0\n" .
"Content-type: text/plain; charset=" . $this->encoding . "\n" .
"Content-transfer-encoding: 8bit\n" .
"Date: " . date('r', time()) . "\n" .
"X-Priority: 3\n" .
"X-MSMail-Priority: Normal\n" .
"X-Mailer: PHP\n" .
"X-MimeOLE: Produced By phpBB2\n" .
$this->extra_headers .
(($to != '') ? "To: $to\n" : '') .
(($cc != '') ? "Cc: $cc\n" : '') .
(($bcc != '') ? "Bcc: $bcc\n" : ''); 
т.е. после "$this->extra_headers ." добавить "(($to != '') ? "To: $to\n" : '') ."

Вообще очень странно поведение qmail'а - если ему в параметрах передают "получателя", то он сам его в заголовок должен вставить (если его там нет)!

P.S. Надо более подробно изучить файлик includes/functions_post.php - почему там нигде (стр. 750 - 800) не вызывается
emailer->email_address(адрес_получателя)...
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 21 год 5 месяцев
Поблагодарили: 2 раза

Сообщение Xpert »

Нашел сегодня еще один интересный мод на тему почты. Описание на английском:
## MOD Description: When Emails are sent from within phpBB, such as the confirm registration email
## these Emails come from your servers default email (usually something
## such as: nobody@your_hosts_server.com) - Due to some hosts starting to disable
## sending emails from this Email address to reduce spam phpBB is unable
## to send these Emails. These two small changes will make all the emails phpBB sends come from
## the board's email adddress rather than the servers default address.
##
## Please note: although the email address the emails come from in phpBB before applying this change
## say they come from the boards email, they don't! This is a simple php mail function to make it
## appear as if they do. This change won't make any visual difference to most people but its an
## important change.
Скачать из нашей базы модов

Вроде как от проблемы Erlang должно избавить.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 21 год 1 месяц
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

Xpert спасибо - попробую.

avm с этим пока подождем.
С уважением,
Сергей
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 20 лет 7 месяцев
Откуда: Москва

Сообщение avm »

То что я советовал выше не помешает, но проблему несовпадения адреса и имени пользователя не решит... То что посоветовал Xpert - тоже (он исправляет только проблему неверного отправителя).

Еще раз посмотрел код includes/functions_post.php. Там адреса получателей передаются через "Bcc:" (теперь неясно почему их нет в заголовке почтового сообщения). Кроме того, там предусмотрено обнуление {USERNAME} шаблона.

Код: Выделить всё

$emailer->msg = preg_replace('#[ ]?{USERNAME}#', '', $emailer->msg);
Тоесть имя получателя "Здравствуйте, Pavel !" в соответствии стандартному коду быть вообще не должно... типа: "Здравствуйте, !".
Это также подтверждается тем, что при заполнении массива $bcc_list_ary

Код: Выделить всё

do
{
if ($row['user_email'] != '')
{
$bcc_list_ary[$row['user_lang']][] = $row['user_email'];
}
$update_watched_sql .= ($update_watched_sql != '') ? ', ' . $row['user_id'] : $row['user_id'];
}
while ($row = $db->sql_fetchrow($result));
email-адресам получатей нигде не ставятся в соответствие их имена.

Проще всего исправить шаблон language/lang_russian/email/topic_notify.tpl - убрать из него строку "Здравствуйте, {USERNAME}!"
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 21 год 1 месяц
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

Проще всего исправить шаблон language/lang_russian/email/topic_notify.tpl - убрать из него строку "Здравствуйте, {USERNAME}!"
Тогда не решим данную проблему :P
т.е. после "$this->extra_headers ." добавить "(($to != '') ? "To: $to\n" : '') ."
Это стоит сделать?
С уважением,
Сергей
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 20 лет 7 месяцев
Откуда: Москва

Сообщение avm »

1. решим - несоответствия не будет :D (мне просто лень сейчас писать)
2. не стоит (в данном случае - от этого толку не будет)

Добавлено спустя 21 минуту 57 секунд:

надо же ерунда какая... все практически исправил уже, а когда дошло до того места где имя вставлять надо в шаблон - застопорился:
Если получателей несколько (им письмо одно на всех рассылается) с ними как здороваться? Через запятую? :D
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 21 год 1 месяц
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

А теперь такое пришло, раньше подобных писем не было:
Hi. This is the qmail-send program at be12.masterhost.ru.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<orf@emsr.ru>:
Sorry, I couldn't find any host named emsr.ru. (#5.1.2)

--- Below this line is a copy of the message.

Return-Path: <erlang@electrosviaz.com>
Received: (qmail 42805 invoked by uid 2000); 21 Mar 2005 07:19:04 -0000
To:
Subject: Уведомление об ответе - Требуют регистрации РЭС на головую станцию в форуме "Радиочастоты"
Reply-to: erlang@electrosviaz.com
From: erlang@electrosviaz.com
Message-ID: <9bc4dfe8381d3e856073e634fc44104d@www.electrosviaz.com>
MIME-Version: 1.0
Content-type: text/plain; charset=windows-1251
Content-transfer-encoding: 8bit
Date: Mon, 21 Mar 2005 10:19:04 +0300
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: PHP
X-MimeOLE: Produced By phpBB2


Здравствуйте, !



Фролов добавил новое сообщение в теме "Требуют регистрации РЭС на головую станцию" в разделе "Радиочастоты"
на сайте Электросвязь.
С уважением,
Сергей
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 20 лет 7 месяцев
Откуда: Москва

Сообщение avm »

Просто ящик orf@emsr.ru (точнее доменное имя emsr.ru) в настоящий момент не существует...

P.S. А вот шаблона для генерации такого сообщения:
Фролов добавил новое сообщение в теме "Требуют регистрации РЭС на головую станцию" в разделе "Радиочастоты"
на сайте Электросвязь.
- не существует. Руками правили?
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 21 год 1 месяц
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

Просто ящик orf@emsr.ru (точнее доменное имя emsr.ru) в настоящий момент не существует...
Это понятно. Но раньше таких писем не было.
P.S. А вот шаблона для генерации такого сообщения:
Фролов добавил новое сообщение в теме "Требуют регистрации РЭС на головую станцию" в разделе "Радиочастоты"
на сайте Электросвязь. - не существует. Руками правили?
Стандартное уведомление для подписчика + добавил имя.
С уважением,
Сергей
Erlang
phpBB 2.0.15
Сообщения: 1033
Стаж: 21 год 1 месяц
Откуда: Москва
Благодарил (а): 207 раз
Поблагодарили: 4 раза

Сообщение Erlang »

А вот еще:

Текст
The original message was received at Mon, 21 Mar 2005 13:14:11 +0300
from be12.masterhost.ru [217.16.16.212]

----- The following addresses had permanent fatal errors -----
ik-nexter@so.yandex.ru
(reason: 554 5.7.1 Mail refused O)
(expanded from: <kosten@nexter.ru>)

----- Transcript of session follows -----
... while talking to lotos.yandex.ru.:
>>> DATA
<<< 554 5.7.1 Mail refused O
554 5.0.0 ik-nexter@so.yandex.ru... Service unavailable
Отчет
Reporting-MTA: dns; newhost.nexter.ru
Received-From-MTA: DNS; be12.masterhost.ru
Arrival-Date: Mon, 21 Mar 2005 13:14:11 +0300

Final-Recipient: RFC822; kosten@nexter.ru
X-Actual-Recipient: RFC822; ik-nexter@so.yandex.ru
Action: failed
Status: 5.7.1
Remote-MTA: DNS; lotos.yandex.ru
Diagnostic-Code: SMTP; 554 5.7.1 Mail refused O
Last-Attempt-Date: Mon, 21 Mar 2005 13:14:13 +0300
Само сообщение
Здравствуйте, BlackDoc!

Вы получили это сообщение потому, что следите за темой "К
Чую МОД заработал!!! :P

Добавлено спустя 4 минуты 11 секунд:

Xpert МОД работает!!!
Спасибо!
С уважением,
Сергей

Вернуться в «Поддержка phpBB 2.0.x»