LINUX.ORG.RU

18
Всего сообщений: 333

dovecot sieve redirect whitelist

Привет, почтовик с dovecot, у которого есть sieve Если пользователь прописывает себе какое-либо правило с редиректом, то письмо уходит от него самого c header envelop-from: user@domain.com, цель адресации видит изначального отправителя как отправителя.

dovecot.conf
....
protocol sieve {
.....
  sieve_redirect_envelope_from = recipient

....
}

Поскольку при переадресации отправитель типа наш юзер, аутифицированный и все такое, то postfix со спокойной душой отправляет это письмо в инет.

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

в стеке имеем: sogo/dovecot с sieve/rspamd/postfix

На вскидку, проме парсера юзерских sieve скриптов по крону мне пока больше ничего не придумалось, но это костыль.

Еще подумываю в сторону global-sieve-after, но я не знаю, может ли этот глобал отменить правило юзерского скрипта. Оно читает все и потом делает или оно делает шаг за шагом.

Еще можно в ,например, rsmapd парсить хедеры по идее.

 , , ,

constin ()

Не получается залогиниться на свой почтовый ящик через Thunderbird

Всем привет, настраиваю почту на виртуалке для общения между хостом. Через telnet получается авторизоваться и отправить себе на хост письмо, а вот авторизоваться через thunderbird не получается. В логах Dovecot пишет: imap-login: Info: Disconnected: Connection closed (no auth attempts in 0 secs): user=<>, rip=192.168.122.1, lip=192.168.122.213, session=<a6i4djbT+q/AqHoB> Вот вывод EHLO:

Connected to outdvgrxve.
Escape character is '^]'.
220 outdvgrxve ESMTP Postfix
EHLO outdvgrxve
250-outdvgrxve
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING

 , ,

E-V-I-L ()

Почтовый сервер на linux для малой организации

Добрый день! Появилась необходимость поднять почтовый сервер на linux, но опыта в этом 0.

В сети много статей про Postfix, Dovecot и т.д., но подходящей статьи для своей задачи не нашел.

А задача не особо сложная.

  1. Почтовый сервер, пусть будет myserver.com в обычной локальной сети 192.168.0.0/24

  2. Локальные пользователи на этом почтовом сервере:

  3. Возможность пользователей обмениваться между собой письмами. С этим проблем нет, так как большинство мануалов по настройке это предусматривают эту возможность.

  4. И самое главное. Сервер должен быть завязан с обычной почтой на mail.ru, а именно:

    • получать оттуда все письма и пересылать только на sekretar@myserver.com и yrist@myserver.com, не накапливая их при этом локально на самом сервере.
    • все отправленные пользователями письма из Thunderbird со своих внутренних аккаунтов на обычные почтовые адреса (яндекс, google, mail.ru и т.д.) должны передаваться через аккаунт почты mail.ru. То есть так, будто бы письмо отправлено с обычного электронного ящика на mail.ru

Вот, собственно и всё. Весь этот функционал сейчас без проблем поднят на HmailServer в пару кликов, но под Linux его нет. А Postfix и Dovecot совсем что-то замудреные :)

Прошу подсказать советом, может есть мануалы под эти задачи?

Перемещено xaizek из general

 , , , ,

Anti4it ()

Локальный почтовый сервер. postfixadmin

Добрый день, уважаемые участники. Прошу вашей помощи. Есть локальный сервер Ubuntu 20.04. На него нужно установить почтовый сервер pop3 imap smtp, на базе postfix, dovecot. Roundcube прикрутить в перспективе. Web сервер, postfixadmin и mysql к нему установил. Информация о почтовых ящиках и доменах в mysql. Связка будет использоваться в локальной сети. Домены виртуальные вроде 10-a.com, 11-a.com и т.д. Адреса user@10-a.com. Локальная почта будет ходить через LMTP? Как сделать sasl аутентификацию, но без ssl? Можно без использования DNS сервера? Подскажите пожалуйста. Заранее благодарен.

 , ,

skar ()

Dovecot Sieve vacation - ошибка парсинга конфига

Текущее содержимое конфига /home/user/sieve/roundcube.sieve

## Generated by Roundcube Webmail SieveRules Plugin ##

require ["vacation","variables"];
if header :matches "Subject" "*" {
set "subjwas" ": ${1}";
}
vacation
  days:0 {
  :subject "Vacation::: I'm in vacation ${subjwas}"

"MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary==_42de3adff8dc0ac53501e1272a6f2429

--=_42de3adff8dc0ac53501e1272a6f2429
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8

Hello, I'll back in september. Thanks!=20
--=_42de3adff8dc0ac53501e1272a6f2429
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset=UTF-8



Hello,

I'll back later.

Thanks!=20


--=_42de3adff8dc0ac53501e1272a6f2429--
.
";
}

Содержимое 20-managesieve.conf


##
## ManageSieve specific settings
##

# Uncomment to enable managesieve protocol:
protocols = $protocols sieve

# Service definitions

service managesieve-login {
  inet_listener sieve {
    port = 4190
  }

}

service managesieve {
  # Max. number of ManageSieve processes (connections)
  process_limit = 1024
}


# Service configuration

protocol sieve {

}

При компиляции скрипта выдает ошибку парсинга

$ sievec roundcube.sieve
sievec(user): Debug: Effective uid=1025, gid=1025, home=/home/user
roundcube: line 8: error: expected end of command ';' or the beginning of a compound block '{', but found ':'.
roundcube: line 9: error: expected end of compound block '}', but found tag.
roundcube: error: parse failed.
sievec(user): Fatal: failed to compile sieve script 'roundcube.sieve'

 , ,

zorinquen ()

Dovecot plain auth это нормально?

Всем привет! Настроил почтовый сервер, отлаживаю dovecot. Основу взял на https://bozza.ru/art-170.html. Что смущает:

auth_mechanisms = PLAIN

При том, что auth механизмов куча (https://doc.dovecot.org/configuration_manual/authentication/authentication_mechanisms/). SSL, конечно, включен. Пока не запустил в работу, есть возможность изменить. Или нормально так оставить?

 

pavlovich ()

Postfix - ошибка в mail.log

Ошибка в почтовом логе, возможно из-за которой часть писем перестала доходить до адресатов:

Jul 23 09:21:12 mail postfix/pipe[41920]: EA39D600717: to=<info@domain.tk>, relay=dovecot, delay=0.65, delays=0.09/0.02/0/0.55, dsn=2.0.0, status=sent (delivered via dovecot service (lda(info@domain.tk,)Error: net_connect_unix(/var/run/dovecot/stats-writer) failed: Permission))

При этом

srw-rw---- 1 root dovecot 0 июл 21 20:04 /var/run/dovecot/stats-writer

 , ,

zorinquen ()

неккорректный maildir при обработке с помощью sieve входящего письма

Может коллективный разум что подскажет: есть связка dovecot + ldap, сейчас ко всей этой красоте прикручиваю sieve. Собственно все работает, кроме одного момента: sieve некорректно получает maildir от lmtp.

Собственно пример: есть в лдапе Вася Пупкин с uid=vasya_pupkin и maildir-ом /var/mail/vasya_pupkin. При этом он имеет мыло vp@domain.com. И все отлично работает, только вот sieve ничего не знает про реальный maildir, и пытается вычитать sieve-правила из /var/mail/vp@domain.com/, которого очевидно нет (ниже кусок лога)

Переборы различных переменных в 90-sieve.conf типа %u, %h, %{auth_user} и т.д. не помогли. Подошел к крайнему варианту - напилить шелл скрипт и делать дополнительный лдап запрос, но почему lmtp не сообщает sieve, который запускает актуальные var-ы?

Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: auth-master: userdb lookup(vp@domain.com): Finished userdb lookup (username=vp@domain.com quota_rule=*:bytes=419430400 mail=maildir:/var/mail/vasya_pupkin)
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: Added userdb setting: mail=maildir:/var/mail/vasya_pupkin
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: Added userdb setting: plugin/quota_rule=*:bytes=419430400
Jul 20 19:10:51 lmtp(39592, vp@domain.com): Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: Effective uid=112, gid=8, home=/var/mail/vp@domain.com
Jul 20 19:10:51 lmtp(39592, vp@domain.com): Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: Quota root: name=User quota backend=maildir args=
Jul 20 19:10:51 lmtp(39592, vp@domain.com): Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: Quota rule: root=User quota mailbox=* bytes=419430400 messages=0
Jul 20 19:10:51 lmtp(39592, vp@domain.com): Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: Quota grace: root=User quota bytes=41943040 (10%)
Jul 20 19:10:51 lmtp(39592, vp@domain.com): Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: Namespace inbox: type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes location=maildir:/var/mail/vasya_pupkin
Jul 20 19:10:51 lmtp(39592, vp@domain.com): Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: maildir++: root=/var/mail/vasya_pupkin, index=, indexpvt=, control=, inbox=/var/mail/vasya_pupkin, alt=
Jul 20 19:10:51 lmtp(39592, vp@domain.com): Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: quota: quota_over_flag check: quota_over_script unset - skipping
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: sieve: Pigeonhole version 0.5.13 (cdd19fe3) initializing
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: sieve: include: sieve_global is not set; it is currently not possible to include `:global' scripts.
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: sieve: file storage: Storage path `/var/mail/vp@domain.com/sieve' not found
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: sieve: file storage: Failed to normalize active script directory (path=/var/mail/vp@domain.com): Part of the path does not exist (yet)
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: sieve: file storage: Using Sieve script path: /var/mail/vp@domain.com/.dovecot.sieve
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: sieve: file storage: Storage path `/var/mail/vp@domain.com/.dovecot.sieve' not found
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: sieve: storage: No default script location configured
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: sieve: User has no personal script
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: sieve: No scripts to execute: reverting to default delivery.
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Debug: lmtp-server: conn [remote_ip]:51362 [2]: rcpt vp@domain.com: Mailbox INBOX: Mailbox opened because: lib-lda delivery
Jul 20 19:10:51 lmtp(vp@domain.com)<39592><GLhuIIv19mComgAAMkN5cA>: Info: msgid=<ad600520-30d3-1163-5c27-5c53d080cef2@domain.net>: saved mail to INBOX
Jul 20 19:10:51 lmtp(39592): Info: Disconnect from [remote_ip]: Client has quit the connection (state=READY)```

 , ,

leg0las ()

Dovecot: избавиться от дополнительного файла запроса LDAP

Привет, друзья!

Подскажите, пожалуйста, позволяет ли синтаксис перенести содержимое файла запроса LDAP dovecot-ldap.conf.ext в dovecot.conf? Хочу все настройки поместить в одном единственном файле.

passdb {
  driver = ldap
  args = /etc/dovecot/dovecot-ldap.conf.ext
}

Заранее благодарю!

 

rmu ()

undefined symbol: mail_deliver_ctx_get_log_var_expand_table

Всем шалом.

В ubuntu 20.04 при попытке залогиниться почтовым клиентом получаю такое сообщение:

dovecot[35376]: imap(user@mail.domain): Error: Couldn't load required plugin /usr/lib/dovecot/modules/lib90_sieve_plugin.so: dlopen() failed: /usr/lib/dovecot/modules/lib90_sieve_plugin.so: undefined symbol: mail_deliver_ctx_get_log_var_expand_table

Через doveadm auth test всё спокойно:

doveadm auth test user@mail.domain p@$$w0rd
passdb: user@mail.domain auth succeeded
extra fields:
  user=user@mail.domain

выхлоп doveconf -n:

doveconf -n
# 2.3.7.2 (3c910f64b): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.7.2 ()
# OS: Linux 5.4.0-73-generic x86_64 Ubuntu 20.04.2 LTS 
# Hostname: mailstation
mail_location = mbox:~/mail
mail_privileged_group = mail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext imapsieve vnd.dovecot.imapsieve
mdbox_preallocate_space = yes
namespace inbox {
  inbox = yes
  location = 
  mailbox Archive {
    auto = subscribe
    special_use = \Archive
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    special_use = \Trash
  }
  prefix = 
}
passdb {
  args = scheme=CRYPT username_format=%u /etc/dovecot/users
  driver = passwd-file
}
plugin {
  imapsieve_mailbox1_before = file:/var/lib/dovecot/sieve/learn-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox2_before = file:/var/lib/dovecot/sieve/learn-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_name = *
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_default = /var/lib/dovecot/sieve/default.sieve
  sieve_global_extensions = +vnd.dovecot.pipe
  sieve_pipe_bin_dir = /usr/lib/dovecot/sieve-pipe
  sieve_plugins = sieve_imapsieve sieve_extprograms
}
protocols = " imap lmtp sieve"
service auth-worker {
  user = $default_internal_user
}
service auth {
  unix_listener /var/spool/postfix/private/dovecot-auth {
    mode = 0600
    user = postfix
  }
}
service imap-login {
  inet_listener imap {
    port = 0
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
  }
}
ssl_cert = </etc/letsencrypt/live/mail.domain/fullchain.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
  args = username_format=%u /etc/dovecot/users
  driver = passwd-file
}
protocol lmtp {
  mail_plugins = " sieve"
}
protocol imap {
  mail_plugins = " sieve"
}

В гугол ходил, но безрезультатно ☹ В какую сторону копать? Собирать dovecot-sieve руками?

 , ,

ubik ()

Мониторинг postfix и dovecot

Доброго времени!

Есть пул серверов на которых установлена связка postfix+dovecot. Каждая такая связка обрабатывает почтовый поток в 80-120 опс/сек. Появились проблемы с мониторингом. На текущий момент для postfix-а используется exporter в прометеус. Довекот сейчас сам умеет отдавать метрики (правда кол-ва маловато), которые также отдаются прометеусу. Так вот exporter постоянно тайлит майл-лог и переодически начинает занимать все коры процов сильно мешая почтовому обмену. Что можно предложить более устойчивое к нагрузкам? Схема и тип решения (открытое/платное) не важны, но очень желательно иметь возможность видеть стату по всем серверам на одной/паре дашборде.

Благодарю за помощь.

 ,

alex-123 ()

Не получается настроить почтовый сервер postfix и dovecot

Приветствую всех. Я хочу разобраться с почтовыми серверами. Развернул я несколько виртуальных машин в virtualbox. Первая машина это шлюз freebsd(192.168.3.1) имеет nat в мою сеть и на ней настроен dhcpd. Вторая машина это dns сервер bind(192.168.3.4). Третья это сам почтовый сервер centos-8(192.168.3.5) с nginx,phpmyadmin,postfixadmin,roundcube, postfix и dovecot.

Создал я два ящика, первый test@domain.local

Второй ящик это: test2@domain.local

При попытки отправить письмо с одного на другой выходит ошибка в thunderbird:

( читать дальше... )

В логах /var/log/maillog:

( читать дальше... )

Делал по этой статье

 , ,

No_name321 ()

Резервирование почтового сервера postfix+dovecot

Приветствую!

Есть задача по резервированию почтового сервера. Даны две VPS у разных провайдеров. На VDS1 стоит postfix+dovecot+mysql для хранения пользователей. Можно было бы просто на втором сервере настроить backup mx у postfix и всё, но нужна независимая конфигурация, которая позволяет пользователям работать с почтой при отказе первого сервера. На ум приходит синхронизация бд и директории с ящиками пользователей между этими серверами, А как правильнее реализовать?

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

 , ,

Hg194 ()

Прием входящих на PowerMTA

Здравствуйте.
Установлен Dovecot, PostfixAdmin, Roundcube, Postfix
по этому ману https://demon.of.by/blog/linux-admin/how-to-configure-postfix-mysql-dovecot/
на Debian 10 + LAMP.
В качестве MTA установил PowerMTA 5.0 (service postfix stop)
Суть вопроса в том, что PowerMTA может принимать входящие и я хочу его использовать на прием входящих с пересылкой в Roundcube.
В документации PowerMTA описано несколько способов приема входящих:
а) ретрансляция на другой сервер
б) сохранение в файл на локальной системе
в) просто отбросить
г) доставка с помощью канала связи в приложение для обработки
Способ доставки в файл и испробовал и у меня получилось, входящее письмо было доставлено в указанную папку.

relay-domain bounces.yourdomain.com  
relay-domain otherdomain.com  
relay-address bounce@bounces.yourdomain.com  
 
<domain bounces.yourdomain.com> 
  type file 
  file-format append-mbox  
  file-destination /etc/pmta/inbound/$domain  
</domain>  
 
<domain otherdomain.com> 
  type file 
  file-format newfile-pickup 
  file-destination /etc/pmta/inbound/$domain  
</domain> 
Прошу помощи, как мне настроить «доставку с помощью канала связи»?
В данном случае через Dovecot в Roundcube?
Вот пример кода из документации
relay-domain bounces.yourdomain.com  
relay-domain otherdomain.com  
relay-address bounce@bounces.yourdomain.com  
 
<domain bounces.yourdomain.com> 
  type pipe 
  command "/my/bounce/processor --envid \"$envid\" \"$user\""  
</domain>  
 
<domain otherdomain.com> 
  type pipe 
  command "/my/bounce/processor --envid \"$envid\" \"$user\""  
</domain> 
что и как прописать в параметре «command» ?

 ,

rafaello ()

Алиас на imap папку dovecot+postfix.

Добрый день. Есть imap папка public/.test, на папку подписался все Ок. Создал юзера test@domain.ru

Как отправлять письма через алиас в imap папку public.test ?

пробовал отправлять в public.test@domain.ru и public+test@domain.ru. Получаю в user unknown.

Как правильно привязать адрес и imap папку?

Нашел что делают через симлинк, но это решение выглядит криво.

 , , ,

echo1337 ()

Почта и OTP

Есть ли у кого истории успеха с dovecot + otp? Вроде OTP в dovecot есть какой-то, а как с клиентами? Что-то плохо гуглится эта тема.

Так-то pam_oath.so я вроде настроил и например su спрашивает OTP и код из приложения andOTP даже подходит.

 , , , ,

sergej ()

Dovecot не дает логиниться

Dovecot перестает давать логиниться, в логах вот такое сообщение: master: Warning: Sent SIGKILL to 100 imap-login processes в dovecot.conf:

auth_debug = yes
auth_mechanisms = plain login
auth_verbose = yes
default_process_limit = 1000
disable_plaintext_auth = no
listen = *
mail_debug = yes
mail_location = maildir:/var/spool/mail/%u
mail_privileged_group = mail
namespace {
  inbox = yes
  location =
  prefix =
  separator = /
  type = private
}
passdb {
  args = dovecot
  driver = pam
}
plugin {
  mail_log_fields = uid box msgid size from subject flags
  sieve = /var/sieve-scripts/%u.sieve
  sieve_dir = ~/sieve
  sieve_global_dir = /etc/dovecot/sieve/global/
  sieve_global_path = /etc/dovecot/sieve/default.sieve
}
protocols = imap pop3
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service imap {
  process_limit = 1024
}
service stats {
  unix_listener stats-reader {
    group = mail
    mode = 0660
    user = mail
  }
  unix_listener stats-writer {
    group = mail
    mode = 0660
    user = mail
  }
}
ssl_cert = </etc/ssl/smtpd.pem
ssl_key = # hidden, use -P to show it
userdb {
  driver = passwd
}
protocol pop3 {
  mail_plugins = " mail_log notify"
}
protocol lda {
  deliver_log_format = from=%f subj=%s msgid=%m: %$
  mail_plugins = sieve mail_log notify
  postmaster_address = postmaster@xxx.ru
}
protocol imap {
  mail_max_userip_connections = 1000
}
protocol sieve {
  info_log_path = /var/log/dovecot-sieve.log
  log_path = /var/log/dovecot-sieve-errors.log
}
Но когда делаю: doveconf -d | grep «default_process_limit» выдает:
default_process_limit = 100
Почему не меняется значение? Спасибо

 ,

tits ()

RoundCube и вложения

Всем привет. Ребят, помогите решить проблему вложений на roundcube, второй день не могу понять в чём сообственно дело. Ограничение нету, но почему-то файлы >1МБ отказываються прикрепляться. Ошибка сервера! (error)

Вложения до 1мб отлично работают.

/etc/postfix/main.cf

mailbox_size_limit = 0
message_size_limit = 134217728

/etc/nginx.conf

location ~ /.*\.php {
    include fastcgi_params;
    fastcgi_split_path_info ^/mail(/.*)()$;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /usr/local/lib/roundcubemail/$fastcgi_script_name;
    fastcgi_pass php-fpm;

    client_max_body_size 128M;
}

/etc/php/php.ini

file_uploads = On
post_max_size = 16G
upload_max_filesize = 16G

memory_limit = 512M

 , , , ,

alexandrovich_ff ()

Настройка bind9 для работы Exim

Здравствуйте!)

Помогите найти информацию, или подскажите, как заставить работать два сервера mail1.company.ru(192.168.0.1) и mail2.company.com(192.168.0.2) на Debian exim4 + dovecot.

Два домена company.ru - 192.168.0.1 company.com - 192.168.0.2

Я гайдам разворачиваю сервера имён и видимо что-то делаю не так, потому что почта работает корректно только при включенном одном сервере.

Просьба не сильно гнобить НУБа =) Я только учусь)

 , ,

dimon_0901 ()

Как подружить postfix и dovecot

Сервер postfix + dovecot + mariadb

Есть maildir /var/mail/example.com/arksunix/ Я хочу чтобы там хранились письма. Попрбовал отправить письмо с другого сервера, postfix положил его в /var/mail/example.com/arksunix/new. Клиент, подключеный по imap его не получил (хотя вернее сказать dovecot его не отдал). Как я понял, dovecot должен был увидеть письмо в new и перенести его в cur, но этого не произошло. В логах пусто. Отправка работает отлично, с ней проблем нет. Почему клиент imap а не локальный - не смог найти консольный клиент, который смог бы прочитать письма из /var/mail/example.com/arksunix/. Даже если удаётся указать, что их надо искать именно там, они выдают ошибку, что это каталог (в том же .muttrc я указал, что тип Maildir - бестолку). Но это уже вторичная проблема.

Конфиг dovecot-а:

auth_mechanisms = plain login
mail_location = maildir:/var/mail/%d/%n
mail_privileged_group = mail
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
protocols = imap lmtp
service auth-worker {
  user = vmail
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0666
    user = postfix
  }
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }
  user = dovecot
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 47659
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 0
  }
}
ssl = required
ssl_cert = </etc/ssl/example.com.crt
ssl_client_ca_dir = /etc/ssl/certs
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
  args = uid=vmail gid=vmail home=/var/mail/%d/%n
  driver = static
}

main.cf:

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

append_dot_mydomain = no

readme_directory = /usr/share/doc/postfix

compatibility_level = 2

smtpd_tls_security_level = may
smtp_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/example.crt
smtpd_tls_key_file = /etc/ssl/private/example.com.key
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_ciphers = medium
smtp_tls_mandatory_ciphers = medium
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options = noanonymous
smtpd_tls_loglevel=1
smtpd_tls_dh1024_param_file = /etc/ssl/dhparam.pem

tls_medium_cipherlist = ECDHE+AES256:ECDHE+CHACHA20:ECDHE+ARIA:ECDHE+AES128:!aNULL:!eNULL

tls_preempt_cipherlist = smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

smtpd_recipient_restrictions =
	permit_sasl_authenticated,
	permit_mynetworks,
	reject_unauth_destinationno

myhostname = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
html_directory = /usr/share/doc/postfix/html

virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf, mysql:/etc/postfix/mysql-virtual-email2email.cf

master.cf:

smtp      inet  n       -       y       -       -       smtpd
submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_tls_auth_only=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
42935     inet  n       -       y       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
...

 , , ,

Arksunix ()