URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89332
[ Назад ]

Исходное сообщение
"отправка почты с сайта в локальной сети"

Отправлено miroff , 08-Июл-10 17:55 
Есть веб-сервер на Ubuntu Server 9.10
Где то в локальной сети есть Почтовый сервер на MDaemon
В компании у всех есть внутреняя почта.
На веб сервере организован форум.
Как сделать чтоб уведомления с форума приходили на наши почты. Доступа в мир нету.
Что нужно ставить на веб-сервер?

Содержание

Сообщения в этом обсуждении
"отправка почты с сайта в локальной сети"
Отправлено ncp , 08-Июл-10 18:10 
>Есть веб-сервер на Ubuntu Server 9.10
>Где то в локальной сети есть Почтовый сервер на MDaemon
>В компании у всех есть внутреняя почта.
>На веб сервере организован форум.
>Как сделать чтоб уведомления с форума приходили на наши почты. Доступа в
>мир нету.
>Что нужно ставить на веб-сервер?

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


"отправка почты с сайта в локальной сети"
Отправлено бусик , 08-Июл-10 18:24 
>[оверквотинг удален]
>>В компании у всех есть внутреняя почта.
>>На веб сервере организован форум.
>>Как сделать чтоб уведомления с форума приходили на наши почты. Доступа в
>>мир нету.
>>Что нужно ставить на веб-сервер?
>
>Я точно не знаю, так как никогда такое не делал. Но возможно
>нужно на самом веб серваке поднять какой-нибудь postfix к примеру. К
>форуму прикрутить php-скрипт, который будет передавать этому постфиксу письмо, а постфикс
>будет слать его на почтовик, где хранятся внутренние почтовые ящики.

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

правильней поправить ДНС, или прописать в hosts, но не знаю, как с этим будет работать сендмыло


"отправка почты с сайта в локальной сети"
Отправлено miroff , 09-Июл-10 06:33 
>[оверквотинг удален]
>>нужно на самом веб серваке поднять какой-нибудь postfix к примеру. К
>>форуму прикрутить php-скрипт, который будет передавать этому постфиксу письмо, а постфикс
>>будет слать его на почтовик, где хранятся внутренние почтовые ящики.
>
>слишком много телодвижений ненужных.
>на убунте уже есть почтовик, наверняка sendmail, поэтому достаточно чтобы убунта знала,
>какой сервак обслуживает домен.
>
>правильней поправить ДНС, или прописать в hosts, но не знаю, как с
>этим будет работать сендмыло

Да, стоит postfix, кажется даже по умолчанию.
в пхп отправляется почта mail(), и все работает т.е. фукнция в пхп завершается удачей.
postfix принимает мыло, это видно в /var/log/mail.log, но не пересылает его на почтовый сервер.

Может кто сталкивался с такой проблемой?


"отправка почты с сайта в локальной сети"
Отправлено ncp , 09-Июл-10 08:18 
>[оверквотинг удален]
>>правильней поправить ДНС, или прописать в hosts, но не знаю, как с
>>этим будет работать сендмыло
>
>Да, стоит postfix, кажется даже по умолчанию.
>в пхп отправляется почта mail(), и все работает т.е. фукнция в пхп
>завершается удачей.
>postfix принимает мыло, это видно в /var/log/mail.log, но не пересылает его на
>почтовый сервер.
>
>Может кто сталкивался с такой проблемой?

Дык он не знает куда отправлять. Решений несколько:

1) Добавить MX запись в DNS зону твоего домена (на котором почта), не забыть прописать DNS сервер на веб сервере (более правильный способ)

2) Прописать это вручную.

добавить в /etc/postfix/transport такую запись:

yourdomain.com smtp:[ip адрес принимающего почтового сервера]

Далее выполнить postmap /etc/postfix/transport
Далее указать в /etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport
потом postfix reload

Должно заработать


"отправка почты с сайта в локальной сети"
Отправлено miroff , 09-Июл-10 12:56 
что в файле /etc/hosts
----------------------------------
192.168.0.2    mail.gajk.uz uzrailway.uz

"отправка почты с сайта в локальной сети"
Отправлено miroff , 09-Июл-10 13:00 

>[оверквотинг удален]
>добавить в /etc/postfix/transport такую запись:
>
>yourdomain.com smtp:[ip адрес принимающего почтового сервера]
>
>Далее выполнить postmap /etc/postfix/transport
>Далее указать в /etc/postfix/main.cf
>transport_maps = hash:/etc/postfix/transport
>потом postfix reload
>
>Должно заработать

Увы, не заработало. Но видимо у меня конфиги вообще сбиты.
Постараюсь привести что есть.
содержимое /etc/postfix
----------------------------------------------
miroff@web:/etc/postfix$ ls -l
total 88
-rw-r--r-- 1 root root   318 2010-05-17 19:42 dynamicmaps.cf
-rw-r--r-- 1 root root  1361 2010-07-09 13:50 main.cf
-rw-r--r-- 1 root root  4300 2010-05-17 19:42 master.cf
-rw-r--r-- 1 root root 18992 2009-09-22 18:56 postfix-files
-rwxr-xr-x 1 root root  8613 2009-09-22 18:56 postfix-script
-rwxr-xr-x 1 root root 24256 2009-09-22 18:56 post-install
drwxr-xr-x 2 root root  4096 2009-09-22 18:56 sasl
-rw-r--r-- 1 root root    30 2010-07-09 13:50 transport
-rw-r--r-- 1 root root 12288 2010-07-09 13:50 transport.db
----------------------------------------------


содержимое main.cf
----------------------------------------------
miroff@web:/etc/postfix$ cat main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
transport_maps = hash:/etc/postfix/transport
myhostname = web.gajk.uz
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.gajk.uz
relayhost = mail.gajk.uz
mynetworks = 192.168.0.1/24, 192.168.0.1/48
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
default_transport = smtp
relay_transport = smtp
inet_protocols = ipv4
---------------------------------------------


Когда начинаю отправлять с сайта с помощью процедуры mail(), то в /var/log/mail.log появляются вот эти строки:
---------------------------------------------
Jul  9 13:51:05 web postfix/pickup[12926]: 1EAD2F75A: uid=33 from=<www-data>
Jul  9 13:51:05 web postfix/cleanup[12930]: 1EAD2F75A: message-id=<20100709085105.1EAD2F75A@web.gajk.uz>
Jul  9 13:51:05 web postfix/qmgr[12925]: 1EAD2F75A: from=<www-data@uzrailway.uz>, size=420, nrcpt=1 (queue active)
Jul  9 13:51:05 web postfix/smtp[12932]: 1EAD2F75A: to=<mirkhamidovjn.vcpp@uzrailway.uz>, relay=192.168.0.2[192.168.0.2]:25, delay=0.13, delays=0.07/0.01/0.04/0, dsn=5.0.0, status=bounced (host 192.168.0.2[192.168.0.2] said: 550 <www-data@uzrailway.uz>, Sender unknown (in reply to MAIL FROM command))
Jul  9 13:51:05 web postfix/cleanup[12930]: 406DFF75B: message-id=<20100709085105.406DFF75B@web.gajk.uz>
Jul  9 13:51:05 web postfix/bounce[12933]: 1EAD2F75A: sender non-delivery notification: 406DFF75B
Jul  9 13:51:05 web postfix/qmgr[12925]: 406DFF75B: from=<>, size=2257, nrcpt=1 (queue active)
Jul  9 13:51:05 web postfix/qmgr[12925]: 1EAD2F75A: removed
Jul  9 13:51:05 web postfix/smtp[12932]: 406DFF75B: to=<www-data@uzrailway.uz>, relay=192.168.0.2[192.168.0.2]:25, delay=0.12, delays=0.04/0/0.05/0.03, dsn=5.0.0, status=bounced (host 192.168.0.2[192.168.0.2] said: 550 <www-data@uzrailway.uz>, Recipient unknown (in reply to RCPT TO command))
Jul  9 13:51:05 web postfix/qmgr[12925]: 406DFF75B: removed
Jul  9 13:51:05 web postfix/pickup[12926]: B1077F75A: uid=33 from=<www-data>
Jul  9 13:51:05 web postfix/cleanup[12930]: B1077F75A: message-id=<20100709085105.B1077F75A@web.gajk.uz>
Jul  9 13:51:05 web postfix/qmgr[12925]: B1077F75A: from=<www-data@uzrailway.uz>, size=420, nrcpt=1 (queue active)
Jul  9 13:51:05 web postfix/smtp[12932]: B1077F75A: to=<mirkhamidovjn.vcpp@uzrailway.uz>, relay=192.168.0.2[192.168.0.2]:25, delay=0.13, delays=0.09/0/0.04/0, dsn=5.0.0, status=bounced (host 192.168.0.2[192.168.0.2] said: 550 <www-data@uzrailway.uz>, Sender unknown (in reply to MAIL FROM command))
Jul  9 13:51:05 web postfix/cleanup[12930]: CEC6EF75B: message-id=<20100709085105.CEC6EF75B@web.gajk.uz>
Jul  9 13:51:05 web postfix/bounce[12933]: B1077F75A: sender non-delivery notification: CEC6EF75B
Jul  9 13:51:05 web postfix/qmgr[12925]: CEC6EF75B: from=<>, size=2257, nrcpt=1 (queue active)
Jul  9 13:51:05 web postfix/qmgr[12925]: B1077F75A: removed
Jul  9 13:51:05 web postfix/smtp[12932]: CEC6EF75B: to=<www-data@uzrailway.uz>, relay=192.168.0.2[192.168.0.2]:25, delay=0.11, delays=0.04/0/0.04/0.03, dsn=5.0.0, status=bounced (host 192.168.0.2[192.168.0.2] said: 550 <www-data@uzrailway.uz>, Recipient unknown (in reply to RCPT TO command))
Jul  9 13:51:05 web postfix/qmgr[12925]: CEC6EF75B: removed
miroff@web:/var/log$
-----------------------------------------------

Надеюсь хоть кто то знает в чем проблема


"отправка почты с сайта в локальной сети"
Отправлено ncp , 09-Июл-10 13:10 
>[оверквотинг удален]
>Jul  9 13:51:05 web postfix/cleanup[12930]: CEC6EF75B: message-id=<20100709085105.CEC6EF75B@web.gajk.uz>
>Jul  9 13:51:05 web postfix/bounce[12933]: B1077F75A: sender non-delivery notification: CEC6EF75B
>Jul  9 13:51:05 web postfix/qmgr[12925]: CEC6EF75B: from=<>, size=2257, nrcpt=1 (queue active)
>Jul  9 13:51:05 web postfix/qmgr[12925]: B1077F75A: removed
>Jul  9 13:51:05 web postfix/smtp[12932]: CEC6EF75B: to=<www-data@uzrailway.uz>, relay=192.168.0.2[192.168.0.2]:25, delay=0.11, delays=0.04/0/0.04/0.03, dsn=5.0.0, status=bounced (host 192.168.0.2[192.168.0.2] said: 550 <www-data@uzrailway.uz>, Recipient unknown (in reply to RCPT TO command))
>Jul  9 13:51:05 web postfix/qmgr[12925]: CEC6EF75B: removed
>miroff@web:/var/log$
>-----------------------------------------------
>
>Надеюсь хоть кто то знает в чем проблема

Насколько я вижу ты прописал в файле transport то что я просил. Этот механизм заработал, но проблема в другом. Принимающий сервер отклоняет почту.

Покажи также лог принимающего сервера (192.168.0.2). Здесь видно, что 192.168.0.2 не принимает почту, ругаясь на адрес отправителя "Sender unknown (in reply to MAIL FROM command)"


"отправка почты с сайта в локальной сети"
Отправлено miroff , 09-Июл-10 13:34 
>[оверквотинг удален]
>>
>>Надеюсь хоть кто то знает в чем проблема
>
>Насколько я вижу ты прописал в файле transport то что я просил.
>Этот механизм заработал, но проблема в другом. Принимающий сервер отклоняет почту.
>
>
>Покажи также лог принимающего сервера (192.168.0.2). Здесь видно, что 192.168.0.2 не принимает
>почту, ругаясь на адрес отправителя "Sender unknown (in reply to MAIL
>FROM command)"

Да, прописал, но увы, это работало и до этого. я конфигурировал с помощью
  sudo dpkg-reconfigure postfix

К тому серваку пока не могу достучаться, им заведуют другие.
но он материться на пользователя в
   to=<www-data@uzrailway.uz>

www-data - такого пользователя там точно нет.
Почему вот только он не посылает от другого, моего имени?


"отправка почты с сайта в локальной сети"
Отправлено ncp , 09-Июл-10 13:41 
>[оверквотинг удален]
>Да, прописал, но увы, это работало и до этого. я конфигурировал с
>помощью
>  sudo dpkg-reconfigure postfix
>
>К тому серваку пока не могу достучаться, им заведуют другие.
>но он материться на пользователя в
>   to=<www-data@uzrailway.uz>
>
>www-data - такого пользователя там точно нет.
>Почему вот только он не посылает от другого, моего имени?

Скорее всего www-data это пользователь на веб сервере от имени которого запускается php-скрипт.


"отправка почты с сайта в локальной сети"
Отправлено miroff , 09-Июл-10 15:51 
>[оверквотинг удален]
>>
>>К тому серваку пока не могу достучаться, им заведуют другие.
>>но он материться на пользователя в
>>   to=<www-data@uzrailway.uz>
>>
>>www-data - такого пользователя там точно нет.
>>Почему вот только он не посылает от другого, моего имени?
>
>Скорее всего www-data это пользователь на веб сервере от имени которого запускается
>php-скрипт.

так и есть, надо как то поменять его
Пробовал в /etc/aliases
-------------------------
postmaster:    root
www-data: mirkhamidovjn.vcpp
-------------------------

Не получилось(я его транслоровал, и postfix перезагружал)


"отправка почты с сайта в локальной сети"
Отправлено ncp , 09-Июл-10 16:02 
>[оверквотинг удален]
>>php-скрипт.
>
>так и есть, надо как то поменять его
>Пробовал в /etc/aliases
>-------------------------
>postmaster:    root
>www-data: mirkhamidovjn.vcpp
>-------------------------
>
>Не получилось(я его транслоровал, и postfix перезагружал)

Не, база алиасов тут не причем.

Мне кажется, что нужно смотреть в конфиг апача на наличие там параметров, определяющих пользователя от имени которого выполняется сам апач. Или может быть как-то усовершенствовать скрипт, чтобы он сам писал MAIL FROM, но в php скриптах я не силен.


"отправка почты с сайта в локальной сети"
Отправлено miroff , 09-Июл-10 16:05 
>[оверквотинг удален]
>>-------------------------
>>
>>Не получилось(я его транслоровал, и postfix перезагружал)
>
>Не, база алиасов тут не причем.
>
>Мне кажется, что нужно смотреть в конфиг апача на наличие там параметров,
>определяющих пользователя от имени которого выполняется сам апач. Или может быть
>как-то усовершенствовать скрипт, чтобы он сам писал MAIL FROM, но в
>php скриптах я не силен.

нельзя менять пользователя апача.

Ну и как, postfix неужели никто не сможет помочь перенастроить?


"отправка почты с сайта в локальной сети"
Отправлено ncp , 09-Июл-10 16:16 
>[оверквотинг удален]
>>Не, база алиасов тут не причем.
>>
>>Мне кажется, что нужно смотреть в конфиг апача на наличие там параметров,
>>определяющих пользователя от имени которого выполняется сам апач. Или может быть
>>как-то усовершенствовать скрипт, чтобы он сам писал MAIL FROM, но в
>>php скриптах я не силен.
>
>нельзя менять пользователя апача.
>
>Ну и как, postfix неужели никто не сможет помочь перенастроить?

Тогда давай так:

Создаешь файл /etc/postfix/canonical
В нем пишешь:
www-data@uzrailway.uz здесь_адрес@на_который_нужно.заменить

Выполняешь postmap /etc/postfix/canonical

В /etc/postfix/main.cf пишешь:
canonical_maps = hash:/etc/postfix/canonical

Выполняешь postfix reload.

Пробуй - отпишись о результатах


"отправка почты с сайта в локальной сети"
Отправлено miroff , 09-Июл-10 16:48 
>[оверквотинг удален]
>www-data@uzrailway.uz здесь_адрес@на_который_нужно.заменить
>
>Выполняешь postmap /etc/postfix/canonical
>
>В /etc/postfix/main.cf пишешь:
>canonical_maps = hash:/etc/postfix/canonical
>
>Выполняешь postfix reload.
>
>Пробуй - отпишись о результатах

Спасибо!! сработало.

Вот теперь нужно форум smf бы научить отправлять почту


"отправка почты с сайта в локальной сети"
Отправлено ncp , 09-Июл-10 16:56 
>[оверквотинг удален]
>>В /etc/postfix/main.cf пишешь:
>>canonical_maps = hash:/etc/postfix/canonical
>>
>>Выполняешь postfix reload.
>>
>>Пробуй - отпишись о результатах
>
>Спасибо!! сработало.
>
>Вот теперь нужно форум smf бы научить отправлять почту

Всегда пожалуйста! Успехов!

>Вот теперь нужно форум smf бы научить отправлять почту

никогда не сталкивался


"отправка почты с сайта в локальной сети"
Отправлено miroff , 09-Июл-10 16:58 
>[оверквотинг удален]
>>
>>Спасибо!! сработало.
>>
>>Вот теперь нужно форум smf бы научить отправлять почту
>
>Всегда пожалуйста! Успехов!
>
>>Вот теперь нужно форум smf бы научить отправлять почту
>
>никогда не сталкивался

эм..проблема решилась)))) Теперь все работает, проверил форум, тоже работает!

Только вот теперь вопрос в другом, мне очень интересно что мы сделали, сможешь объяснить?


"отправка почты с сайта в локальной сети"
Отправлено ncp , 09-Июл-10 17:20 
>[оверквотинг удален]
>>Всегда пожалуйста! Успехов!
>>
>>>Вот теперь нужно форум smf бы научить отправлять почту
>>
>>никогда не сталкивался
>
>эм..проблема решилась)))) Теперь все работает, проверил форум, тоже работает!
>
>Только вот теперь вопрос в другом, мне очень интересно что мы сделали,
>сможешь объяснить?

Если ты имеешь в виду проблему с тем, что адрес www-data@uzrailway.uz не принимался сервером, то мы указали postfix, что адрес www-data@uzrailway.uz следует переписать на тот, что ты указал. Получается что апач шлет от имени www-data, а постфикс заменяет это имя другим и посылает дальше. Надеюсь объяснил понятно (:


"отправка почты с сайта в локальной сети"
Отправлено miroff , 09-Июл-10 21:32 
>[оверквотинг удален]
>>эм..проблема решилась)))) Теперь все работает, проверил форум, тоже работает!
>>
>>Только вот теперь вопрос в другом, мне очень интересно что мы сделали,
>>сможешь объяснить?
>
>Если ты имеешь в виду проблему с тем, что адрес www-data@uzrailway.uz не
>принимался сервером, то мы указали postfix, что адрес www-data@uzrailway.uz следует переписать
>на тот, что ты указал. Получается что апач шлет от имени
>www-data, а постфикс заменяет это имя другим и посылает дальше. Надеюсь
>объяснил понятно (:

ну в общем понятно, спасибо большое