EXIM + Dovecot +Квоты

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
alfpk00
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-02-07 22:59:40

EXIM + Dovecot +Квоты

Непрочитанное сообщение alfpk00 » 2009-06-05 8:51:00

Привет!

Имеется связка Exim + Dovecot +Mysql.
Все в принципе работает, кроме одного - Не получается прикрутить правильно квоты.
Задача: Нужно, чтобы при попытке отправить письмо, которое превышает установленную квоту, было возвращено отправителю.
Установка в dovecot.conf опции quota_full_tempfail = yes не помогает. Письмо всеравно доставляется адресату.

Листинг dovecot.conf

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


base_dir = /var/run/dovecot/
protocols = imap
listen = *
disable_plaintext_auth = no
shutdown_clients = yes
log_timestamp = "%b %d %H:%M:%S "
syslog_facility = mail
ssl_disable = yes
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 = 128
login_greeting = MUA Dovecot ready!
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
mail_location = maildir:/var/spool/mail/vexim/%d/%n
mail_privileged_group = mail
verbose_proctitle = yes
first_valid_uid = 25
first_valid_gid = 25
maildir_copy_with_hardlinks = yes

protocol imap {
  
 
   mail_plugins =  quota imap_quota
  mail_plugin_dir = /usr/local/lib/dovecot/imap

  

  imap_client_workarounds = delay-newmail outlook-idle \ 
			    netscape-eoh tb-extra-mailbox-sep
}
  

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


protocol lda {
  
  postmaster_address = postmaster@domain.co

   mail_plugins = quota
   quota_full_tempfail = yes
   sendmail_path = /usr/local/sbin/exim
  auth_socket_path = /var/run/dovecot/auth-master
}

auth_username_format = %Lu

auth default {
  mechanisms = plain 
    auth_debug = yes    
  socket listen {
	master {
	    path = /var/run/dovecot/auth-master
	    mode = 0600
	    user = vexim
	}
    }

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

  


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

  
  user = root

 

 
}




dict {
  #quota = mysql:/usr/local/etc/dovecot-dict-quota.conf 
}


plugin {
 
  

  quota = dirsize
  quota_rule = *:storage=1M
#  quota_warning = storage=80%%

 }
Листинг конфига Exim

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




primary_hostname = mail.domen.co


MY_IP = XXX.XXX.XXX.XXX



VIRTUAL_DOMAINS = SELECT DISTINCT domain FROM domains WHERE type = 'local' AND enabled = '1' AND domain = '${quote_mysql:$domain}'
RELAY_DOMAINS = SELECT DISTINCT domain FROM domains WHERE type = 'relay'  AND domain = '${quote_mysql:$domain}'
ALIAS_DOMAINS = SELECT DISTINCT alias FROM domainalias WHERE alias = '${quote_mysql:$domain}'

domainlist local_domains =  ${lookup mysql{VIRTUAL_DOMAINS}} : ${lookup mysql{ALIAS_DOMAINS}}
domainlist relay_to_domains = ${lookup mysql{VIRTUAL_DOMAINS}}
hostlist   relay_from_hosts = localhost : 192.168.0.0/24


hide mysql_servers = localhost/vexim/vexim/*******




acl_smtp_rcpt = acl_check_rcpt

acl_smtp_data = acl_check_data


av_scanner = clamd:127.0.0.1 3310
spamd_address = 127.0.0.1 783

qualify_domain = domain.co

qualify_recipient = domain.co


allow_domain_literals = false



exim_user = vexim
exim_group = vexim

never_users = root

rfc1413_query_timeout = 0s



sender_unqualified_hosts = +relay_from_hosts
recipient_unqualified_hosts = +relay_from_hosts






ignore_bounce_errors_after = 45m


timeout_frozen_after = 15d


helo_accept_junk_hosts = 192.168.0.0/24
auto_thaw = 1h
smtp_banner = $primary_hostname, ESMTP EXIM $version_number
smtp_accept_max = 50
smtp_accept_max_per_connection = 40
smtp_connect_backlog = 30
smtp_accept_max_per_host = 20
split_spool_directory = true
remote_max_parallel = 15
return_size_limit = 100k
message_size_limit = 64M
smtp_enforce_sync = true

received_header_text = "Received: \
		${if def:sender_rcvhost {from ${sender_rcvhost}\n\t} \
		{${if def:sender_ident {from ${sender_ident} }} \
		${if def:sender_helo_name {(helo=${sender_helo_name})\n\t}}}} \
		by ${primary_hostname} \
		${if def:received_protocol {with ${received_protocol}}} \
		id ${message_id} \
		${if def:received_for {\n\tfor <$received_for>}}"

log_selector = \
    +subject \
    +all_parents \
    +connection_reject \
    +incoming_interface \
    +lost_incoming_connection \
    +received_sender \
    +received_recipients \
    +smtp_confirmation \
    +smtp_syntax_error \
    +smtp_protocol_error \
    +queue_run \
    +retry_defer \
    +smtp_connection \
    +smtp_incomplete_transaction
syslog_timestamp = no

######################################################################
#                       ACL CONFIGURATION                            #
#         Specifies access control lists for incoming SMTP mail      #
######################################################################

begin acl


acl_check_rcpt:

  
  accept  hosts = :

  
  
  deny    local_parts   = ^.*[@%!/|] : ^\\.

  accept  local_parts   = postmaster
          domains       = +local_domains

 
  accept  authenticated = *
  
  accept  domains       = +local_domains
          endpass
          verify        = recipient

 
  accept  domains       = +relay_to_domains
          endpass
          verify        = recipient

 deny	message		= "You in Blacklist - $dnslists_domain \n $dnslists_text"
	dnslists		= opm.blitzed.org : \
			  cbl.abuseat.org : \
			  bl.csma.biz : \
			  dynablock.njabl.org
  
  
  
 
  accept  hosts         = +relay_from_hosts

 
  deny    message       = Homo hominus lupus est



acl_check_data:

  # Include Vexim specific rcpt ACLs
  #.include /usr/local/etc/exim/vexim-acl-check-content.conf

  # finally accept all the rest
  
  
  deny		message		= Message rejected: virus found!
		hosts		= *
		malware		= *
  accept	add_header	= X-Virus-Scan: Checked ClamAV on $primary_hostname
		add_header	= X-Virus-Status: Virus not found!
		
  warn		message		= X-Spam-Score: $spam_score($spam_bar)
		spam		= maildeliver:true
  warn		message		= X-Spam-Report: $spam_report
		spam		= maildeliver:true
  accept	hosts		= 127.0.0.1:+relay_from_hosts
  accept	authenticated	= *

  

######################################################################
#                      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



send_to_smart_host:
    driver = manualroute
    route_list = !+local_domains pochta.tvoe.tv
    transport = remote_smtp




ditch_malware:
  driver = redirect
  allow_fail
  data = :blackhole:
  condition = ${if and { {match {$h_X-ACL-Warn:}{.*malware.*}} \
                         {eq {${lookup mysql{select users.on_avscan from users,domains \
		                where localpart = '${quote_mysql:$local_part}' \
		                and domain = '${quote_mysql:$domain}' \ 
		                and users.on_avscan = '1' \
		                and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }

local_delivery_spam:
    driver	= accept
    domains	= +local_domains
    condition	= ${if match{$h_X-Spam-Status:}{Yes}}
    transport	= local_delivery_spam_transport
    

virtual_vacation:
  driver = accept
  condition = ${if and { {!match {$h_precedence:}{(?i)junk|bulk|list}} \
                         {eq {${lookup mysql{select users.on_vacation from users,domains \
		                where localpart = '${quote_mysql:$local_part}' \
		                and domain = '${quote_mysql:$domain}' \ 
		                and users.on_vacation = '1' \
		                and users.domain_id=domains.domain_id}}}{1} }} {yes}{no} }
  no_verify
  no_expn
  unseen
  transport = virtual_vacation_delivery



from_MDS:
    driver = accept
    domains	= +local_domains
    condition	= ${if match{$h_Subject:}{Mail delivery failed:}}
    transport	= local_delivery_MDS



  
virtual_domains:
  driver = redirect
  allow_fail
  data = ${lookup mysql{select smtp from users,domains \
  		where localpart = '${quote_mysql:$local_part}' \
		and domain = '${quote_mysql:$domain}' \
		and domains.enabled = '1' \
		and users.enabled = '1' \
		and users.domain_id = domains.domain_id}}
  headers_add = ${if >{$spam_score_int}{${lookup mysql{select users.sa_tag * 10 from users,domains \
  		where localpart = '${quote_mysql:$local_part}' \
		and domain = '${quote_mysql:$domain}' \
		and users.on_spamassassin = '1' \
		and users.domain_id=domains.domain_id }{$value}fail}} {X-Spam-Flag: YES\n}{} }
  headers_remove = ${if or { { <{$spam_score_int}{1} } \
  			     { <{$spam_score_int}{${lookup mysql{select users.sa_tag * 10 from users,domains \
			       where localpart = '${quote_mysql:$local_part}' \
			       and domain = '${quote_mysql:$domain}' \
			       and users.on_spamassassin = 1 \
			       and users.domain_id=domains.domain_id}{$value}fail}} } \
			     { eq {0}{${lookup mysql{select users.sa_tag * 10 from users,domains \
			       where localpart = '${quote_mysql:$local_part}' \
			       and domain = '${quote_mysql:$domain}' \
			       and users.on_spamassassin = 0 \
			       and users.domain_id=domains.domain_id}{$value}fail}}} \
			   } {X-Spam-Score:X-Spam-Report} }
  local_part_suffix = -*
  local_part_suffix_optional
  retry_use_local_part
  file_transport = virtual_delivery
  reply_transport = address_reply
  pipe_transport = address_pipe
  
.include /usr/local/etc/exim/vexim-group-router.conf

virtual_domains_catchall:
  driver = redirect
  allow_fail
  data = ${lookup mysql{select smtp from users,domains where localpart = '*' \
  		and domain = '${quote_mysql:$domain}' \
		and users.domain_id = domains.domain_id}}
  retry_use_local_part
  file_transport = virtual_delivery
  reply_transport = address_reply
  pipe_transport = address_pipe_catchall

virtual_domain_alias:
  driver = redirect
  allow_fail
  data = ${lookup mysql{select concat('${quote_mysql:$local_part}@', domain) \
  		from domains,domainalias where domainalias.alias = '${quote_mysql:$domain}' \
		and domainalias.domain_id = domains.domain_id}}
  retry_use_local_part
  






localuser:
  driver = accept
  check_local_user
  transport = local_delivery_error
  cannot_route_message = Unknown user



######################################################################
#                      TRANSPORTS CONFIGURATION                      #
######################################################################
#                       ORDER DOES NOT MATTER                        #
#     Only one appropriate transport is called for each delivery.    #
######################################################################


begin transports




remote_smtp:
  driver = smtp





virtual_delivery:
  driver = appendfile
  envelope_to_add
  return_path_add
  mode = 0600
  maildir_format = true
  create_directory = true
  directory = ${lookup mysql{select smtp from users,domains \
		where localpart = '${quote_mysql:$local_part}' \
		and domain = '${quote_mysql:$domain}' \
		and users.domain_id = domains.domain_id}}
  user = ${lookup mysql{select users.uid  from users,domains \
		where localpart = '${quote_mysql:$local_part}' \
		and domain = '${quote_mysql:$domain}' \
		and users.domain_id = domains.domain_id}}
  group = ${lookup mysql{select users.gid from users,domains \
		where localpart = '${quote_mysql:$local_part}' \
		and domain = '${quote_mysql:$domain}' \
		and users.domain_id = domains.domain_id}}
  quota = ${lookup mysql{select users.quota from users,domains \
  		where localpart = '${quote_mysql:$local_part}' \
		and domain = '${quote_mysql:$domain}' \
		and users.domain_id = domains.domain_id}{${value}M}}
 quota_is_inclusive = false
 quota_size_regex = ,S=(\d+):
  quota_warn_threshold = 75%
  maildir_use_size_file = false
  quota_warn_message = "To: $local_part@$domain\n\
  			Subject: Mailbox quota warning\n\n\
			This message was automatically generated by the mail delivery software.\n\n\
			You are now using over 75% of your allocated mail storage quota.\n\n\
			If your mailbox fills completely, further incoming messages will be automatically\n\
			returned to their senders.\n\n\
			Please take note of this and remove unwanted mail from your mailbox.\n"



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 = vexim

address_pipe:
  driver = pipe
  return_output
  user = ${lookup mysql{select users.uid from users,domains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_id}}
  group = ${lookup mysql{select users.gid from users,domains where localpart = '${quote_mysql:$local_part}' and domain = '${quote_mysql:$domain}' and users.domain_id = domains.domain_id}}

local_delivery_spam_transport:
    driver	= pipe
    command	= /usr/local/libexec/dovecot/deliver -d $local_part@$domain -m .Junk
    message_prefix =
    message_suffix =
    delivery_date_add
    envelope_to_add
    return_path_add

local_delivery_error:
    driver	= pipe
    command	= /usr/local/libexec/dovecot/deliver -d postmaster@$domain
    message_prefix =
    message_suffix =
    delivery_date_add
    envelope_to_add
    return_path_add

local_delivery_MDS:
    driver	= pipe
    command	= /usr/local/libexec/dovecot/deliver -d $local_part@$domain -m INBOX.MDS
    message_prefix =
    message_suffix =
    delivery_date_add
    envelope_to_add
    return_path_add
# This transport is used for handling autoreplies generated by the filtering
# option of the userforward router.

address_reply:
  driver = autoreply




begin retry



# Domain               Error       Retries
# ------               -----       -------

*                      *           F,2h,15m; G,16h,1h,1.5; F,14d,6h



######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################

# There are no rewriting specifications in this default configuration file.

begin rewrite



######################################################################
#                   AUTHENTICATION CONFIGURATION                     #
######################################################################

# There are no authenticator specifications in this default configuration file.

begin authenticators

plain_login:
        driver = plaintext
        public_name = PLAIN
        server_condition = ${lookup mysql{SELECT username FROM users \
				WHERE username = '${quote_mysql:$auth2}' \
				AND clear = '${quote_mysql:$auth3}'}{yes}{no}}
        server_prompts = :
	server_set_id = $auth2

Последний раз редактировалось alfpk00 2009-06-05 10:43:10, всего редактировалось 1 раз.

Хостинговая компания 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/

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение hizel » 2009-06-05 9:48:33

госоподи, ну хотябы закоментированные строки удалите :(
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

atrium
мл. сержант
Сообщения: 88
Зарегистрирован: 2008-08-19 15:35:47

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение atrium » 2009-06-05 14:02:15

А зачем нагружать сервер отправкой ответных сообщений?
deny message=""
hosts = *
condition =${if>{$message_size}{размер}{true}{false}}

Гость
проходил мимо

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение Гость » 2009-06-05 14:34:50

atrium писал(а):А зачем нагружать сервер отправкой ответных сообщений?
deny message=""
hosts = *
condition =${if>{$message_size}{размер}{true}{false}}
А каким способом вычислять свободное место в ящике (параметр {размер})?

atrium
мл. сержант
Сообщения: 88
Зарегистрирован: 2008-08-19 15:35:47

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение atrium » 2009-06-05 14:44:07

дача: Нужно, чтобы при попытке отправить письмо, которое превышает установленную квоту, было возвращено отправителю.
Судя по вопросу про размер ящика ни слова

Гость
проходил мимо

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение Гость » 2009-06-05 14:51:10

atrium писал(а):
дача: Нужно, чтобы при попытке отправить письмо, которое превышает установленную квоту, было возвращено отправителю.
Судя по вопросу про размер ящика ни слова
Sorry.... Неверно выразился.

Имелось ввиду, что если входящее письмо превышает свободное место в ящике пользователя.
Сейчас письмо принимается, даже при переполнении, но не доставляется, а ставится в очередь на повторную доставку. А нужно, чтобы в данной ситуации письмо не принималось, а возвращалось отправителю

fly
рядовой
Сообщения: 41
Зарегистрирован: 2008-10-03 13:41:59

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение fly » 2009-07-29 15:14:33

Угу имею ту же ситуацию. Подскажите, люди добрые, в какую сторону рыть.

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

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение dikens3 » 2009-07-30 22:31:57

У меня всё работало.. Даже статьи писал в вики.
http://wiki.lissyara.su/wiki/%D0%A1%D1% ... 1%8C%D0%B8

Задача: Нужно, чтобы при попытке отправить письмо, которое превышает установленную квоту, было возвращено отправителю.
Ну нужно такие письма вообще принимать, ответ будет сразу с соответствующим (твоим) сообщением.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

fly
рядовой
Сообщения: 41
Зарегистрирован: 2008-10-03 13:41:59

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение fly » 2009-07-31 9:13:33

Ну нужно такие письма вообще принимать, ответ будет сразу с соответствующим (твоим) сообщением.
Как так сделать ктонить подскажет ?
Тоесть если я настрою Довекот вот по этой статье http://wiki.lissyara.su/wiki/%D0%A3%D1% ... B0_Dovecot
то письма не будут приниматься и будет генерится и отправляться уведомление о том что ящик полон как отправителю так и получателю ?

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение ViktorichZ » 2009-07-31 10:38:48

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

fly
рядовой
Сообщения: 41
Зарегистрирован: 2008-10-03 13:41:59

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение fly » 2009-07-31 11:07:03

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


У меня вначале вообше доставка была не dovecot_delivery а mysql_delivery. Там с квотами немножко по другому попроще, но оно не заработало. Вот и перещел на довекотовскую доставку потому что в гугле да и тут больше инфи о том как именно довекотом сделать
Я так понимаю - екзим принял входящее - передал довекоту на доставку в ящик, довекот сообразил что квота превышена и теперь он должен сообщить об этом отправителю и получателю о том что письмо недоставлено и причину, поидее сообщить это он может только опять таки через экзим.

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение freeman » 2009-07-31 11:35:27

fly писал(а): а mysql_delivery
:shock: Это что так называется доставка средствами exim с проверкой квоты в БД mysql или БД сама научилась доставкой локальной заниматся ? :)
Остатся должен только один ...

fly
рядовой
Сообщения: 41
Зарегистрирован: 2008-10-03 13:41:59

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение fly » 2009-07-31 12:12:30

freeman писал(а):
fly писал(а): а mysql_delivery
:shock: Это что так называется доставка средствами exim с проверкой квоты в БД mysql или БД сама научилась доставкой локальной заниматся ? :)
Буквоед! =)

В общем у меня уже получилось чтобы письмо автоматически футболилось отправителю. А вот хозян ящика по прежнему не в курсе что у него письма не приходят из-за переполнения.

Как организовать извещение юзера о том что было письмо от такогото с такойто темой но оно не принято из-за оверквоты.

Спасибо

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение freeman » 2009-07-31 12:16:01

fly писал(а):В общем у меня уже получилось чтобы письмо автоматически футболилось отправителю. А вот хозян ящика по прежнему не в курсе что у него письма не приходят из-за переполнения.
Ну так напиши как получилось или из за чего не получалось.
У меня хозяин ящика в roundcube видит размер квоты - если занято 100% то он сам должен догадатся. А вот пользователи Bat к примеру действительно обделены :oops: Впрочем они обычно письма не оставляют на серваке и посему квоту не исчерпывают в обычных ситуациях :)
Остатся должен только один ...

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение ViktorichZ » 2009-07-31 12:31:33

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


У меня вначале вообше доставка была не dovecot_delivery а mysql_delivery. Там с квотами немножко по другому попроще, но оно не заработало. Вот и перещел на довекотовскую доставку потому что в гугле да и тут больше инфи о том как именно довекотом сделать
Я так понимаю - екзим принял входящее - передал довекоту на доставку в ящик, довекот сообразил что квота превышена и теперь он должен сообщить об этом отправителю и получателю о том что письмо недоставлено и причину, поидее сообщить это он может только опять таки через экзим.
название темы - EXIM + Dovecot +Квоты , если за отправку и приём почты осуществляет exim какого, простите, тут всё мусолят про настройку Dovecot'а? я всего лишь дал понять что почту получает и отправляет exim , с ним и надо решать этот вопорс, ексим ничё никому не передаёт, он полчил и положил в папочку а доввекот уже когда вы получаете почту из своего ящика вам выдаёт то письмо... двоешник

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение freeman » 2009-07-31 12:34:29

ViktorichZ писал(а): название темы - EXIM + Dovecot +Квоты , если за отправку и приём почты осуществляет exim какого, простите, тут всё мусолят про настройку Dovecot'а? я всего лишь дал понять что почту получает и отправляет exim , с ним и надо решать этот вопорс, ексим ничё никому не передаёт, он полчил и положил в папочку а доввекот уже когда вы получаете почту из своего ящика вам выдаёт то письмо... двоешник
Прежде чем быть таким категоричным, изучите возможности dovecot, в частности его компонента deliver, пример тут на сайте описан как базовый.
Остатся должен только один ...

fly
рядовой
Сообщения: 41
Зарегистрирован: 2008-10-03 13:41:59

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение fly » 2009-07-31 12:37:17

Ну получилось, думаю из-за того что добавил сторочку

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

sendmail_path = /usr/sbin/sendmail
в секцию

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

protocol ldap
И еще несколько но их назначение мне неясно

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

#protocol managesieve {
#   mail_debug = no    
#      sieve=%hsieve/.dovecot.sieve
#         sieve_storage=%hsieve    
#        }                         
и в секции плагинов

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

sieve=%hsieve/.dovecot.sieve
- эта строчка не закомечена но и не финционирует думаю, потому что плагин cmusieve закоменчен.

какойто плагин

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

cmusieve
но его нет в папке плагинов довекота. Не знаю в обще что это не гуглил еще по этому поводу.
Это я посмотрел в статье что ссылку выше писали люди на вики

fly
рядовой
Сообщения: 41
Зарегистрирован: 2008-10-03 13:41:59

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение fly » 2009-07-31 12:45:18

freeman писал(а):
fly писал(а):В общем у меня уже получилось чтобы письмо автоматически футболилось отправителю. А вот хозян ящика по прежнему не в курсе что у него письма не приходят из-за переполнения.
Ну так напиши как получилось или из за чего не получалось.
У меня хозяин ящика в roundcube видит размер квоты - если занято 100% то он сам должен догадатся. А вот пользователи Bat к примеру действительно обделены :oops: Впрочем они обычно письма не оставляют на серваке и посему квоту не исчерпывают в обычных ситуациях :)

Вот как раз то мои юзеры и сидят кто на аутлуке кто на мозиле кто на бате. И некоторым удобно чтобы почта оставалась на сервере и чистить ящик свой им конечно впадло. А если им письма не будут приходить они ж шуметь будут. А как им извещение будет приходить что почистите свой ящик например.

Кто подскажет как этого добится Экзимом Довекотом Мускулом неважно что чем называть и кем. А плиз?

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение ViktorichZ » 2009-07-31 13:00:05

freeman писал(а):
ViktorichZ писал(а): название темы - EXIM + Dovecot +Квоты , если за отправку и приём почты осуществляет exim какого, простите, тут всё мусолят про настройку Dovecot'а? я всего лишь дал понять что почту получает и отправляет exim , с ним и надо решать этот вопорс, ексим ничё никому не передаёт, он полчил и положил в папочку а доввекот уже когда вы получаете почту из своего ящика вам выдаёт то письмо... двоешник
Прежде чем быть таким категоричным, изучите возможности dovecot, в частности его компонента deliver, пример тут на сайте описан как базовый.
а вы разницу MDA MTA

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение freeman » 2009-07-31 13:02:57

ViktorichZ писал(а):а вы разницу MDA MTA
Т.е. я так понимаю вы не хотите прислушиватся к моему мнению ? LDA вам видимо не знакомо и с вашим гонором и не будет, так как "не надо" видно. Тогда не мешайте др. участникам эти вопросы обсуждать, так как в данном случае слежение за квотами и даже доставкой

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

dovecot_delivery:
    driver = pipe
    command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
занимается как раз dovecot
Остатся должен только один ...

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение freeman » 2009-07-31 13:10:11

ViktorichZ писал(а):а вы разницу MDA MTA
Т.е. я так понимаю вы не хотите прислушиватся к моему мнению ? LDA вам видимо не знакомо и с вашим гонором и не будет, так как "не надо" видно. Тогда не мешайте др. участникам эти вопросы обсуждать, так как не то что такое вообще возможно, а даже в данном конкретном случае слежение за квотами и даже доставкой

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

dovecot_delivery:
    driver = pipe
    command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain
занимается как раз dovecot, а не
freeman писал(а):ексим ничё никому не передаёт, он полчил и положил в папочку
.
Остатся должен только один ...

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение ViktorichZ » 2009-07-31 13:13:21

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

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение freeman » 2009-07-31 13:17:52

Ну вот и отличненько, разобрались мы с MTA LDA MDA надеюсь.
ViktorichZ писал(а):никакого гонора, просто есть связка exim-dovecot и за квотами должен следить exim
Увы в данном случае опровергну и это

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

Листинг dovecot.conf
    plugin {
          quota = dirsize
      quota_rule = *:storage=1M
    #  quota_warning = storage=80%%

     }
А если вы про общий случай, то может и exim (при соотв. переделке конфига ТС) и dovecot, категорически что либо советовать я бы не стал, везде есть свои плюсы и минусы.
Остатся должен только один ...

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение ViktorichZ » 2009-07-31 13:22:20

да, я именно про общий случай, с самого первого сообщения, зачем катать квадратное и таскать круглое, правильное решение, это когда exim получает, отправляет и следит за квотами, dovecot выполняет только свою роль IMAP POP3-сервер ....

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: EXIM + Dovecot +Квоты

Непрочитанное сообщение freeman » 2009-07-31 13:23:04

ViktorichZ писал(а):это делает exim
"Наружу" еесно он, но не подменяйте и тут понятия, в конкретном примере он будет лишь одним из многочисленных MTA (транзитных), письмо же само будет сформированно и переданно ему благодаря участию dovecot
Остатся должен только один ...