Re: Faster way to import Thunderbird pop emails into dovecot imap Maildirs?

2017-03-01 Thread Steffen Kaiser

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On Wed, 1 Mar 2017, Ian Evans wrote:


I'm sure someone here is going to point me to some eureka moment method of
exporting the thunderbird folders to some format, sftp'ing them to the
server and importing. Just want to be careful that I don't mess up the
current batch of emails on the imap server.


Some time ago Thunderbird was using mbox-style format to store messages 
locally. It this is true today and for your installation, you can try the 
mb2md scripts:


http://wiki2.dovecot.org/Migration/MailFormat

- -- 
Steffen Kaiser

-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEVAwUBWLfFnHz1H7kL/d9rAQL3nwf+JcpXPoGCBFuR+4yrvLy2Xwp0mvEjO/qN
VET4UChEDUa2D6EeFDC59Jmun7YcBRal//Vkc7m+5qnhcRu84BuXe1OBlBD7lAzq
7izYKAgYXGIq1603z0NqsHAmopseo2qbGWUy00LGvqTSBNQV9FzdMYYuaCWWIVu6
FYf/8t2VVScwUhjTtkSNXLQzoxWhtIf5J1hkZHjGyFSMyVH1vcCxn8CwSyowNnbO
vZm3I2tcwAvwghGF0w8F0zhNTG7CmbfZOGaIBKvvEvOgJuGo4Edh7Q2vSKG8LZoe
YoVkZB0QH5/BVGShYnx3T9jyf2beUrlP1VbAPxfVVThJQPh6PFK3UA==
=8cWo
-END PGP SIGNATURE-


Faster way to import Thunderbird pop emails into dovecot imap Maildirs?

2017-03-01 Thread Ian Evans
Until recently, I was using POP on my desktop and imap to access my email
on my phone and laptop. Got tired of not having everything everywhere, so
decided to go full imap.

Followed the suggestions online and created a new imap account for my site
in Thunderbird and copied my pop folders over to the imap ones so that the
emails would get uploaded to the dovecot server and Maildir folders.

That worked for some smaller folders, but in a couple of folders, I have in
excess of 20,000 emails. Thunderbird/Dovecot seems to choke on that,
apparently timing out at some point. I've tried doing about 1000 messages
at a time, but even that is taking more than an hour and I have to be
around for each chunk.

I'm sure someone here is going to point me to some eureka moment method of
exporting the thunderbird folders to some format, sftp'ing them to the
server and importing. Just want to be careful that I don't mess up the
current batch of emails on the imap server.

Thanks for any suggestions.


Re: dovecot-lda crash after upgrade to 2.2.28

2017-03-01 Thread Max Kostikov


Thank you.
This patch is fully solves the problem.

Aki Tuomi писал 2017-03-01 14:02:

On 28.02.2017 20:40, Max Kostikov wrote:

Thank you.
Will be waiting for Dovecot update.

Aki Tuomi писал 2017-02-28 20:34:
On February 28, 2017 at 7:43 PM Max Kostikov  
wrote:



Got it.
Here is full backtrace output.



Would appear the bug is in 'Trash' plugin. We'll open an issue about
this, thank you for reporting this.

Aki




Hi!

We believe this issue is now fixed with

https://github.com/dovecot/core/commit/326fb016a23480e4ff8dcc03dc80e76812859bd6.patch

Aki Tuomi
Dovecot oy


--
With best regards,
Max Kostikov

BBM: 24CA5DF8 | W: https://kostikov.co


Exclude namespace from replication

2017-03-01 Thread George Kontostanos
Hello list,

I am using replication with dsync and I am facing some issues with
shared folders. More particularly expunged message reappearing. I have
searched a bit and it was suggested that shared folders should not be
synced.

My namespace looks like that:

namespace {
  inbox = no
  list = children
  location = 
maildir:/usr/local/vhosts/mail/%%d/%%n:LAYOUT=fs:INDEX=/usr/local/vhosts/indexes/%d/%n/shared/%%u:INDEXPVT=/usr/local/vhosts/indexes/%d/%n/shared/%%u
  prefix = shared/%%d/%%n/
  separator = /
  subscriptions = no
  type = shared
}

I was wondering if defining:

replication_dsync_parameters = -d -N -l 30 -U -x shared

Is enough. Or do I need to change the syntax of the namespace like that:

namespace shared {


type = shared
}

Thanks for your help


Re: Replacement for antispam plugin

2017-03-01 Thread Tanstaafl
On Wed Mar 01 2017 03:11:48 GMT-0500 (Eastern Standard Time), Aki Tuomi
 wrote:
>> But, if the imapsieve is only matching to literal foldernames, should
>> I just duplicate the trigger lines for each type of junk folder or is
>> there a method to have the sieve script enumerate all the options
>> listed by 'special use'  or is there a better method for this? I want
>> to put the spam-mail-filing script as a global sieve script as all
>> users will need it, rather than duplicating out for each user.
>>
> There is no way to match special use folders at the moment, but I like
> the idea.

If by 'match' you mean, basically, a way to define aliases for different
special use folders to a single mailbox name, I suggested this a long
time ago, and love the idea.

Hopefully you'll at least add this to your official 'ToDo' (or 'maybe
ToDo' list?

:) Thanks


dovecot lda bouncing postfix aliases

2017-03-01 Thread Ian Evans
Recently configured postfix to use the dovecot lda as I wanted to use
sieve. Got that working a few days ago but noticed that I wasn't getting
any emails to aliases. Checked the logs and saw messages like:

Mar  1 08:19:59 carson postfix/lmtp[16949]: 0DCD22016BE: to=<
sa...@example.com>, relay=carson.example.com[private/dovecot-lmtp],
delay=0.07, delays=0.01/0.01/0/0.04, dsn=5.1.1, status=bounced (host
carson.example.com[private/dovecot-lmtp] said: 550 5.1.1 
User doesn't exist: sa...@example.com (in reply to RCPT TO command))

Aliases were working previously and are in /etc/postfix/vmaps

Anything I need to check on the dovecot end of things to get dovecot to
recognize postfix aliases?

Thanks...reaching for my morning coffee. Info below:

Dovecot 2.2.9

# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.11.0-19-generic x86_64 Ubuntu 14.04.5 LTS ext4
auth_mechanisms = plain login cram-md5
mail_debug = yes
mail_location = maildir:/home/vmail/%d/%n/Maildir
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
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 = username_format=%u /etc/dovecot/shadow
  driver = passwd-file
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = imap pop3 sieve lmtp
service auth {
  unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
  }
  unix_listener /var/spool/postfix/private/dovecot-auth {
group = postfix
mode = 0660
user = postfix
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
  }
}
ssl_cert =  was automatically rejected:%n%r
}
protocol imap {
  imap_client_workarounds = delay-newmail
  mail_max_userip_connections = 10
}
protocol pop3 {
  mail_max_userip_connections = 10
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}


Re: Expunged message reappeared, giving a new UID

2017-03-01 Thread George Kontostanos
On Wed, Mar 1, 2017 at 3:40 PM, Γιώργος Δημακόπουλος
 wrote:
> Dovecot 2.2.27
>
> dsync-server(account_name): Warning: Maildir
> /usr/local/vhosts/mail/***/info/Sent: Expunged message reappeared,
> giving a new UID (old uid=29787, file=***)
>
> What triggers this replication for ever ??
>
> Thank you
> George

Please find also the doveconf -n

# 2.2.27 (c0f36b0): /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: FreeBSD 11.0-RELEASE-p8 amd64  zfs
auth_mechanisms = plain login
auth_verbose = yes
default_client_limit = 2560
default_process_limit = 512
default_vsz_limit = 1 G
dict {
  acl = mysql:/usr/local/etc/dovecot/dovecot-shared-sql.conf.ext
  quota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
}
doveadm_password =  # hidden, use -P to show it
doveadm_port = 12345
log_path = /var/log/dovecot.log
mail_home = /usr/local/vhosts/mail/%d/%n
mail_location = maildir:/usr/local/vhosts/mail/%d/%n:LAYOUT=fs
mail_max_userip_connections = 70
mail_plugins = quota acl notify replication
mail_privileged_group = vmail
mail_shared_explicit_inbox = yes
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
mbox_write_locks = fcntl
namespace {
  inbox = no
  list = children
  location = 
maildir:/usr/local/vhosts/mail/%%d/%%n:LAYOUT=fs:INDEX=/usr/local/vhosts/indexes/%d/%n/shared/%%u:INDEXPVT=/usr/local/vhosts/indexes/%d/%n/shared/%%u
  prefix = shared/%%d/%%n/
  separator = /
  subscriptions = no
  type = shared
}
namespace inbox {
  inbox = yes
  list = yes
  location =
  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 =
  separator = /
  type = private
}
passdb {
  args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  acl = vfile
  acl_shared_dict = proxy::acl
  mail_replica = tcp:mx
  quota = dict:User quota::proxy::quota
  quota_rule2 = Trash:storage=+100M
  sieve = /usr/local/vhosts/mail/%d/%n/.dovecot.sieve
  sieve_before = /usr/local/vhosts/sieve/before.d/
  sieve_dir = /usr/local/vhosts/mail/%d/%n
  sieve_global_dir = /usr/local/vhosts/sieve/%d
  sieve_global_path = /usr/local/vhosts/sieve/%d/default.sieve
}
protocols = imap lmtp sieve sieve
service aggregator {
  fifo_listener replication-notify-fifo {
mode = 0666
user = vmail
  }
  unix_listener replication-notify {
mode = 0666
user = vmail
  }
}
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 config {
  unix_listener config {
user = vmail
  }
}
service dict {
  unix_listener dict {
mode = 0600
user = vmail
  }
}
service doveadm {
  inet_listener {
port = 12345
  }
  user = vmail
}
service imap-login {
  inet_listener imap {
port = 143
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
  }
}
service managesieve-login {
  inet_listener sieve {
port = 4190
  }
  process_min_avail = 0
  service_count = 1
  vsz_limit = 64 M
}
service replicator {
  unix_listener replicator-doveadm {
mode = 0666
  }
}
ssl_cert = 

Preserve environment variables for doveadm

2017-03-01 Thread Teodor Milkov

Hello,

I noticed there are ways to instruct various dovecot processes to 
preserve particular environment variables.


One way is to use import_environment in dovecot.conf and yet another is 
to export DOVECOT_PRESERVE_ENVS variable – both can contain space 
delimited list of variables to preserve.


I found report that this is supposed to work for dsync: 
http://www.dovecot.org/list/dovecot/2012-October/138659.html


Unfortunately I can't it to work for "doveadm quota recalc".

Is it supposed to work or am I doing something wrong?

I did strace on the doveadm process and noticed it does exec() doveconf 
which in turn does exec() doveadm again. If I replace doveconf with a 
shell script which exports my environment variables then they become 
available to doveadm:


# cat /dovecot/bin/doveconf.wrapper

#!/bin/sh
export LD_PRELOAD='dovecot-preload.so'
exec /dovecot/bin/doveconf.orig "$@"


Expunged message reappeared, giving a new UID

2017-03-01 Thread Γιώργος Δημακόπουλος
Dovecot 2.2.27

dsync-server(account_name): Warning: Maildir
/usr/local/vhosts/mail/***/info/Sent: Expunged message reappeared,
giving a new UID (old uid=29787, file=***)

What triggers this replication for ever ??

Thank you
George


Expunged message reappeared, giving a new UID

2017-03-01 Thread Γιώργος Δημακόπουλος
Please help.

How to stop email replication is on going.

dsync-server : Warning Expunged message reappeared, giving a new UID


Re: dovecot-lda crash after upgrade to 2.2.28

2017-03-01 Thread Aki Tuomi


On 28.02.2017 20:40, Max Kostikov wrote:
> Thank you.
> Will be waiting for Dovecot update.
>
> Aki Tuomi писал 2017-02-28 20:34:
>>> On February 28, 2017 at 7:43 PM Max Kostikov  wrote:
>>>
>>>
>>> Got it.
>>> Here is full backtrace output.
>>>
>>
>> Would appear the bug is in 'Trash' plugin. We'll open an issue about
>> this, thank you for reporting this.
>>
>> Aki
>

Hi!

We believe this issue is now fixed with

https://github.com/dovecot/core/commit/326fb016a23480e4ff8dcc03dc80e76812859bd6.patch

Aki Tuomi
Dovecot oy


Dovecot + SpamAssassin through dovecot-antispam

2017-03-01 Thread Bernard
Hello,

I am new to the list. /Waving at everyone/

I got a basic SpamAssassin working on a Debian setup (w/ debian-spamd
user), running as a Postfix transport.

I am currently trying to switch it to a dovecot plugin in order to make
it interactively work with the email storage (react to mail
classification, being able to train it from already received emails, aso.)
My problem is now making it able to access my emails.

Here is my setup:
userdb {
driver = static
args = uid= gid= home=/var/mail/vhosts/%d/%n
}

passdb {
  driver = passwd-file
args = 
}

mail_location = maildir:~/mail:LAYOUT=fs
mail_privileged_group = vmail

Translating into this on the FS:
drwxrwsr-x root mail /var/mail/
drwxrws--- root vmail /var/mail/vhosts
drwx--S--- vmail vmail /var/mail/vhosts/domain1
drwx--S--- vmail vmail /var/mail/vhosts/domain1/user1
drwx--S--- vmail vmail /var/mail/vhosts/domain1/user2
drwx--S--- vmail vmail /var/mail/vhosts/domain2
drwx--S--- vmail vmail /var/mail/vhosts/domain2/user1

The drwx--S--- access rights are propagated into lower branches/leafs.

I am having a hard time understanding what to do, reading
http://wiki2.dovecot.org/SharedMailboxes/Permissions, to make all the
folders and subsequent files readable by the vmail group too.
Based on this documentation, the way dovecot propagate permissions from
parent folders is a bit cryptic to me. What needs to be done to achieve
that?

The idea would be that even if I decided to allocated per-virtual-user a
system user for stored files, all the files would still be stored and
accessible with the same system group.
I understand this would be done with the help of mail_access_groups =
vmail, right?

FWIW, I am getting inspiration from the following explanations:
https://www.christianroessler.net/tech/2015/spamassassin-dovecot-postfix.html
If I understand correctly, the guy is bypassing the authentication
completely with allow_all_users=yes, right? I do not want to do that anyway.

I hope what I am trying to achieve is clear enough and that I provided
information enough.
Would you help me?
---
Bernard


Re: Replacement for antispam plugin

2017-03-01 Thread Aki Tuomi
Some answers inline.

Aki


On 01.03.2017 00:42, Andy R wrote:
> Greetings to the list :)
>
>
> I've been meaning to ask a couple of questions about the imapsieve for
> antispam.
>
>
> Firstly, I guess that the example at the bottom of the page
> "https://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/IMAPSieve;  is
> meant to link to the new example at
> "https://wiki2.dovecot.org/HowTo/AntispamWithSieve; now?
>
Thanks, fixed.

>
> Also... in "imapsieve_mailboxX_name = ${directory}"  is the string a
> literal, or is it working with the 'special use' flagged directories
> from the xx-mailboxes.conf? I'm asking as though I only have a few
> users to worry about, different mail clients each have their favourite
> special folders. IE thunderbird uses "junk" but one Outlook express
> version likes "Junk E-mail" and I have a different favourite from
> another version of OE too. So in mailboxes.conf I just added extra
> special use lines which seemed to make things happy. Otherwise I ended
> up with the server configured 'spam' folder showing as basic folder,
> and then each client adding it's own chosen spamfolder each time too.
>

It is a mailbox mask, not special use flag.

>
> But, if the imapsieve is only matching to literal foldernames, should
> I just duplicate the trigger lines for each type of junk folder or is
> there a method to have the sieve script enumerate all the options
> listed by 'special use'  or is there a better method for this? I want
> to put the spam-mail-filing script as a global sieve script as all
> users will need it, rather than duplicating out for each user.
>

There is no way to match special use folders at the moment, but I like
the idea.

>
>
> Many thanks ,
>
>
> Andy R
>
>
> On 10/02/2017 09:06, Aki Tuomi wrote:
>> Hi!
>> Since antispam plugin is deprecated and we would really prefer people
>> not to use it, we wrote instructions on how to replace it with
>> IMAPSieve. Comments and suggestions are most welcome.
>>
>> https://wiki.dovecot.org/HowTo/AntispamWithSieve
>>
>> ---
>> Aki Tuomi
>> Dovecot oy
>>