Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2015-04-20 09:00:07

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

[SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

Witam.

Taki drobny problemik: potrzebuję zrobic system, który mi okresowo będzie przenosił wszystkim userom maile starsze niż X dni z INBOX i INBOX.Sent do archiwów rocznych (typu INBOX.Archiwum.2014). Znalazłem odpowiednią opcję dla doveadma - niestety, olewa on równym strumieniem użytkowników wirtualnych HGW WHY.

Pytanko: ktoś ma jakiś sprawdzony sposób na coś takiego czy muszę to ręcznie w Pythonie wyrzeźbić?

Ostatnio edytowany przez ethanak (2015-04-22 07:33:52)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#2  2015-04-20 09:47:12

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

AFAIR można wyklikać w roundcube/dowolnym kliencie mailowym. A czy z automatu da się ustawić to nie jestem pewien.


LRU: #472938
[b]napisz do mnie:[/b] ola@mojmail.eu
[url=http://valhalla.org.pl]Hołmpejdż[/url] | [url=http://valhalla.org.pl/foto]Galerie[/url] | [url=http://valhalla.org.pl/tech]"Twórczość"[/url] || [url=http://img.munn.in]Free Image Hosting[/url]

Offline

 

#3  2015-04-20 09:52:07

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

Zwróć uwagę na sformułowanie "wszystkim userom". Coś jeszcze o klikaniu?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#4  2015-04-20 09:56:30

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

[quote=ethanak]Zwróć uwagę na sformułowanie "wszystkim userom". Coś jeszcze o klikaniu?[/quote]
Lista użytkowników (z sql albo pliku) i pętla używająca  [b]doveadm[/b] do roboty.
http://wiki2.dovecot.org/Tools/Doveadm/Move

I szukanie śmieci do dopasowania:
http://wiki2.dovecot.org/Tools/Doveadm/SearchQuery

PS
Jeśli olewa userów wirtualnych, to logi, Dovecot w ogóle nie powinien się interesować, czy pacjent jest żywy czy wirtualny, on  ma się tylko pocztą zajmować.

Ostatnio edytowany przez Jacekalex (2015-04-20 10:02:28)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2015-04-20 11:52:26

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

no i tak chciałem zrobić ale dostaję "user not found". czego w tych logach szukać, możesz mnie lekko nakierować, bo akurat dovecot to nie moja specjalność?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#6  2015-04-20 12:29:56

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

Daj wynik polecenia

Kod:

doveadm {komenda} -D -u {pacjent} {co tam dokładnie  chcesz zrobić}

i napisz conieco o serwerze, np czy  pacjenci siedzą w bazie {My|Postgre}sql,
czy w PAM, czy w LDAPie, albo może we [url=http://pl.wikipedia.org/wiki/Zak%C5%82ad_Karny_Wronki]Wronkach[/url], i skąd Dovecot wie,
gdzie są skrzynki pocztowe?

Konfig Dovecota też nie zawadzi w razie czego.

W ogóle trzymanie na serwerze użyszkodników systemowych, to strzał w stopę z armaty, ja  zawsze daję wsio na wirtualnych, dzięki temu mam maile wszystkich pacjentów w jednym miejscu, łatwiejszy backup i święty spokój.

Ostatnio edytowany przez Jacekalex (2015-04-20 12:36:00)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2015-04-20 23:10:28

  milyges - inż.

milyges
inż.
Skąd: Gorlice/Kraków
Zarejestrowany: 2006-04-09
Serwis

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

Directadmin konfiguruje serwer tak aby trzymał listę kont pocztowych w plikach tekstowych, a konkretnie w:
/etc/virtual/nazwadomeny.tld/passwd

Do tego każde konto hostingowe dostaje jednego użytkownika systemowego.


[url=http://mhroczny.net][b]strona domowa[/b][/url] || [url=http://dug.net.pl][b]polski portal debiana[/b][/url]

Offline

 

#8  2015-04-22 07:33:25

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

Dobra - zabijcie mnie, nie było pytania, po prostu efekt niedokładnego posprzątania po pewnych przenosinach. Przepraszam za zawracanie głowy.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#9  2015-04-22 09:28:19

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

[quote=ethanak]Dobra - zabijcie mnie, nie było pytania, po prostu efekt niedokładnego posprzątania po pewnych przenosinach. Przepraszam za zawracanie głowy.[/quote]
Zabijać raczej nie będziemy, ale wyjaśnij, dlaczego nie pochwaliłeś się działającym rozwiązaniem?


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#10  2015-04-22 11:42:42

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

bo na razie wiem (a przynajmniej mam taką nadzieję) jak to zrobić, ale skryptu jeszcze nie napisałem. jeśli to kogoś będzie interesować to opublikuję gotowy skrypt.
na razie mam jeszcze problem z automatycznym tworzeniem mailboxów z archiwami, ale to sprawa do rozwiązania.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#11  2015-04-22 14:21:18

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: [SOLVED][dovecot+directadmin] Automatyczna archiwizacja starych maili

Dovecot potrafi automatycznie tworzyć skrzynki maildir.

Np:

Kod:

ls -l shop
ls: nie ma dostępu do shop: Nie ma takiego pliku ani katalogu

Kod:

swaks -au dp@dmona.tld -ap {hasełko} -f dp@domena.tld -t shop@domena.tld -s box -tls -p 587
...
 ~> .
<~  250 2.0.0 Ok: queued as 02B626F95F
 ~> QUIT
<~  221 2.0.0 Bye
=== Connection closed with remote host.

Kod:

ls -ld shop
drwx------ 3 vpopmail vpopmail 4096 04-22 14:16 shop

Zainteresuj się tym:

Kod:

mailbox Archive {
        auto = subscribe
        special_use = \Archive
    }

Cały konfig (kiedy wreszcie wróci serwerek DUG):

Kod:

# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.15.5-gr1 x86_64 Gentoo Base System release 2.2 ext4
auth_default_realm = domena.tld
auth_mechanisms = plain login cram-md5 digest-md5
# auth_debug=yes
# mail_debug = yes
postmaster_address = postmaster@domena.tld
protocols = imap lmtp sieve pop3

base_dir = /var/run/dovecot/
default_internal_user = vpopmail
default_login_user = vpopmail
first_valid_gid = 89
first_valid_uid = 89
info_log_path = /var/log/dovecot/dovecot.log
last_valid_gid = 89
last_valid_uid = 89
listen = *
# log_path = /var/log/dovecot/dovecot-mail.log
login_log_format_elements = pl
mail_location = maildir:/home/domains/%d/%n/.maildir
mail_privileged_group = vpopmail
mail_uid = 89
mail_gid = 89
mail_plugins = sieve quota acl expire

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 ihave spamtest spamtestplus

passdb {
  args = /etc/dovecot/dovecot-sqlx.conf
  driver = sql
}


namespace {
    type = private
    separator = /
     prefix = 
    inbox = yes

    mailbox Sent {
        auto = subscribe
        special_use = \Sent
    }
    mailbox Drafts {
        auto = subscribe
        special_use = \Drafts
    }
    mailbox Archive {
        auto = subscribe
        special_use = \Archive
    }
    mailbox Trash {
        auto = subscribe
        special_use = \Trash
    }
    mailbox Junk {
        auto = subscribe
        special_use = \Junk
    }
}



plugin {
  quota = maildir:User quota
  quota_rule2 = Trash:storage=+10%%
  quota_rule3 = Spam:storage=+20%%
  quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95
  quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80
  sieve = /home/domains/%d/%n/.dovecot.sieve 
  sieve_default = /etc/dovecot/sieve/default.sieve
  sieve_after = /etc/dovecot/sieve/after.sieve
  sieve_before = /etc/dovecot/sieve/before.sieve
  sieve_dir = /home/domains/%d/%n/sieve
  sieve_extensions = +spamtest +spamtestplus +relational +comparator-i;ascii-numeric
  sieve_global_dir = /etc/dovecot/sieve
   
  sieve_vacation_min_period = 0
  sieve_vacation_default_period = 1h
  sieve_vacation_max_period = 0 
  expire = Trash
  expire2 = Trash/*
  expire3 = Junk
  expire4 = Junk/*  
  expire_dict = proxy::expire
  
}


dict {
  quote = mysql:/etc/dovecot/quota-sql.conf
  expire = mysql:/etc/dovecot/expire-sql.conf
}



#service aggregator {
#  fifo_listener replication-notify-fifo {
#    user = dovecot
#  }
#  unix_listener replication-notify {
#    user = dovecot
#  }
#}

service dict {
  unix_listener dict {
    mode = 0600
    user = dovecot
  }
}


service auth-worker {
  user = vpopmail
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    group = vpopmail
    mode = 0666
    user = vpopmail
  }
  unix_listener auth-userdb {
    group = vpopmail
    mode = 0666
    user = vpopmail
  }
}
service doveadm {
  inet_listener {
    port = 9346
    ssl = yes
  }
}
service imap-login {
  chroot = login
  client_limit = 32
  process_limit = 32
  process_min_avail = 2
  service_count = 1
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service managesieve-login {
  chroot = login
  client_limit = 64
  process_limit = 64
  process_min_avail = 2
  service_count = 1
}
service pop3-login {
  chroot = login
  client_limit = 32
  inet_listener pop3 {
    port = 0
  }
  process_limit = 32
  process_min_avail = 2
  service_count = 1
}
# service replicator {
#  process_min_avail = 1
#  unix_listener replicator-doveadm {
#    mode = 0600
#  }
#}
ssl_ca = </etc/ssl/dovecot/dovecotCA.crt
ssl_cert = </etc/ssl/dovecot/dovecot.pem
ssl_key = </etc/ssl/dovecot/dovecot.pem
ssl_verify_client_cert = yes
ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL

userdb {
  args = /etc/dovecot/dovecot-sqlx.conf
  driver = sql
}
protocol imap {
  imap_id_log = imapd
  imap_idle_notify_interval = 10 mins
  imap_logout_format = bytes=%i/%o
  imap_max_line_length = 16 k
  mail_plugins = quota imap_quota acl
  ssl = yes
  ssl_verify_client_cert = yes
}
protocol pop3 {
  mail_plugins = quota acl
  pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
  pop3_uidl_format = %08Xu%08Xv
  ssl = yes
  ssl_verify_client_cert = yes
}
protocol lda {
  auth_socket_path = /var/run/dovecot/auth-userdb
  hostname = domena.tld
  info_log_path = /var/log/dovecot/lda-dovecot.log
  lda_original_recipient_header = yes
  log_path = /var/log/dovecot/lda-dovecot.log
  mail_plugins = sieve quota acl
  postmaster_address = postmaster@domena.tld
  quota_full_tempfail = yes
  rejection_reason = Your message to <%t> was automatically rejected:%n%r
  rejection_subject = Rejected: %s
  sendmail_path = /usr/sbin/sendmail
}
protocol lmtp {
  auth_socket_path = /var/run/dovecot/auth-userdb
  hostname = domena.tld
  info_log_path = /var/log/dovecot/lmtp-dovecot.log
  log_path = /var/log/dovecot/lmtp-dovecot.log
  mail_plugins = sieve quota acl
  postmaster_address = postmaster@domena.tld
  quota_full_tempfail = yes
  rejection_reason = Your message to <%t> was automatically rejected:%n%r
  rejection_subject = Rejected: %s
  sendmail_path = /usr/sbin/sendmail
}

SOA#1

Pozdro
;-)

Ostatnio edytowany przez Jacekalex (2015-04-22 14:24:15)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.011 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00141 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.21.159.223' WHERE u.id=1
0.00086 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.21.159.223', 1732801729)
0.00049 SELECT * FROM punbb_online WHERE logged<1732801429
0.00095 DELETE FROM punbb_online WHERE ident='85.208.96.205'
0.00061 SELECT topic_id FROM punbb_posts WHERE id=286066
0.00005 SELECT id FROM punbb_posts WHERE topic_id=27308 ORDER BY posted
0.00054 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27308 AND t.moved_to IS NULL
0.00007 SELECT search_for, replace_with FROM punbb_censoring
0.00211 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27308 ORDER BY p.id LIMIT 0,25
0.00087 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27308
Total query time: 0.00812 s