Есть веб-сервер на Ubuntu Server 9.10
Где то в локальной сети есть Почтовый сервер на MDaemon
В компании у всех есть внутреняя почта.
На веб сервере организован форум.
Как сделать чтоб уведомления с форума приходили на наши почты. Доступа в мир нету.
Что нужно ставить на веб-сервер?
>Есть веб-сервер на Ubuntu Server 9.10
>Где то в локальной сети есть Почтовый сервер на MDaemon
>В компании у всех есть внутреняя почта.
>На веб сервере организован форум.
>Как сделать чтоб уведомления с форума приходили на наши почты. Доступа в
>мир нету.
>Что нужно ставить на веб-сервер?Я точно не знаю, так как никогда такое не делал. Но возможно нужно на самом веб серваке поднять какой-нибудь postfix к примеру. К форуму прикрутить php-скрипт, который будет передавать этому постфиксу письмо, а постфикс будет слать его на почтовик, где хранятся внутренние почтовые ящики.
>[оверквотинг удален]
>>В компании у всех есть внутреняя почта.
>>На веб сервере организован форум.
>>Как сделать чтоб уведомления с форума приходили на наши почты. Доступа в
>>мир нету.
>>Что нужно ставить на веб-сервер?
>
>Я точно не знаю, так как никогда такое не делал. Но возможно
>нужно на самом веб серваке поднять какой-нибудь postfix к примеру. К
>форуму прикрутить php-скрипт, который будет передавать этому постфиксу письмо, а постфикс
>будет слать его на почтовик, где хранятся внутренние почтовые ящики.слишком много телодвижений ненужных.
на убунте уже есть почтовик, наверняка sendmail, поэтому достаточно чтобы убунта знала, какой сервак обслуживает домен.правильней поправить ДНС, или прописать в hosts, но не знаю, как с этим будет работать сендмыло
>[оверквотинг удален]
>>нужно на самом веб серваке поднять какой-нибудь postfix к примеру. К
>>форуму прикрутить php-скрипт, который будет передавать этому постфиксу письмо, а постфикс
>>будет слать его на почтовик, где хранятся внутренние почтовые ящики.
>
>слишком много телодвижений ненужных.
>на убунте уже есть почтовик, наверняка sendmail, поэтому достаточно чтобы убунта знала,
>какой сервак обслуживает домен.
>
>правильней поправить ДНС, или прописать в hosts, но не знаю, как с
>этим будет работать сендмылоДа, стоит postfix, кажется даже по умолчанию.
в пхп отправляется почта mail(), и все работает т.е. фукнция в пхп завершается удачей.
postfix принимает мыло, это видно в /var/log/mail.log, но не пересылает его на почтовый сервер.Может кто сталкивался с такой проблемой?
>[оверквотинг удален]
>>правильней поправить ДНС, или прописать в 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Должно заработать
что в файле /etc/hosts
----------------------------------
192.168.0.2 mail.gajk.uz uzrailway.uz
>[оверквотинг удален]
>добавить в /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/mailnamesmtpd_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 = 4hreadme_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$
-----------------------------------------------Надеюсь хоть кто то знает в чем проблема
>[оверквотинг удален]
>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)"
>[оверквотинг удален]
>>
>>Надеюсь хоть кто то знает в чем проблема
>
>Насколько я вижу ты прописал в файле 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 - такого пользователя там точно нет.
Почему вот только он не посылает от другого, моего имени?
>[оверквотинг удален]
>Да, прописал, но увы, это работало и до этого. я конфигурировал с
>помощью
> sudo dpkg-reconfigure postfix
>
>К тому серваку пока не могу достучаться, им заведуют другие.
>но он материться на пользователя в
> to=<www-data@uzrailway.uz>
>
>www-data - такого пользователя там точно нет.
>Почему вот только он не посылает от другого, моего имени?Скорее всего www-data это пользователь на веб сервере от имени которого запускается php-скрипт.
>[оверквотинг удален]
>>
>>К тому серваку пока не могу достучаться, им заведуют другие.
>>но он материться на пользователя в
>> to=<www-data@uzrailway.uz>
>>
>>www-data - такого пользователя там точно нет.
>>Почему вот только он не посылает от другого, моего имени?
>
>Скорее всего www-data это пользователь на веб сервере от имени которого запускается
>php-скрипт.так и есть, надо как то поменять его
Пробовал в /etc/aliases
-------------------------
postmaster: root
www-data: mirkhamidovjn.vcpp
-------------------------Не получилось(я его транслоровал, и postfix перезагружал)
>[оверквотинг удален]
>>php-скрипт.
>
>так и есть, надо как то поменять его
>Пробовал в /etc/aliases
>-------------------------
>postmaster: root
>www-data: mirkhamidovjn.vcpp
>-------------------------
>
>Не получилось(я его транслоровал, и postfix перезагружал)Не, база алиасов тут не причем.
Мне кажется, что нужно смотреть в конфиг апача на наличие там параметров, определяющих пользователя от имени которого выполняется сам апач. Или может быть как-то усовершенствовать скрипт, чтобы он сам писал MAIL FROM, но в php скриптах я не силен.
>[оверквотинг удален]
>>-------------------------
>>
>>Не получилось(я его транслоровал, и postfix перезагружал)
>
>Не, база алиасов тут не причем.
>
>Мне кажется, что нужно смотреть в конфиг апача на наличие там параметров,
>определяющих пользователя от имени которого выполняется сам апач. Или может быть
>как-то усовершенствовать скрипт, чтобы он сам писал MAIL FROM, но в
>php скриптах я не силен.нельзя менять пользователя апача.
Ну и как, postfix неужели никто не сможет помочь перенастроить?
>[оверквотинг удален]
>>Не, база алиасов тут не причем.
>>
>>Мне кажется, что нужно смотреть в конфиг апача на наличие там параметров,
>>определяющих пользователя от имени которого выполняется сам апач. Или может быть
>>как-то усовершенствовать скрипт, чтобы он сам писал 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.
Пробуй - отпишись о результатах
>[оверквотинг удален]
>www-data@uzrailway.uz здесь_адрес@на_который_нужно.заменить
>
>Выполняешь postmap /etc/postfix/canonical
>
>В /etc/postfix/main.cf пишешь:
>canonical_maps = hash:/etc/postfix/canonical
>
>Выполняешь postfix reload.
>
>Пробуй - отпишись о результатахСпасибо!! сработало.
Вот теперь нужно форум smf бы научить отправлять почту
>[оверквотинг удален]
>>В /etc/postfix/main.cf пишешь:
>>canonical_maps = hash:/etc/postfix/canonical
>>
>>Выполняешь postfix reload.
>>
>>Пробуй - отпишись о результатах
>
>Спасибо!! сработало.
>
>Вот теперь нужно форум smf бы научить отправлять почтуВсегда пожалуйста! Успехов!
>Вот теперь нужно форум smf бы научить отправлять почту
никогда не сталкивался
>[оверквотинг удален]
>>
>>Спасибо!! сработало.
>>
>>Вот теперь нужно форум smf бы научить отправлять почту
>
>Всегда пожалуйста! Успехов!
>
>>Вот теперь нужно форум smf бы научить отправлять почту
>
>никогда не сталкивалсяэм..проблема решилась)))) Теперь все работает, проверил форум, тоже работает!
Только вот теперь вопрос в другом, мне очень интересно что мы сделали, сможешь объяснить?
>[оверквотинг удален]
>>Всегда пожалуйста! Успехов!
>>
>>>Вот теперь нужно форум smf бы научить отправлять почту
>>
>>никогда не сталкивался
>
>эм..проблема решилась)))) Теперь все работает, проверил форум, тоже работает!
>
>Только вот теперь вопрос в другом, мне очень интересно что мы сделали,
>сможешь объяснить?Если ты имеешь в виду проблему с тем, что адрес www-data@uzrailway.uz не принимался сервером, то мы указали postfix, что адрес www-data@uzrailway.uz следует переписать на тот, что ты указал. Получается что апач шлет от имени www-data, а постфикс заменяет это имя другим и посылает дальше. Надеюсь объяснил понятно (:
>[оверквотинг удален]
>>эм..проблема решилась)))) Теперь все работает, проверил форум, тоже работает!
>>
>>Только вот теперь вопрос в другом, мне очень интересно что мы сделали,
>>сможешь объяснить?
>
>Если ты имеешь в виду проблему с тем, что адрес www-data@uzrailway.uz не
>принимался сервером, то мы указали postfix, что адрес www-data@uzrailway.uz следует переписать
>на тот, что ты указал. Получается что апач шлет от имени
>www-data, а постфикс заменяет это имя другим и посылает дальше. Надеюсь
>объяснил понятно (:ну в общем понятно, спасибо большое