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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
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)
Offline
AFAIR można wyklikać w roundcube/dowolnym kliencie mailowym. A czy z automatu da się ustawić to nie jestem pewien.
Offline
Zwróć uwagę na sformułowanie "wszystkim userom". Coś jeszcze o klikaniu?
Offline
[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)
Offline
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ść?
Offline
Daj wynik polecenia
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)
Offline
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.
Offline
Dobra - zabijcie mnie, nie było pytania, po prostu efekt niedokładnego posprzątania po pewnych przenosinach. Przepraszam za zawracanie głowy.
Offline
[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?
Offline
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.
Offline
Dovecot potrafi automatycznie tworzyć skrzynki maildir.
Np:
ls -l shop ls: nie ma dostępu do shop: Nie ma takiego pliku ani katalogu
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.
ls -ld shop drwx------ 3 vpopmail vpopmail 4096 04-22 14:16 shop
Zainteresuj się tym:
mailbox Archive { auto = subscribe special_use = \Archive }
Cały konfig (kiedy wreszcie wróci serwerek DUG):
# 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)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00013 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00113 | 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='18.119.108.233' WHERE u.id=1 |
0.00128 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.119.108.233', 1732802522) |
0.00059 | SELECT * FROM punbb_online WHERE logged<1732802222 |
0.00115 | DELETE FROM punbb_online WHERE ident='18.216.174.32' |
0.00080 | SELECT topic_id FROM punbb_posts WHERE id=286069 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=27308 ORDER BY posted |
0.00062 | 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.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00202 | 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.00097 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27308 |
Total query time: 0.00884 s |