Страница 1 из 1
Почта для корпоративного сайта
Добавлено: 2009-03-16 10:19:28
masyaka
Здравствуйте!
Система
FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008
root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
Apache/2.2.9 (FreeBSD) mod_ssl/2.2.9 OpenSSL/0.9.8i DAV/2
PHP/5.2.6 with Suhosin-Patch
Необходимо настроить отправку почты при регистрации пользователей, при запросе новых паролей и т.д. Вообщем сайт выполнен с помощью CMS в которой по умолчанию подразумевается что на сервере настроен sendmail и для отправки почты в настройках достаточно указать ящик с которого будет уходить почта, это я сделал. Но на сервере то настроен Exim 4.69 и есть мой почтовый ящик который я и прописал в настройках своего сайта. Поэтому при отправке почты на сайте пишет что не возможно отправить почту свяжитесь с администратором
В php.ini указано следующее
Код: Выделить всё
[mail function]
; For Win32 only.
;SMTP = localhost
;smtp_port = 25
; For Win32 only.
;sendmail_from = me@example.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path =/usr/local/sbin/sendmail -t -l .
Как я понимаю в директории /usr/local/sbin/ находиться бинарный файл sendmail но при установке exim его по ходу снесли, но это я ужу потом посмотрел когда настройки уже прописал в php.ini. Как мне быть теперь, как сделать чтобы почта ходила с помощью exim, нужен ли sendmail или можно как то по другому. Просто если сносить exim и по новой устанавливать sendmail, а потом опять exim я не справлюсь плох я в unix системах, все настроено было до меня. Вот еще вопрос что это за конфиг mailer.conf, зачем он нужен, и нужно ли в нем что- то прописывать, где про него можно прочитать а также что такое варнинг.
Re: Почта для корпоративного сайта
Добавлено: 2009-03-16 14:12:03
mumg
Код: Выделить всё
ln -s /path/to/exim4 /usr/local/sbin/sendmail
все функции сендмыла возьмет на себя exim
Re: Почта для корпоративного сайта
Добавлено: 2009-03-16 18:03:30
masyaka
все функции сендмыла возьмет на себя exim
так а сам sendmail должен быть в /usr/local/sbin или нет? ссылку же с него делаем на exim
Re: Почта для корпоративного сайта
Добавлено: 2009-03-16 18:10:54
zingel
он будет двояк, как квадратура круга, он есть и его нет...
Re: Почта для корпоративного сайта
Добавлено: 2009-03-17 7:28:49
masyaka
прописал такую команду
Код: Выделить всё
ln -s /path/to/exim-4.69_2 /usr/local/sbin/sendmail
он мне выругался
и создал в директории /usr/local/sbin/ файл !sendmail
Можно ли как то проверить взял ли exim функции sendmail на себя, потому что почта все равно не отправляется
Re: Почта для корпоративного сайта
Добавлено: 2009-03-17 9:11:17
zingel
это потому, что sendmыло уже самлинк куда то, ну сделайте на него ls, ну и
Re: Почта для корпоративного сайта
Добавлено: 2009-03-17 18:21:46
mumg
ls -al /usr/local/sbin/sendmail
в моем случае
ls -al /usr/sbin/sendmail
lrwxrwxrwx 1 root root 5 2009-02-18 03:00 /usr/sbin/sendmail -> exim4
чтобы проверить
создаем файл
Код: Выделить всё
From: source@test.com
To: dest@test.com
Subject: Test
test
выполняем cat файл | sendmail -t
если письмо дошло то все защибись
ЗЫ From и To должны быть валидными, хотя бы To
Re: Почта для корпоративного сайта
Добавлено: 2009-03-18 7:37:35
masyaka
Вот что у меня выдало на команду ls -al /usr/local/sbin/sendmail
Код: Выделить всё
lrwxr-xr-x 1 root wheel 17 Mar 16 18:19 /usr/local/sbin/sendmail -> /path/to/exim4.69
и вот про это поподробней пожалуйста можно как и какой создать файл, куда его поместить
Да вот еще что последнее написано в логах Exim configuration file /usr/local/etc/exim/configure has the wrong owner?, group, or mode
Re: Почта для корпоративного сайта
Добавлено: 2009-03-18 13:28:14
mumg
1. любым тесктовым редактором где угодно
2. cat /etc/passwd | grep mail [exim]
cat /etc/group | grep mail [exim]
то что покажется установить в exim
Re: Почта для корпоративного сайта
Добавлено: 2009-03-18 14:41:20
masyaka
во-первых спасибо вам за помощь в особенности mumg
Значит первое, я создал в обычном блокноте(текстовом редакторе) файл c именем test.txt в котором прописал
Код: Выделить всё
From: isaev_mv@mesi.mezhdu.net
To: masyaka@sibmail.com
Subject: Test
test
и поместил его в каталог /usr/
далее выполнил команду cat /usr/test.txt | sendmail -t на что он мне выругался
.
2. cat /etc/passwd | grep mail [exim]
cat /etc/group | grep mail [exim]
это я как понял вы мне по поводу того что
в логах Exim configuration file /usr/local/etc/exim/configure has the wrong owner?, group, or mode
я это cat /etc/passwd | grep mail [exim] выполняю на что мне система выдает grep: No match.
вот такие вот делишки пока

Re: Почта для корпоративного сайта
Добавлено: 2009-03-18 15:56:07
mumg
для сендмыла укажи полный путь после пайпа
grep нужно делать сначала такой
потом
если no match
в configure укажи группу и юзера от которого будет запускаться exim -> exim
а если grep что то найдет то то что он найдет укажи
и само собой
chown -R exim:exim /var/spool/exim4
chown -R exim:exim /var/log/exim4
ну или иным словом, все куда exim пишет ЗАВИСИТ ОТ ДИСТРИБУТИВА
Re: Почта для корпоративного сайта
Добавлено: 2009-03-21 14:22:14
masyaka
Вообщем с помощью предыдущих телодвижений у меня ни чего не получилось. Я удалил exim и поставил sendmail и потом опять поставил exim (только вот не понял sendmail удалять надо или нет? я его не удалял ) и остальное сделал по статье sendmail>exim, за что и спасибо автору
Теперь почта с сайта как бы уходит то есть ни каких сообщений о ошибках нет и все вроде должно быть хорошо с точки зрения юзера который зарегистрировался на сайте

, но эксим в логах теперь пишет такую вещь которая приведена во вложении ( другим способом не знаю как это показать вам

) и соответственно письма с регистрационными данными нет
Если отправлять почту аутглюком на тот же адрес то есть на маил.ру, то почта туда доставляется, если надо будет конфиг то заодно и подскажите мне как мне его выложить сюда но не скрином
Re: Почта для корпоративного сайта
Добавлено: 2009-03-22 8:50:36
mumg
1. MAILFROM:
www@192.168.0.X такого быть не должно - mail.ru рубит сие поделие. в настройках вместо домена IP указал ? поменяй
2. mail.ru загасит почту так и так. у них все неизвестные IP по default в блеклисте
a. писать в mail.ru дайте доступ с доказательствами что не спамер
b. использовать авторизованый SMTP сервер
На сколько я понимаю на предприятии есть свой почтовик ?
если да, то надо использовать не dnslookup, dnslookup убери
Код: Выделить всё
begin routers
smtp_private:
driver = accept
transport = smtp_private_transport
no_more
begin transports
smtp_private_transport:
driver = smtp
hosts = адрес почтового сервера который в почте как SMTP выступает
Re: Почта для корпоративного сайта
Добавлено: 2009-03-23 7:34:44
masyaka
На сколько я понимаю на предприятии есть свой почтовик ?
если да, то надо использовать не dnslookup, dnslookup убери
Сделано все вот таким образом. Есть локальная сеть, в ней три сервера, на одном из них ОС freeBSD и апач,пхп, мускл, соответственно на этом сервере и крутится сайт, и на этом же сервере я и настраиваю эксим, другого отдельного почтового сервера нет. Если я вас правильно понял

. Значит тогда мне dnslookup так и оставить?
1. MAILFROM:
www@192.168.0.X такого быть не должно - mail.ru рубит сие поделие. в настройках вместо домена IP указал ? поменяй
выкладываю конфиг там у меня в настройках указан домен, получается что я когда аутлуком отправляю почту в логах ни чего подобного
www@192.168.0.X нет а вместо этого мой почтовый ящик, как и должно быть.
А когда почта с сайта отправляется то и вот это
www@192.168.0.X
Код: Выделить всё
######################################################################
# MAIN CONFIGURATION SETTINGS #
######################################################################
primary_hostname = mesi.mezhdu.net
domainlist local_domains = @
domainlist relay_to_domains = mesi.mezhdu.net
hostlist relay_from_hosts = localhost :127.0.0.0/8:192.168.0.0/24
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
qualify_domain = mesi.mehzdu.net
qualify_recipient = mesi.mezhdu.net
exim_user = mailnull
exim_group = mail
never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 5s
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d
helo_accept_junk_hosts = 192.168.0.0/16
helo_allow_chars = _
log_selector = \
+all_parents \
+connection_reject \
+incoming_interface \
+lost_incoming_connection \
+received_sender \
+received_recipients \
+smtp_confirmation \
+smtp_syntax_error \
+smtp_protocol_error \
-queue_run
######################################################################
# ACL CONFIGURATION #
# Specifies access control lists for incoming SMTP mail #
######################################################################
begin acl
acl_check_rcpt:
accept hosts = :
deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
#############################################################################
accept local_parts = postmaster
domains = +local_domains
# require verify = sender (вот тут у меня ругался на это я эту строчку закомментировал)
accept hosts = +relay_from_hosts
control = submission
accept authenticated = *
control = submission
require message = relay not permitted
domains = +local_domains : +relay_to_domains
require verify = recipient
accept
acl_check_data:
accept
######################################################################
# ROUTERS CONFIGURATION #
# Specifies how addresses are handled #
######################################################################
# THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT! #
# An address is passed to each router in turn until it is accepted. #
######################################################################
begin routers
#dnslookup:
# driver = dnslookup
# domains = ! +local_domains
# transport = remote_smtp
# ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
# no_more
smtp_private:
driver = accept
transport = smtp_private_transport
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup{$local_part}lsearch{/etc/aliases}}
user = mailnull
group = mail
file_transport = address_file
pipe_transport = address_pipe
userforward:
driver = redirect
check_local_user
file = $home/.forward
no_verify
no_expn
check_ancestor
file_transport = address_file
pipe_transport = address_pipe
reply_transport = address_reply
condition = ${if exists{$home/.forward} {yes} {no} }
localuser:
driver = accept
check_local_user
transport = local_delivery
cannot_route_message = Unknown user
######################################################################
# TRANSPORTS CONFIGURATION #
######################################################################
# ORDER DOES NOT MATTER #
# Only one appropriate transport is called for each delivery. #
######################################################################
begin transports
smtp_private_transport:
driver = smtp
hosts = 192.168.0.6
local_delivery:
driver = appendfile
file = /var/mail/$local_part
delivery_date_add
envelope_to_add
return_path_add
group = mail
user = $local_part
mode = 0660
no_mode_fail_narrower
address_pipe:
driver = pipe
return_output
address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add
address_reply:
driver = autoreply
######################################################################
# RETRY CONFIGURATION #
######################################################################
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
######################################################################
# REWRITE CONFIGURATION #
######################################################################
begin rewrite
######################################################################
# AUTHENTICATION CONFIGURATION #
######################################################################
begin authenticators
# End of Exim configuration file
Посткриптум
спасибо mumg за помощь а то я с этим почтовиком уже честно замучился