Вход на сайт

Навигация

Сейчас на сайте

1 пользователь онлайн.

  • winterheart

Сбор новостей

Подписка на Сбор новостей

Вы здесь

Проблема с почтой

Доброго времени суток.

С недавнего времни начал изучение Генту по причине того, что сия ОС стоит на виртуальном хостинге, где мы конфигурируем свой сайт.
Недавно встала проблема настройки почты на сервере, а именно прием и отправка почтовых сообщений. Хостинг любезно предоставил для работы приложение exim. Я порылся в инете, нашел статьи про настройки всяких разных связок для работы с почтой. Поставил courier-imap и spamassasin. Прописал всё как сказано в статьях.. не работает. видимо не хватило опыта с конфигурированием. А! Важно то, что я поставил там roundcube и он даже не проходил авторизацию. Я ещё потыркался-помыркался, стал искать другие статьи. Нашёл хорошую статью про postfix и cyrus. Поразмыслил, и снёс всё, что до этого поставил + exim, который стоял по умолчанию (при помощи команды emerge -unmerge)
Поставил всё как по инструкции. Вроде даже что-то понял =) настроил sasl2, прописал пользователей (ну одного точнее). Если интересно статья - вот
http://www.unixdoc.ru/index.php?mode=2&podmode=1&arcicle_id=92

И о чудо, раундкуб стал залогиниваться по тому пользователю, которого я создал. Я понял что движусь в правильном направлении. Что даже что-то заработало. Но беда.. письма не отправляются и не принимаются =) что приравнивается к нулю. Немного повозившись я обратился к логам и увидел вот что:

pr 22 01:21:35 3236 imap[5128]: accepted connection
Apr 22 01:21:35 3236 imap[5128]: login: [хх.243.181.43] boba plaintext User logged in
Apr 22 01:21:35 3236 imap[5128]: open: user boba opened INBOX
Apr 22 01:21:35 3236 imap[5128]: Connection reset by peer, closing connection
Apr 22 01:22:12 3236 xinetd[27704]: execv( /usr/sbin/exim ) failed: No such file or directory (errno = 2)

то есть сервер пытается принять сообщение, но через exim, котого уже нету...

Да. Еще есть проблема. Я не могу перезапустить постфикс. При попытке выполнить /etc/init.d/postfix restart. Возвращается ошибка: Apr 22 01:18:57 3236 /etc/init.d/postfix[15999]: ERROR: postfix failed to stop.
А если сказать "start" он говорит что постфикс уже запущен.

Прошу вас.. посоветуйте что делать? Может быть всё снести к чертям (только как так сделать, чтобы без вот этих вот остатков, которые что-то портят).

Как бы сделать так, чтобы снести всё прям начисто и поставить свежайше. 1 раз и правильно.
Попрошу обратить внимание что у меня доступ только через PuTTY ну и winSCP для более удобного сёрфинга по папкам.
Мне плевать как это будет. Через какие программы, главное чтобы попроще. Впринципе, при большой нужде можно использовать и БД mysql для этих целей.. Но нежелательно

Спасибо за понимание.

Таки mail-mta/exim или mail-mta/postfix?
Начинать надо не со статей про установку/нкастройку, а с понимания как должно работать то, что ты строишь.

Сайт с web-мордой к почте?

:wq
--
Live free or die

Ну хорошо даже если так =) Как мне правильно всё снести теперь. Чтобы не осталось никаких упоминаний от того, что я натворил =)

Это не тот путь :)
Извини, читал по диагонали :) Ща отвечу.

:wq
--
Live free or die

bobadd написал(а):
Поставил courier-imap и spamassasin. Прописал всё как сказано в статьях.. не работает.
...
Нашёл хорошую статью про postfix и cyrus. Поразмыслил, и снёс всё, что до этого поставил + exim,
...
Немного повозившись я обратился к логам и увидел вот что:
Apr 22 01:22:12 3236 xinetd[27704]: execv( /usr/sbin/exim ) failed: No such file or directory (errno = 2)

то есть сервер пытается принять сообщение, но через exim, котого уже нету...

Принять ли?
И он ли вообще?
На отсутствие exim'а ругается xinetd!

bobadd написал(а):
Да. Еще есть проблема. Я не могу перезапустить постфикс. При попытке выполнить /etc/init.d/postfix restart. Возвращается ошибка: Apr 22 01:18:57 3236 /etc/init.d/postfix[15999]: ERROR: postfix failed to stop.
А если сказать "start" он говорит что постфикс уже запущен.

ps ax | grep postfix
Если тишина --- найти и замочить файл pid'а оного (вроде как должно делаться из стартового скрипта).

bobadd написал(а):
Прошу вас.. посоветуйте что делать? Может быть всё снести к чертям (только как так сделать, чтобы без вот этих вот остатков, которые что-то портят).

--depclean в man emerge

bobadd написал(а):
Как бы сделать так, чтобы снести всё прям начисто и поставить свежайше. 1 раз и правильно.

Наивно полагать, что оно избавит тебя от необходимости сопровождения (сиречь обновления ПО) сервера.

:wq
--
Live free or die

Anarchist написал(а):
то есть сервер пытается принять сообщение, но через exim, котого уже нету...

Принять ли?
И он ли вообще?
На отсутствие exim'а ругается xinetd!

И что в связи с этим делать?

Anarchist написал(а):
ps ax | grep postfix
Если тишина --- найти и замочить файл pid'а оного (вроде как должно делаться из стартового скрипта).

# ps ax | grep postfix
выдает
18117 pts/0 S+ 0:00 grep --colour=auto postfix

На самом деле мне кажется тут другое, мне кажется что постфикс вообще не запускается. Потому что
# postfix stop
выдает
postfix/postfix-script: fatal: the Postfix mail system is not running

bobadd написал(а):
то есть сервер пытается принять сообщение, но через exim, котого уже нету...

Сдаётся мне эта ошибка из-за алиасов указанных здесь:

/etc/mail/mailer.conf

Поправьте!

gebs написал(а):
bobadd написал(а):
то есть сервер пытается принять сообщение, но через exim, котого уже нету...

Сдаётся мне эта ошибка из-за алиасов указанных здесь:

/etc/mail/mailer.conf

Поправьте!

Да вроде бы там всё ок:

sendmail /usr/sbin/postfix
mailq /usr/sbin/postfix
newaliases /usr/sbin/postfix
rmail /usr/sbin/postfix
send-mail /usr/sbin/postfix
rsmtp /usr/sbin/postfix
mail /usr/sbin/postfix

А можно вывод /etc/xinetd.d/?

gebs написал(а):
А можно вывод /etc/xinetd.d/?

не совсем понял... это как? xinetd.d - это директория.
Если имелось ввиду 3236 ~ # ls /etc/xinetd.d
то

chargen-dgram daytime-stream echo-dgram ftp-sensor telnetd
chargen-stream discard-dgram echo-stream proftpd time-dgram
daytime-dgram discard-stream exim tcpmux-server time-stream

а что там делает exim, если он удалён?

Ну... я даже не знаю.. Есть он там... Его удалить? Или заменить как-то на постфикс? как быть?

bobadd написал(а):
Ну... я даже не знаю.. Есть он там... Его удалить? Или заменить как-то на постфикс? как быть?

Да, файл удалить (возможно, предварительно сделав резервную копию).
Менять на postfix ИМХО не стоит (вообще запуск почтового сервера из-под inetd выглядит несколько странно).

:wq
--
Live free or die

Менять на postfix ИМХО не стоит 

точно не стоит - postfix ну никак из под inetd не может работать

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Ну не знаю, у меня замечательно работает связка exim+mysql+imap+roundcube+clamd

Установка и настройка занимет час времени, ну и час копания в документации и примерах, коих в сети очень много.
Конечно сложновато юзеров заводить, но это можно облегчить скриптами.

Всем доброго времени суток =)

Сначала хочу поблагодарить всех за помощь. Действительно помог совет с xinetd. Удалил оттуда exim и как по мановению волшебной палочки постфикс запустился и даже разослал кучу сообщений, которые там скопились =). Теперь встала еще одна проблемка при попытки принять/отправить письма через аутлук все операции заканчиваются печально, судя по логам вся загвоздка вот в чем:

Apr 27 01:39:13 3236 master[20219]: about to exec /usr/lib/cyrus/imapd
Apr 27 01:39:13 3236 imap[20219]: executed
Apr 27 01:39:13 3236 imap[20219]: sql_select option missing
Apr 27 01:39:13 3236 imap[20219]: auxpropfunc error no mechanism available
Apr 27 01:39:13 3236 imap[20219]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql
Apr 27 01:39:13 3236 imap[20219]: accepted connection
Apr 27 01:39:13 3236 imap[20219]: login: [92.243.181.43] boba plaintext User logged in
Apr 27 01:39:13 3236 imap[20219]: seen_db: user boba opened /var/imap/user/b/boba.seen
Apr 27 01:39:13 3236 imap[20219]: open: user boba opened INBOX
Apr 27 01:39:15 3236 postfix/qmgr[7326]: 2CDDE180417B: from=, size=1545, nrcpt=1 (queue active)
Apr 27 01:39:15 3236 postfix/lmtp[20285]: 2CDDE180417B: to=, relay=none, delay=302, delays=302/0.01/0.01/0, dsn=4.4.1, status=deferred (connect to www.salebis.ru[/var/imap/socket/lmtp]: Permission denied)

Я читал что надо как-то права раздать. Но чего-то понять не могу. Видимо chmod 0777 не имеет к этому отношение.

Подскажите, пожалуйста

bobadd написал(а):
Действительно помог совет с xinetd. Удалил оттуда exim и как по мановению волшебной палочки постфикс запустился и даже разослал кучу сообщений, которые там скопились =).

Мораль усвоил?
Какой вывод?

bobadd написал(а):
Теперь встала еще одна проблемка при попытки принять/отправить письма через аутлук все операции заканчиваются печально, судя по логам вся загвоздка вот в чем:

Apr 27 01:39:13 3236 master[20219]: about to exec /usr/lib/cyrus/imapd
Apr 27 01:39:13 3236 imap[20219]: executed
Apr 27 01:39:13 3236 imap[20219]: sql_select option missing
Apr 27 01:39:13 3236 imap[20219]: auxpropfunc error no mechanism available
Apr 27 01:39:13 3236 imap[20219]: _sasl_plugin_load failed on sasl_auxprop_plug_init for plugin: sql
Apr 27 01:39:13 3236 imap[20219]: accepted connection
Apr 27 01:39:13 3236 imap[20219]: login: [92.243.181.43] boba plaintext User logged in
Apr 27 01:39:13 3236 imap[20219]: seen_db: user boba opened /var/imap/user/b/boba.seen
Apr 27 01:39:13 3236 imap[20219]: open: user boba opened INBOX
Apr 27 01:39:15 3236 postfix/qmgr[7326]: 2CDDE180417B: from=, size=1545, nrcpt=1 (queue active)
Apr 27 01:39:15 3236 postfix/lmtp[20285]: 2CDDE180417B: to=, relay=none, delay=302, delays=302/0.01/0.01/0, dsn=4.4.1, status=deferred (connect to www.salebis.ru[/var/imap/socket/lmtp]: Permission denied)

Я читал что надо как-то права раздать. Но чего-то понять не могу. Видимо chmod 0777 не имеет к этому отношение.

chmod 0777 --- вообще ахтунг.
Читать конфиги imapd и postfix'а на предмет их стыка (/var/imap/socket/lmtp).

:wq
--
Live free or die

Файл postfix/main.cf

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
myhostname = www.salebis.ru
mydomain = salebis.ru
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
local_recipient_maps =
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = 192.168.0.0/24, 127.0.0.0/8
relay_domains = $mydestination
mailbox_transport = lmtp:unix:/var/imap/socket/lmtp

Файл postfix/master.cf


smtp      inet  n       -       n       -       -       smtpd  -v
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       n       -       -       smtp
	-o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache

cyrus     unix  -       n       n       -       -       pipe
user=cyrus argv=/cyrus/deliver -e -r ${sender} -m ${extension} ${user}

Файл cyrus.conf

 # $Header: /var/cvsroot/gentoo-x86/net-mail/cyrus-imapd/files/cyrus.conf,v 1.4 2004/07/18 04:02:23
 dragonheart  Exp $
 # Standard standalone server configuration.
 START {
  # Do not delete this entry!
  recover	cmd="ctl_cyrusdb -r"
  # This is only necessary if using idled for IMAP IDLE.
  #idled		cmd="idled"
 }
 # UNIX sockets start with a slash and are put into /var/imap/socket.
 SERVICES {
   # Add or remove based on preferences.
   imap		cmd="imapd" listen="imap2" prefork=0
   pop3		cmd="pop3d" listen="pop-3" prefork=0
    # Don't forget to generate the needed keys for SSL or TLS
   # (see doc/html/install-configure.html).
   imaps		cmd="imapd -s" listen="imaps" prefork=0
   pop3s		cmd="pop3d -s" listen="pop3s" prefork=0
   sieve		cmd="timsieved" listen="sieve" prefork=0
   # at least one LMTP is required for delivery
   #lmtp		cmd="lmtpd" listen="lmtp" prefork=0

   lmtpunix	cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0
      # this is only necessary if using notifications
   #notify	cmd="notifyd" listen="/var/imap/socket/notify" proto="udp" prefork=1
 }
 EVENTS {
   # This is required.
   checkpoint	cmd="ctl_cyrusdb -c" period=30
   # This is only necessary if using duplicate delivery suppression.
   delprune	cmd="ctl_deliver -E 3" period=1440
   # This is only necessary if caching TLS sessions.
   tlsprune	cmd="tls_prune" period=1440
 }

Файл imapd.conf

configdirectory:	/var/imap
partition-default:	/var/spool/imap
auto_transition:	yes
tls_ca_path:            /etc/ssl/certs
tls_cert_file:		/etc/ssl/cyrus/server.crt
tls_key_file:		/etc/ssl/cyrus/server.key
admins:			cyrus
hashimapspool:		yes
allowanonymouslogin:	no
allowplaintext:		yes
sasl_pwcheck_method:	auxprop
sasl_auxprop_plugin:	sasldb
sasldb_path:		/etc/sasl2/sasldb2
sasl_mech_list:		LOGIN PLAIN 

Стоп.
Ты аутглюк как настраивал?
В части сервера исходящей электронной почты?

Тестовое письмо шлёшь сам себе?

:wq
--
Live free or die

Да нет. Даже если абстрагироваться ат аутлука, просто послать одному из юзеров письмо. Выходит то, что описал выше. По логам.

P.S. Письмо отсылаю с другого ящика разумеется (нормального) =)

Люди. Извините, проблема всё еще актуальна. У кого-нибудь есть идеи?

ls -la /var/imap/

Heretiqu3 написал(а):
ls -la /var/imap/

ИМХО здесь для начала интереснее логи почтового сервера, отправляющего письма на адрес.

:wq
--
Live free or die

Зачем? У него постфикс не имеет доступа к лмтп
Apr 27 01:39:15 3236 postfix/lmtp[20285]: 2CDDE180417B: to=, relay=none, delay=302, delays=302/0.01/0.01/0, dsn=4.4.1, status=deferred (connect to www.salebis.ru[/var/imap/socket/lmtp]: Permission denied)

ls -la /var/imap/
total 76
drwxr-x--- 12 cyrus mail 4096 May 4 14:06 .
drwxr-xr-x 14 root root 4096 Apr 21 10:51 ..
-rw-r--r-- 1 root root 0 Apr 21 10:51 .keep_net-mail_cyrus-imapd-0
-rw------- 1 root root 12288 Apr 22 11:59 .swp
-rw------- 1 cyrus mail 144 Apr 27 11:06 annotations.db
drwxr-x--- 2 cyrus mail 4096 Apr 27 11:06 db
drwx------ 2 cyrus mail 4096 May 4 14:06 db.backup1
drwx------ 2 cyrus mail 4096 May 4 13:36 db.backup2
-rw------- 1 cyrus mail 8192 Apr 21 11:21 deliver.db
drwxr-x--- 2 cyrus mail 4096 Apr 21 10:51 log
-rw------- 1 cyrus mail 844 Apr 27 11:06 mailboxes.db
drwxr-x--- 2 cyrus mail 4096 Apr 21 10:51 msg
drwxr-x--- 2 cyrus mail 4096 May 4 01:00 proc
drwxr-xr-x 28 root root 4096 Apr 21 10:51 quota
drwxr-x--- 28 cyrus mail 4096 Apr 21 10:51 sieve
drwxr-x--- 2 cyrus mail 4096 Apr 27 11:06 socket
drwxr-xr-x 28 root root 4096 Apr 21 10:51 user

Ребят, есть еще какие-нибудь мысли?

Вроде есть продвижки. Я добавил пользователя postfix в группу mail и письма стали падать в ящик!! =) Хвала небесам... Только вот отправка до сих пор не работает

Всё, проблему решил. Всем спасибо за внимание. Честно говоря затрудняюсь сказать что именно спасло ситуацию, перепробовал много всего.

bobadd написал(а):
Apr 22 01:21:35 3236 imap[5128]: open: user boba opened INBOX
Apr 22 01:21:35 3236 imap[5128]: Connection reset by peer, closing connection
Apr 22 01:22:12 3236 xinetd[27704]: execv( /usr/sbin/exim ) failed: No such file or directory (errno = 2)
то есть сервер пытается принять сообщение, но через exim, котого уже нету...

Да. Еще есть проблема. Я не могу перезапустить постфикс. При попытке выполнить /etc/init.d/postfix restart. Возвращается ошибка: Apr 22 01:18:57 3236 /etc/init.d/postfix[15999]: ERROR: postfix failed to stop.
А если сказать "start" он говорит что постфикс уже запущен.

Из того что Вам пишут, уже понятно, что:

1) на 25м порту у Вас висит xinetd, который по входящему коннекту пускает из под себя эксим. Эксима нет, вот он и жалуется. НО!!! ГЛАВНОЕ!!! xinetd на 25м порту быть не должно! RTFM xinetd(8) и xinetd.conf(5) до просветления
2) проблемы с постфиксом вызваны п.1! RTFM "не знаю что" на предмет TCP/IP
3) IMHO, конечно, ну лучше круглокуб снести и поставить хорду. Она работает стабильней.