Страница 1 из 1

Dovecot не находит новые папки в maildir

Добавлено: 2008-04-07 16:44:02
sasha181
Помогите пожалуйста.

Хочу сделать чтобы спам складывался в отдельную папку.
Для этого если спамассассин распознал письмо как спам, объявляю переменную и затем при помощи роутера и транспорта кладу в папку .Spam в maildir виртуального юзера.

Всё отлично работает (письма в папку кладутся), вот только довекот эту папку не отображает для imap клиентов.
Пробовал для доставки использовать родного доставщика довекота, но это ничего не дало.
ниже транспот из экзима (закомментирован транспорт локальной доставки) и конфиг довекота.

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

#local_delivery_spam:
#  driver = appendfile
#  check_string = ""
#  create_directory
#  delivery_date_add
#  directory = /var/mail/$domain/$local_part/.Spam
#  directory_mode = 770
#  envelope_to_add
#  group = sasha181
#  user = sasha181
#  maildir_format
#  maildir_tag = ,S=$message_size
#  message_prefix = ""
#  message_suffix = ""
#  mode = 0660
#  quota = ${lookup mysql{SELECT quota FROM user_options \
#          WHERE login='${local_part}' AND domain='${domain}'}{${value}M}}
#  quota_size_regex = S=(\d+)$
#  quota_warn_threshold = 75%
#  return_path_add
  
local_delivery_spam:  
  driver = pipe
  command = /usr/local/libexec/dovecot/deliver -d $local_part@$domain -m Spam
  message_prefix =
  message_suffix =
  delivery_date_add
  envelope_to_add
  return_path_add
  log_output
  user = sasha181

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

base_dir = /var/run/dovecot
protocols = imap imaps pop3 pop3s
disable_plaintext_auth = no
ssl_cert_file =/etc/ssl/certs/mail.pem
ssl_key_file = /etc/ssl/certs/mail.pem
login_dir = /var/run/dovecot/login
login_user = mailnull
default_mail_env = maildir:/var/mail/%d/%n
protocol imap {
  login_executable = /usr/local/libexec/dovecot/imap-login
  mail_executable = /usr/local/libexec/dovecot/imap
  mail_plugin_dir = /usr/local/lib/dovecot/imap
  #mail_plugins = quota imap_quota
}
protocol pop3 {
  login_executable = /usr/local/libexec/dovecot/pop3-login
  mail_executable = /usr/local/libexec/dovecot/pop3
  pop3_uidl_format = %08Xu%08Xv
  mail_plugin_dir = /usr/local/lib/dovecot/pop3
  #mail_plugins = quota
}
protocol lda {
   postmaster_address = postmaster@example.com
   #mail_plugin_dir = /usr/local/lib/dovecot/lda
   #mail_plugins = quota
}
#auth
auth_verbose = yes
auth_debug = yes
auth_username_chars = abcdefghijklmnopqrstuvwxyz01234567890.-_@
auth default {
  mechanisms = plain

   # Добавлено для работы deliver от dovecot
   socket listen {
     master {
       path = /var/run/dovecot/auth-master
       mode = 0600
       user = sasha181
     }
   }
  
  passdb sql {
     args =/usr/local/etc/sql-dove.conf
  }
  userdb static {
      args = uid=1001 gid=1001 home=/var/mail/home_dirs/%d/%n
  }
#  userdb sql {
#     args =/usr/local/etc/sql-dove.conf
#  }

  user = root
}


Re: Dovecot не находит новые папки в maildir

Добавлено: 2008-04-07 21:12:17
Alex Keda
в клиенте - обновить список папок на сервере.
=========
или юзать нормальные клиенты, а не поделия типа оутглюков

Re: Dovecot не находит новые папки в maildir

Добавлено: 2008-04-08 9:01:15
sasha181
В том-то и дело, что обновление папок не помогает.
При тестировании использовал Mozilla Thunderbird.
Оутглюк тоже не видит.

Re: Dovecot не находит новые папки в maildir

Добавлено: 2008-04-08 11:41:14
sasha181
В процессе удалось выяснить, что папка всё-таки в списке папок присутствует. только почему то ввиде скрытой.
Т.е. чтобы её увидеть в Mozilla Thunderbird на неё необходимо подписаться, в Outlook Express при обновлении списка папок необходимо выбрать папку спама и нажать кнопку отобразить. Нельзя ли как-то сделать, чтобы она сразу была нескрытой?

Re: Dovecot не находит новые папки в maildir

Добавлено: 2008-04-08 19:33:50
InventoR
Да можно:
1. Написать письмо в тех поддержку.
2. Написать письмо админу с просьбой решить этот баг.

Re: Dovecot не находит новые папки в maildir

Добавлено: 2010-10-15 10:27:44
rustamxp
для dovecot-1.2.14 + Mozilla Thunderbird 3.1.4 решил проблему следующим образом:
в почтовом ящике пользователя на сервере есть файл subscriptions - в этом файле перечислены все папки этого почтового ящика (кроме папки Входящие). в этот файл необходимо добавить имя папки, которая не отображается. Например, для папки Spam, которая находится в папке Входящие, необходимо добавить строку INBOX.Spam

скрипт, который проверяет все ящики на наличие папки Spam и проверяет что бы эта папка была указана в файле subscriptions:

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

#!/usr/local/bin/bash

cd /var/mail/ && ls | while read l
do
	cd /var/mail/$l && ls | while read m
	do
		cd /var/mail/$l/$m &&
		/bin/ls -lA | grep .INBOX.Spam > /dev/null 2>&1
			if [ $? = 0 ]
				then cat subscriptions | grep INBOX.Spam > /dev/null 2>&1
					if [ $? -ne 0 ]
						then	echo INBOX.Spam >> subscriptions
							echo Added link to folder Spam for user $m@$l
					fi
			fi
	done
done

Re: Dovecot не находит новые папки в maildir

Добавлено: 2010-10-15 10:29:47
Alex Keda
эм... а find заюзать - не?
проще немного было бы, помоему

Re: Dovecot не находит новые папки в maildir

Добавлено: 2010-10-15 10:39:33
rustamxp
не знаю... может и проще, но я это увидел в таком виде )))