несколько доменов на одном хосте.

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение dikens3 » 2009-02-05 17:47:03

Владимир писал(а):нет, сейчас пойду читать, если там ответ есть - это гУУд

пасиб, за направление

наверное ты меня посылал посмотреть как делать отладку...там, тк. больше ничего подходящего не нашел :(
Огласи задачу тогда. Я имел ввиду вот это:

Проверка корректного поля from от аутентифицированных клиентов. (У меня только аутентифицированные)

Есть несколько доменов и проверятся будут все:

Код: Выделить всё

# Прибиваем всех, у кого домен отправителя не тот, что при аутентификации
  deny    message       = "Sender only $authenticated_id@domain1.ru or $authenticated_id@domain2.ru"
          authenticated = *
          condition     = ${if and{{!eq{$authenticated_id@domain1.ru}{$sender_address}}{!eq{$authenticated_id@domain2.ru}{$sender_address}}}{yes}{no}}
В $authenticated_id у меня $local_part без домена.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-05 23:14:41

Задача:

Есть сервер, на нем 8 доменов.

стоит связка: exim+dovecot+пользователи в mysql ,добавляю их через phpmyadmin или через консоль в БД.

Когда создаю емаилы:
1. info@domen1.ru
2. support@domen2.ru
3.Xz@domen3.ru

Почта работает, а если создаю :

info@domen1.ru - работает
support@domen2.ru - работает
info@domen4.ru - не работает.


Как сделать так, чтобы при создании емаилов с одинаковыми "login" (например : info@domen1.ru и info@domen2.ru) почта создавалась : ходила и отправлялась без проблем?
Если надо, то конфиги покажу.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение dikens3 » 2009-02-06 10:23:07

Как сделать так, чтобы при создании емаилов с одинаковыми "login" (например : info@domen1.ru и info@domen2.ru) почта создавалась : ходила и отправлялась без проблем?
1. Аутентификация (для отправки писем через твой Exim) должна быть обязательно с доменом.

Небольшое описание PostfixAdmin.

Код: Выделить всё

$CONF['domain_path'] = 'YES'; - Будет ли домен отдельной папкой. Очень удобно.
К примеру, у нас пользователи по умолчанию планируются в /mail
Если у нас несколько доменов, тогда будет такая структура:
/mail/MYDOMAIN.RU/user
/mail/MYDOMAIN2.RU/user 
/mail/MYDOMAIN3.RU/user

$CONF['domain_in_mailbox'] = 'NO'; - Добавление домена к имени пользователя.
К примеру, у нас пользователи по умолчанию планируются в /mail/MYDOMAIN.RU/
Тогда будет такая структура:
/mail/MYDOMAIN.RU/user1
/mail/MYDOMAIN.RU/user2
/mail/MYDOMAIN.RU/user3

Иначе(YES) будет добавляться домен:
/mail/MYDOMAIN.RU/user1@mydomain.ru
/mail/MYDOMAIN.RU/user2@mydomain.ru
/mail/MYDOMAIN.RU/user3@mydomain.ru

Соответственно и выглядит запись в базе данных (поле maildir с отсутствующим началом /mail, 
которое указывается не в postfixadmin, а в dovecot, courier-imap и т.п.):
mysql> select maildir from mailbox;
+--------------------------+
| maildir                  |
+--------------------------+
| mydomain1.ru/user1/      |
| mydomain2.ru/user2/      |
| mydomain3.ru/user3/      |
+--------------------------+
3 rows in set (0.01 sec)
Настройки для Exim можно посмотреть тут.
Настройки dovecot.

P.S. Отладка рулит... Запусти exim с необходимыми данными и всё станет ясно..Посмотри что у тебя в mysql.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение dikens3 » 2009-02-06 10:38:56

Как сделать так, чтобы при создании емаилов с одинаковыми "login" (например : info@domen1.ru и info@domen2.ru) почта создавалась : ходила и отправлялась без проблем?
1. Создать базу, в которой эти пользователи будут храниться с доменами.
проверить можно так:

Код: Выделить всё

mysql> use eximbase
Database changed
mysql> select username from mailbox;
+-------------------+
| username          |
+-------------------+
| dik@mydomain.ru |
+-------------------+
1 row in set (0.01 sec)
Чтобы exim мог отправить почту твоим пользователям, он должен знать о них:
Основной конфиг:

Код: Выделить всё

# Список пользователей
MYSQL_USERS             = SELECT username FROM mailbox WHERE username='${quote_mysql:$local_part@$domain}' LIMIT 1
роутер для exim:

Код: Выделить всё

mysql_user:
  driver = accept
  condition = ${lookup mysql{MYSQL_USERS}{yes}{no}}
  transport = dovecot_delivery
  cannot_route_message = Unknown user
Т.е. exim пользователя в базе будет искать с доменом.

Вот exim нашёл нашего пользователя, теперь ему нужно положить письмо в папку? Как?

У меня через dovecot:

Код: Выделить всё

dovecot_delivery:
  driver = pipe
  command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
  message_prefix=""
  message_suffix=""
  return_path_add
  delivery_date_add
  envelope_to_add
  log_output
  user = mailnull
  group = mail
А вот куда будет класть нашу почту dovecot зависит от:
dovecot.conf

Код: Выделить всё

mail_location = maildir:%h
и того что окажется в переменной %h (home). А окажется там:
# Начальный каталог у нас /mnt/mail/ + то, что postfixadmin в столбце maildir хранит.
user_query = SELECT CONCAT("/mnt/mail/",maildir) AS home,26 AS uid,6 AS gid,CONCAT("*:storage=",quota,"B") AS quota_rule FROM mailbox WHERE username = '%u' AND active = '1' LIMIT 1
%u содержит имя пользователя с доменом в виде user@domain.ru

Ну а для отправки используется аутентификация вида user@domain.ru, user@domain2.ru и т.п. ссылка есть выше.

P.S. У меня все домены являются алиасами основного и при получении письма на admin@domain5.ru оно попадает к admin@domain1.ru
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-06 11:36:08

Спасибо большое dikens3, буду сейчас править ;)

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-06 16:32:10

где-то косяк, но где :(

configure :

Код: Выделить всё

#!/bin/sh
primary_hostname = euro-replica.com

hide mysql_servers = localhost/exim/exim/xz_aqw


domainlist local_domains = ${lookup mysql{SELECT `domain`    FROM `mail` WHERE   `domain`='${domain}'}} : localhost

domainlist relay_to_domains = ${lookup mysql{SELECT `domain`  FROM `mail` WHERE   `domain`='${domain}'}} : localhost

hostlist   relay_from_hosts = localhost : 127.0.0.1

#auth_advertise_hosts = *
daemon_smtp_ports = 25 : 2525
#tls_on_connect_ports = 465
#tls_advertise_hosts = *


acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

av_scanner = clamd:/var/run/clamav/clamd.sock

#spamd_address = 127.0.0.1 783

qualify_domain = euro-replica.com

qualify_recipient = euro-replica.com

allow_domain_literals = false

exim_user = mailnull

exim_group = mail

never_users = root

host_lookup = *

#rfc1413_hosts = *
rfc1413_query_timeout = 0s

sender_unqualified_hosts = +relay_from_hosts
recipient_unqualified_hosts = +relay_from_hosts

# percent_hack_domains = *

ignore_bounce_errors_after = 45m

timeout_frozen_after = 15d
#freeze_tell = 
helo_accept_junk_hosts = 

auto_thaw = 1h

smtp_banner = "$primary_hostname, ESMTP EXIM $version_number"

smtp_accept_max = 50

smtp_accept_max_per_connection = 25

smtp_connect_backlog = 30

smtp_accept_max_per_host = 20

split_spool_directory = true

remote_max_parallel = 15

return_size_limit = 70k

message_size_limit = 64M

helo_allow_chars = _

smtp_enforce_sync = true
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

syslog_timestamp = no



begin acl

acl_check_rcpt:
  accept  hosts = :

  deny    message       = "incorrect symbol in address"
          domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]


  deny    message       = "incorrect symbol in address"
          domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./


  accept  local_parts   = postmaster
          domains       = +local_domains

#  require verify        = sender

  deny    message       = "HELO/EHLO require by SMTP RFC"
          condition     = ${if eq{$sender_helo_name}{}{yes}{no}}

  accept  authenticated = *

  deny    message       = "Your IP in HELO - access denied!"
          hosts         =  * : !+relay_from_hosts 
          condition     = ${if eq{$sender_helo_name}\
    {$sender_host_address}{true}{false}}


  deny    condition     = ${if eq{$sender_helo_name}\
    {$interface_address}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          message       = "main IP in your HELO! Access denied!"

  deny    condition     = ${if match{$sender_helo_name}\
    {\N^\d+$\N}{yes}{no}}
          hosts         = !127.0.0.1 : !localhost : *
          message       = "can not be only number in HELO!"

#  deny    condition     = ${if eq{$sender_address}{}{yes}{no}}
#          hosts         = !127.0.0.1 : !localhost : *
#          message       = "? ?????? HELO ???????! ?? ?? RFC..."

#  deny    condition     = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
#          hosts         = !127.0.0.1 : !localhost : *
#          message       = "? ?????? HELO ?????? (???? ???????)?! ?? ?? RFC..."

#  deny    condition     = ${if eq{$sender_address}{}{yes}{no}}
#          hosts         = !127.0.0.1 : !localhost : *
#          message       = "Where sender of this mail?!"

  deny    message       = "your hostname is bad (adsl, poll, ppp & etc)."
          condition     = ${if match{$sender_host_name} \
                               {adsl|dialup|pool|peer|dhcp} \
                               {yes}{no}}

  warn
        set acl_m0 = 20s
  warn
        hosts = +relay_from_hosts
        set acl_m0 = 0s
  warn
        logwrite = Delay $acl_m0 for $sender_host_name \
[$sender_host_address] with HELO=$sender_helo_name. Mail \
from $sender_address to $local_part@$domain.
        delay = $acl_m0


  accept  domains       = +local_domains
          endpass
          message       = "In my mailserver not stored this user"
          verify        = recipient

  accept  domains       = +relay_to_domains
          endpass
          message       = "main server not know how relay to this address"
          verify        = recipient

  deny    message       = "you in blacklist - $dnslist_domain \n $dnslist_text"
	hosts		= !localhost : !127.0.0.1 :*
          dnslists      =  cbl.abuseat.org : dynablock.njabl.org
	  
	  
  accept  hosts         = +relay_from_hosts

  deny    message       = "Homo hominus lupus est"


acl_check_data:

  deny malware = *
  message = "In e-mail found VIRUS - $malware_name"

    
#  warn	spam		= nobody
#	message		= X-Spam_score: $spam_score\n\
#			  X-Spam_score: $spam_score_int\n\
#			  X-Spam_bar: $spam_bar\n\
#			  X-Spam_report: $spam_report
 # 
  #pentru spam
#    deny  message	= "This message scored $spam_score spam points"
#     spam		= nobody
#     hosts		= !127.0.0.1 : !localhost : !192.168.0.0/24 : *
#      condition		= ${if>{$spam_score_int}{50}{1}{0}}


  accept



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

# ??????? ??
system_aliases:
    driver      = redirect
    allow_fail
    allow_defer
    data = ${lookup mysql{SELECT `alias` FROM `mail` WHERE `address`='${quote_mysql:$local_part@$domain}'}}

#autoreply:
#   driver = accept
#   domains = +local_domains
#   condition = ${lookup mysql{SELECT address FROM mail WHERE \
#         domain='${quote_mysql:$domain}' AND \
#	 address='${quote_mysql:$local_part}' OR address='${quote_mysql:$local_part@$domain}' AND \
#	 active='0'}{$value}} 
#   transport = autoreply
#unseen

dovecot_user:
  driver = accept
  condition = ${lookup mysql{SELECT `user` FROM  `mail` WHERE  `user`='${quote_mysql:$local_part@$domain}'}{yes}{no}}
  transport = dovecot_delivery
 # cannot_route_message = Unknown user

begin transports

remote_smtp:
  driver = smtp
  
dovecot_delivery:
  driver = pipe
  command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
  message_prefix =
  message_suffix =
  delivery_date_add
  envelope_to_add
  return_path_add
  log_output
  user = mailnull
  group = mail

#autoreply:
#     driver = autoreply
#     once = /var/mail/exim/vacation/$local_part
#     once_repeat = 6h
#     user = mailnull
#     group = mail
#     to = ${sender_address}
#     from = "${local_part}@${domain}"
#     log = /var/log/exim/vacation.log
#     subject = "Auto Reply from ${local_part}@${domain}"
#     text = ${lookup mysql {SELECT body FROM mail \
#	 WHERE domain='${quote_mysql:$domain}' AND \
#	 address='${quote_mysql:$local_part}' OR address='${quote_mysql:$local_part@$domain}'}{$value}} 
  
address_pipe:
  driver = pipe
  return_output

#address_reply:
#  driver = autoreply

begin retry

# Address or Domain  Error   Retries
# -----------------  -----   -------
*                    *       F,2h,15m; G,16h,1h,1.5; F,4d,6h


begin rewrite


begin authenticators

auth_plain:
  driver = plaintext
 public_name = PLAIN
  server_condition = ${lookup mysql{SELECT `user` FROM `mail` WHERE `user` =  '${quote_mysql:$auth2}' AND `password` = '${quote_mysql:$auth3}'}{yes}{no}}                                                                                         
  server_prompts = : 
  server_set_id = $auth2

auth_login:
  driver = plaintext
  public_name = LOGIN
  server_condition = ${lookup mysql{SELECT `user` FROM `mail` WHERE `user` = '${quote_mysql:$auth1}' AND `password` = '${quote_mysql:$auth2}'}{yes}{no}}
  server_prompts = Username:: : Password::
  server_set_id = $auth1

auth_cram_md5:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup mysql{SELECT `password` FROM `mail` WHERE `user`  = '${quote_mysql:$auth1}'}{$value}fail}
  server_set_id = $auth2
dovecot.conf :

Код: Выделить всё

base_dir = /var/run/dovecot/

protocols = pop3 imap
listen = *
ssl_disable = yes
disable_plaintext_auth = no
shutdown_clients = yes
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
login_dir = /var/run/dovecot/login
login_chroot = yes
login_user = dovecot
login_process_size = 64
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 64
login_max_connections = 256
login_greeting = Dovecot ready.
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
verbose_proctitle = yes
first_valid_uid = 25
first_valid_gid = 0
mail_access_groups = mail
mail_location = maildir:/var/mail/exim/%u
umask = 0077
# ??? ???????, ???? ???-?? ?? ???????? ?????????? ? yes
mail_debug = no
auth_debug = no
auth_debug_passwords = no


protocol imap {
  imap_client_workarounds = delay-newmail outlook-idle netscape-eoh tb-extra-mailbox-sep
  mail_plugins = quota imap_quota
}

protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  mail_plugins = quota
}

protocol lda {
  postmaster_address = tv.vldmr@gmail.com
  sendmail_path = /usr/sbin/sendmail
  auth_socket_path = /var/run/dovecot/auth-master
  mail_plugins = quota
}

auth default {
  mechanisms = plain login cram-md5
  socket listen {
    master {
      path = /var/run/dovecot/auth-master
      mode = 0600
      user = mailnull
    }
    client {
      path = /var/run/dovecot/auth-client
      mode = 0660
      user = mailnull
    }
                }

  passdb sql {
    args = /usr/local/etc/dovecot-sql.conf
  }

  userdb sql {
    args = /usr/local/etc/dovecot-sql.conf
  }
  user = root
}

plugin {
    quota = maildir
}
dovecot-sql.conf :

Код: Выделить всё

#!/bin/sh
driver = mysql

connect = host=localhost dbname=exim user=exim password=xz_aqw

default_pass_scheme = PLAIN

password_query = SELECT `password` from `mail` where `user`='%n'

user_query = SELECT `maildir` as `home`, user as username, 26 as uid, 26 as `gid` from `mail` where `user`='%n'
структура базы :

Код: Выделить всё

+--------------------------+---------+-----------------------------------------+----------+------------------+--------------------------+-------+
| user                     | name    | maildir                                 | password | domain           | address                  | alias |
+--------------------------+---------+-----------------------------------------+----------+------------------+--------------------------+-------+
| support@euro-replica.com | support | /var/mail/exim/euro-replica.com/support | 123321        | euro-replica.com | support@euro-replica.com | NULL  | 
+--------------------------+---------+-----------------------------------------+----------+------------------+--------------------------+-------+
Когда посылаю письмо в логах :

Код: Выделить всё

2009-02-06 13:28:08 1LVQka-000F1c-QC <= tv.vldmr@gmail.com H=fg-out-1718.google.com [72.14.220.152] I=[195.242.152.226]:25 P=esmtp S=2626 id=f630ed580902060527k555371f5g156c3fdb55ce5e85@mail.gmail.com from <tv.vldmr@gmail.com> for support@euro-replica.com
2009-02-06 13:28:08 1LVQka-000F1c-QC ** support@euro-replica.com R=dovecot_user T=dovecot_delivery: Child process of dovecot_delivery transport returned 67 (could mean user nonexistent) from command: /usr/local/libexec/dovecot/deliver
2009-02-06 13:28:08 1LVQka-000F1k-RO <= <> R=1LVQka-000F1c-QC U=mailnull P=local S=3457 from <> for tv.vldmr@gmail.com
2009-02-06 13:28:08 1LVQka-000F1c-QC Completed
а в директории /var/mail не создается папка exim и т.д.

Код: Выделить всё

ls /var/mail/
admin	clamav dovecot		mysql		root
Какие могут быть предположения?

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-06 16:32:35

Postfix - не использую, завожу пользователей через phpmyadmin

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение dikens3 » 2009-02-06 17:22:30

Логи dovecot смотри. Создай папку exim сам.

Код: Выделить всё

password_query = SELECT `password` from `mail` where `user`='%n'

user_query = SELECT `maildir` as `home`, user as username, 26 as uid, 26 as `gid` from `mail` where `user`='%n'
В %n у тебя что?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-06 17:33:56

папку уже создал сам :)

протестил свой стандартный конфиг, работает нормально, но как только меняю в роутерах и транспорте вот на это :

Код: Выделить всё

dovecot_user:
  driver = accept
  condition = ${lookup mysql{SELECT `user` FROM  `mail` WHERE  `user`='${quote_mysql:$local_part@$domain}'}{yes}{no}}
  transport = dovecot_delivery

Код: Выделить всё

dovecot_delivery:
  driver = pipe
  command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
  message_prefix =
  message_suffix =
  delivery_date_add
  envelope_to_add
  return_path_add
  log_output
  user = mailnull

и в БД в поле user пишу : support@domain.ru = тогда ошибка вот такая

Код: Выделить всё

Child process of dovecot_delivery transport returned 67 (could mean user nonexistent) from command: /usr/local/libexec/dovecot/deliver
и не создается папка в /var/mail/exim

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-06 17:36:09

dikens3 писал(а):Логи dovecot смотри. Создай папку exim сам.

Код: Выделить всё

password_query = SELECT `password` from `mail` where `user`='%n'

user_query = SELECT `maildir` as `home`, user as username, 26 as uid, 26 as `gid` from `mail` where `user`='%n'
В %n у тебя что?

если быть честным, то не в курсе. досталось от предыдущего админа. Действовал по принципу - работает , значит хорошо.

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-06 17:38:56

кажись проблема решилась :)

как раз в этой строчке....

изменил там на %u и письма приниматься стали по логам, сейчас буду тестировать с клиентом.

==

протестил, работает :) радуюсь и иду менять конфиги на рабочем сервере.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение dikens3 » 2009-02-06 17:45:38

В логах dovecot что? Права с которым работает deliver:

Код: Выделить всё

exim_user = mailnull
exim_group = mail
Должна быть возможность создать папку.
если быть честным, то не в курсе. досталось от предыдущего админа. Действовал по принципу - работает , значит хорошо.
Посмотрев /usr/local/share/examples/dovecot/dovecot-sql.conf можно узнать что:

Код: Выделить всё

# Commonly used available substitutions (see http://wiki.dovecot.org/Variables
# for full list):
#   %u = entire user@domain <-тут полностью user@domain
#   %n = user part of user@domain <-тут только user, без @domain
#   %d = domain part of user@domain <- тут только domain
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-06 17:49:10

dikens3 писал(а):В логах dovecot что? Права с которым работает deliver:

Код: Выделить всё

exim_user = mailnull
exim_group = mail
Должна быть возможность создать папку.
если быть честным, то не в курсе. досталось от предыдущего админа. Действовал по принципу - работает , значит хорошо.
Посмотрев /usr/local/share/examples/dovecot/dovecot-sql.conf можно узнать что:

Код: Выделить всё

# Commonly used available substitutions (see http://wiki.dovecot.org/Variables
# for full list):
#   %u = entire user@domain <-тут полностью user@domain
#   %n = user part of user@domain <-тут только user, без @domain
#   %d = domain part of user@domain <- тут только domain
А по поводу этого, ты прав, я изменил на %u и у меня всё заработало :) по крайней мере на это тачке)


в логах довекота было до того как сделал :

Код: Выделить всё

Feb  6 13:10:13 euro-replica dovecot: Killed with signal 15
Feb  6 13:10:13 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 13:10:13 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 13:18:46 euro-replica dovecot: Killed with signal 15
Feb  6 13:18:46 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 13:18:46 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 13:26:55 euro-replica dovecot: Killed with signal 15
Feb  6 13:26:55 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 13:26:55 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 13:34:12 euro-replica dovecot: Killed with signal 15
Feb  6 13:34:12 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 13:34:12 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 13:37:08 euro-replica dovecot: Killed with signal 15
Feb  6 13:37:08 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 13:37:08 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 13:37:54 euro-replica deliver(support): Fatal: setgid(26(mailnull)) failed with euid=26(mailnull), gid=6(mail), egid=6(mail): Operation not permitted
Feb  6 13:39:58 euro-replica dovecot: Killed with signal 15
Feb  6 13:42:01 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 13:42:01 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 13:42:51 euro-replica dovecot: Killed with signal 15
Feb  6 14:08:16 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 14:08:16 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 14:10:36 euro-replica dovecot: Killed with signal 15
Feb  6 14:10:36 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 14:10:36 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 14:16:02 euro-replica dovecot: Killed with signal 15
Feb  6 14:16:02 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 14:16:02 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 14:22:25 euro-replica dovecot: Killed with signal 15
Feb  6 14:22:32 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 14:22:32 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 14:22:49 euro-replica deliver(support): msgid=<20090206142155.280830@gmx.net>: saved mail to INBOX
Feb  6 14:24:14 euro-replica deliver(support): msgid=<f630ed580902060623s3b1f0af4u12e90e98604766d5@mail.gmail.com>: saved mail to INBOX
Feb  6 14:26:01 euro-replica dovecot: Killed with signal 15
Feb  6 14:26:01 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 14:26:01 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 14:28:37 euro-replica dovecot: Killed with signal 15
Feb  6 14:28:37 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 14:28:37 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
Feb  6 14:37:54 euro-replica dovecot: Killed with signal 15
Feb  6 14:37:54 euro-replica dovecot: dovecot v1.1.10 starting up
Feb  6 14:37:54 euro-replica dovecot: auth-worker(default): mysql: Connected to localhost (exim)
после того как заработало :

Код: Выделить всё

Feb  6 14:38:41 euro-replica deliver(support@euro-replica.com): msgid=<f630ed580902060637x50f21a3fled24189f20527e56@mail.gmail.com>: saved mail to INBOX
Feb  6 14:39:49 euro-replica dovecot: pop3-login: Login: user=<support@euro-replica.com>, method=PLAIN, rip=87.255.66.14, lip=195.242.152.226
Feb  6 14:39:51 euro-replica dovecot: POP3(support@euro-replica.com): Disconnected: Logged out top=0/0, retr=1/6755, del=1/1, size=6738
Feb  6 14:43:19 euro-replica dovecot: pop3-login: Login: user=<support@euro-replica.com>, method=PLAIN, rip=87.255.66.14, lip=195.242.152.226
Feb  6 14:43:19 euro-replica dovecot: POP3(support@euro-replica.com): Disconnected: Logged out top=0/0, retr=0/0, del=0/0, size=0

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-06 17:51:53

осталось только протестить этот уже конфиг на сервере , где 8 доменов.

"посижу перед делом"

Владимир
сержант
Сообщения: 235
Зарегистрирован: 2008-07-30 13:46:15
Откуда: Республика Молдова, г. Кишинев
Контактная информация:

Re: несколько доменов на одном хосте.

Непрочитанное сообщение Владимир » 2009-02-09 21:04:34

протестил на рабочем серваке, всё работает.

Спасибо dikens3 =)