Author Topic: Письма от Nobody  (Read 21191 times)

0 Members and 1 Guest are viewing this topic.

falcon

  • Sr. Member
  • ****
  • Posts: 44
Письма от Nobody
« on: September 06, 2013, 02:40:41 PM »
Уведомляю, что на некоторых серверах запрещена отправка почты от Nobody.  Эдакая защита от спама.
Стоит сделать настройку.

Мои изменения в /lib/notify.php

Code: [Select]
@mail($toaddr, $real_subject, wordwrap(myiconv($webim_encoding, $mail_encoding, $body), 70), $headers, '-f', $webim_mailbox);

Code: [Select]
ini_set('sendmail_from', 'mymail@site.ru');
mail($toaddr, $real_subject, wordwrap(myiconv($webim_encoding, $mail_encoding, $body), 70), $headers, '-f' . $webim_mailbox);

faf

  • Mibew Staff Member
  • Native
  • *****
  • Posts: 951
    • Mibew Messenger
Re: Письма от Nobody
« Reply #1 on: September 06, 2013, 08:58:25 PM »
Вообще, все необходимые по соответствующему RFC заголовки, включая поле "From:" Mibew при отправке почты задаёт.

И может быть я не прав, но указанная переменная PHP используется только в Windows и относится, вообще говоря, не к настройке конечного приложения, а к настройке веб-сервера. По крайней мере, на PHP.net пишут именно так:

http://php.net/manual/ru/mail.configuration.php

А выставить эту переменную в Windows, опять-таки исходя из официальной документации, можно где угодно. Хоть в реестре Windows, хоть на уровне конфигурации веб-сервера, хоть на уровне специфичных настроек для конкретной директории (через .htaccess для Apache или web.config для IIS).

Соответственно, мы в рамках проекта эту тему ещё обсудим, но у лично меня есть сомнения в целесообразности втаскивания этого изменения в основную кодовую базу.

falcon

  • Sr. Member
  • ****
  • Posts: 44
Re: Письма от Nobody
« Reply #2 on: September 23, 2013, 03:39:34 AM »
У нас сервер не на винде, как я помню.
Без этой фишки почта остается на сервере (доступа к логам маил сервера нету), но админ говорил, что не отправляются из-за nobody.
Долго искал вариант и этот подошел.

P.S. Извиняюсь, я слоупок. Давно сюда не заходил


Дабы не плодить темы: 1.6.6 совместима с предыдущими версиями?
Глянул демку 2.0. Красивая зараза. :)
Тема новая интересная.
Может на днях полистаю 1.6.6. Жаль у меня слишком много изменений в движке.. Быдлокода всякого.. И хочется.. И колется.. :(

Еще предложения в  ToDo будущий (Да, я понимаю, это не скоро еще, но как мысли будут, буду предложения писать):
1. напоминание, если диалог не открыт в течение 5-10 минут. Когда сидишь/лежишь (короче, находишься) с девушкой, быстро забываешь, что кто-то пишет :))
2. возможность бесконечного напоминания (только без утечки в памяти), пока диалог не будет открыт.
3. возможность отключения флуда в чат ссылками (иногда просто бешенные юзеры попадаются)
4. возможность отключения проверки в диалоге суппорт или нет. Я, например, часто с планшетки сижу. А там браузер перестает обновляться, когда блокируешь планшет. В итоге пользователь видит кучу сообщений. (Пришлось порыться в коде и язык.файле). Правда теперь пустые сообщения идут иногда. Надо будет пофиксить у себя..

По топику:
Поставил двигло 1.6.6, скопировал базу. Ну не отправляются письма без ini_set. ;/
Добавил в код, протестировал. Итог: сразу пришло.
« Last Edit: September 23, 2013, 04:49:14 AM by falcon »

faf

  • Mibew Staff Member
  • Native
  • *****
  • Posts: 951
    • Mibew Messenger
Re: Письма от Nobody
« Reply #3 on: September 23, 2013, 07:27:23 AM »
Лучше делать отдельные темы под отдельные вопросы. Так их потом проще будет искать и изучать другим посетителям форума.

По предложенному списку TODO: Mibew 1.6.x по новым возможностям заморожен, а в 2.x всё это, по идее, можно будет реализовать с помощью плагинов.

По совместимости. Не уверен, что понял, о чём речь. Кнопку, скорее всего, потребуется перегенерировать, кодовая база заменяется при установке полностью, по базе данных - да, совместимость есть. В зависимости от старой версии, с которой осуществляется переход, может потребоваться проведение обновления структуры БД, но это Mibew делать умеет, на низком уровне никаких операций производить не потребуется.

И, собственно, по сабжу. Ещё раз: отправка почты в Mibew осуществляется стандартными средствами. Если почта не отправляется из-за отсутствия каких-то настроек веб-сервера, то эти настройки надо делать не на уровне приложения, а на уровне веб-сервера. Как - см. документацию на PHP.net. Тащить эти настройки в приложение - идеологически неправильно.

falcon

  • Sr. Member
  • ****
  • Posts: 44
Re: Письма от Nobody
« Reply #4 on: September 23, 2013, 07:37:53 AM »
http://forums.cpanel.net/f5/scoop-nobody-stuff-9076.html#post39853

Вот объяснение ситуации. Вполне понятное.

faf

  • Mibew Staff Member
  • Native
  • *****
  • Posts: 951
    • Mibew Messenger
Re: Письма от Nobody
« Reply #5 on: September 23, 2013, 09:11:27 AM »
Неравноценный информационный обмен, коллега. Я Вам ссылки на официальную документацию PHP, а Вы мне - на обсуждение десятилетней давности на форуме достаточно одиозного проприетарного программного продукта.  ;D

Но даже в том обсуждении звучат примерно те же мысли, что я здесь уже озвучил:

Quote
Which means that by default mail() will send mail as username@server.hostname.com. It will not send email from their domain name unless you give mail() more params.

Так вот в Mibew для mail() дополнительным параметром указываются все необходимые по RFC для отправки почты заголовки (From:, Reply-to:). Дальше - задачи не приложения, а веб-сервера и почтового сервера.

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

Кстати, уже в следующем посте по Вашей ссылке написано:

Quote
You can also set this in a vhost directive in httpd.conf

Иными словами,  требующиеся Вам параметры можно (и нужно) задать на уровне конфигурации веб-сервера. В .htaccess оно точно так же сработает (см. документацию PHP, параметр sendmail_from может меняться где угодно.

falcon

  • Sr. Member
  • ****
  • Posts: 44
Re: Письма от Nobody
« Reply #6 on: September 23, 2013, 10:47:49 PM »
Неравноценный информационный обмен, коллега. Я Вам ссылки на официальную документацию PHP, а Вы мне - на обсуждение десятилетней давности на форуме достаточно одиозного проприетарного программного продукта.  ;D

Просто одна из первых ссылок с подобной проблемой.  :P


Так вот в Mibew для mail() дополнительным параметром указываются все необходимые по RFC для отправки почты заголовки (From:, Reply-to:). Дальше - задачи не приложения, а веб-сервера и почтового сервера.

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

Хорошо. Еще раз о проблеме. У хостера может быть отключена отсылка писем в PHP и CGI от nobody в CPanel-и.
http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/PreventEmailAbuse#Step 2: Prevent the nobody syste
Вследствие чего, письма от mibew чата даже с правильными заголовками RFC не будут отсылаться, как я вижу из текущей ситуации.
Поэтому, я и предлагаю встроить опцию, чтобы кому-то не пришлось прыгать с бубном :)

Кстати, уже в следующем посте по Вашей ссылке написано:

Quote
You can also set this in a vhost directive in httpd.conf

Иными словами,  требующиеся Вам параметры можно (и нужно) задать на уровне конфигурации веб-сервера. В .htaccess оно точно так же сработает (см. документацию PHP, параметр sendmail_from может меняться где угодно.

Хорошо, это понятно и не суть важно, где менять. Но доступа к конфигам (php.ini) у рядового пользователя хостинга скорей всего нету и не будет. Либо изменения php.ini ограниченные  ;)

faf

  • Mibew Staff Member
  • Native
  • *****
  • Posts: 951
    • Mibew Messenger
Re: Письма от Nobody
« Reply #7 on: September 24, 2013, 07:02:43 AM »
Хорошо. Еще раз о проблеме. У хостера может быть отключена отсылка писем в PHP и CGI от nobody в CPanel-и.
http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/PreventEmailAbuse#Step 2: Prevent the nobody syste
Вследствие чего, письма от mibew чата даже с правильными заголовками RFC не будут отсылаться, как я вижу из текущей ситуации.
Поэтому, я и предлагаю встроить опцию, чтобы кому-то не пришлось прыгать с бубном :)

Кстати, уже в следующем посте по Вашей ссылке написано:

Quote
You can also set this in a vhost directive in httpd.conf

Иными словами,  требующиеся Вам параметры можно (и нужно) задать на уровне конфигурации веб-сервера. В .htaccess оно точно так же сработает (см. документацию PHP, параметр sendmail_from может меняться где угодно.

Хорошо, это понятно и не суть важно, где менять. Но доступа к конфигам (php.ini) у рядового пользователя хостинга скорей всего нету и не будет. Либо изменения php.ini ограниченные  ;)

Я говорил не про php.ini, а про .htaccess (или про web.config для IIS). Права на его изменение, а равно и возможность прописывания этой опции там у пользователя есть.

С другой стороны, изучил сейчас несколько взрослых проектов типа Drupal и Wordpress. Да, там они решают проблемы некорректной настройки сервера на уровне приложения. Идеологически мне это кажется неправильным, но мы такую возможность рассмотрим.

falcon

  • Sr. Member
  • ****
  • Posts: 44
Re: Письма от Nobody
« Reply #8 on: September 24, 2013, 07:20:24 AM »
Гут. :) Это все, чего я хотел добиться. Всплывут какие-нибудь идеи/фантазии/пожелания - дам знать :)

faf

  • Mibew Staff Member
  • Native
  • *****
  • Posts: 951
    • Mibew Messenger
Re: Письма от Nobody
« Reply #9 on: September 24, 2013, 09:31:44 PM »
Ладно, будем считать, поддался уговорам.   ::)

В 1.6.7 реализована поддержка подобных странных системных настроек.

falcon

  • Sr. Member
  • ****
  • Posts: 44
Re: Письма от Nobody
« Reply #10 on: September 24, 2013, 10:44:49 PM »
Ага. Видел коммиты. Я проверю сегодня, отпишу.