Re: [Dovecot] fallback for proxy?

2007-10-29 Thread Bill Boebel
On Sunday, October 28, 2007 8:32am, Cor Bosman [EMAIL PROTECTED] said:

 Is it possible somehow to configure a fallback for a failed proxy? I am using
 sql based proxying through dovecot, but it would be nice if you can fallback
 to another host if the proxy destination server is down. High availability
 and all..

We do this in our system by having a separate monitoring server update the IP 
in MySQL when a backend server fails.

Bill



Re: [Dovecot] Dovecot strong or not for a big Webmail architecture

2007-08-03 Thread Bill Boebel
On Thu, August 2, 2007 3:06 pm, John fistack [EMAIL PROTECTED] said:

 I know webmail.us use Dovecot, what is the most big dovecot architecture 
 known ?
 Do you think Dovecot can handle 1 million of active users in a good 
 architecture ?

Yep... and we have 500K very active users on it.  We've scaled Dovecot 
horizontally without NFS, just lots of independent Dovecot server intances with 
smart proxy/mail-routing infrastructure around it.  It can easily scale to 
millions of users this way.  Just make sure you throw enough disks at it and 
you'll be fine, with or without NFS.

 Do you think it's a good solution to use one synchronised local Openldap on 
 each
 server Dovecot ?

No.  I'd replicate your ldap database on a few servers that are dedicated to 
that purpose, and on each mail server use Dovecot's auth_cach feature to 
minimize how often it needs to query ldap.
 
 Do you think It's possible to use Postgresql or MySQL instead of Openldap ?

We use MySQL.  MySQL handles frequent writes better than OpenLDAP from our 
experience.  It is also simpler for us to do replication and troubleshooting 
because we employ several MysQL gurus already.

 Are cyrus or courrier-imap better solutions ?

Definitely not courier-imap, because of it's lack of indexes.  Not sure about 
Cyrus.

 Someone say Zimbra is highly scalable and fast, I think Zimbra could be to 
 heavy
 in this architecture, is Dovecot scalable ?

My opinion is Zimbra is too heavy beccause of the way mail is stored on the 
backend.  Dovecot with maildir scales out well, and the promise of dbox mail 
storage format appears that it will make it even more scalable down the road.

Bill




Re: [Dovecot] Missing MIME-Version header in e-mails.

2007-08-01 Thread Bill Boebel
On Wed, August 1, 2007 8:36 pm, Tan Shao Yi [EMAIL PROTECTED] said:

 Will it be possible to make this available in the 1.0 branch? UW-IMAP
 seems to continue to process e-mails without the MIME-Version, so long as
 it has the Content-Type or -Encoding header.

It's an easy patch if you want to apply it to your installation.  Probably 
something like this, although I haven't tried it...

src/lib-mail/message-parser.c @225:
  - if (!hdr-eoh  strcasecmp(hdr-name, Mime-Version) == 0) {
  + //if (!hdr-eoh  strcasecmp(hdr-name, Mime-Version) == 0) {
   /* it's MIME. Content-* headers are valid */
   part-flags |= MESSAGE_PART_FLAG_IS_MIME;
  - }




Re: [Dovecot] v1.1 max connections per user

2007-06-30 Thread Bill Boebel
On Sat, June 30, 2007 7:50 pm, Charles Marcus  said:

 Timo Sirainen, on 6/30/2007 7:25 PM, said the following:
 On Sat, 2007-06-30 at 19:11 -0400, Charles Marcus wrote:
 Timo Sirainen, on 6/30/2007 6:43 PM, said the following:
 v1.1 has now:

 # Maximum number of connections allowed for a user. The limits are enforced
 # separately for IMAP and POP3 connections, so you can move this setting
 # inside protocol {} to have separate settings for them. NOTE: The user 
 names
 # are compared case-sensitively, so make sure your userdb returns usernames
 # always using the same casing so users can't bypass this limit!
 #mail_max_user_connections = 10

 Is 10 a good default?
 I'm assuming this is per IP?

 No. I'm not sure if it should. Perhaps. It's mostly intended to prevent
 unintentional abuse by stupid clients, so having 3+ thunderbirds open in
 different locations with each having 5 connections should probably be
 allowed.
 
 Ok - you said 10 was the default - but then said that 15 (3 TBirds x 5)
 connections should be allowed, which is more than 10... so... you just
 meant that one could accommodate that by upping this limit to 15?

I like 15.  That way it is high and isn't as likely to affect existing 
installations unless they manually set it to something lower.  Or if you want 
to have a separate default for POP vs IMAP, I'd use 5 for POP and 15 for IMAP.



Re: [Dovecot] testing needed: log file concurrency

2007-06-20 Thread Bill Boebel
On Tue, June 19, 2007 7:41 pm, Timo Sirainen [EMAIL PROTECTED] said:

 http://dovecot.org/tmp/concurrency.c
 
 I'd want to know what results this program gives with different systems.
 Please test and reply (but don't bother if someone already replied with
 the same OS+result). I expect it to print:

./concurrency
writing, page size = 4096

./concurrency 1
reading, page size = 4096

Red Hat ES3 (2.4.21-32.0.1.EL) athlon i386




Re: [Dovecot] Replication plans

2007-05-18 Thread Bill Boebel
On Fri, May 18, 2007 1:42 am, Troy Benjegerdes [EMAIL PROTECTED] said:

 I'm going to throw out a warning that it's my feeling that replication
 has ended many otherwise worthwhile projects. Once you go down that
 rabbit hole, you end up finding out the hard way that you just can't
 avoid the stability, performance, complexity, and whatever problems.
 ..
 I've found myself pretty much in the same all roads lead to the
 filesystem situation. I don't want to replicate just imap, I want to
 replicate the build directory with my source code, my email, and my MP3
 files.

One of the problems with the clustered file system approach seems to be that 
accessing Dovecot's index, cache and control files are slow over the network.  
For speed, ideally you want your index, cache and control on local disk... but 
still replicated to another server.

So what about tackling this replication problem from a different angle...  Make 
it Dovecot's job to replicate the index and control files between servers, and 
make it the file system's job to replicate just the mail data.  This would 
require further disconnecting the index and control files from the mail data, 
so that there is less syncing required.  i.e. remove the need to check 
directory mtimes and to compare directory listings against the index; and 
instead assume that the indexes are always correct.  Periodically you could 
still check to see if a sync is needed, but you'd do this must less frequently.

I agree that there are already great solutions available for replicated 
storage, so this would allow us to take advantage of these solutions for the 
bulk of our storage without impacting the speed of IMAP.

Bill



Re: [Dovecot] Replication plans

2007-05-18 Thread Bill Boebel
On Fri, May 18, 2007 1:10 pm, Timo Sirainen [EMAIL PROTECTED] said:

 On Fri, 2007-05-18 at 12:20 -0400, Bill Boebel wrote:
 So what about tackling this replication problem from a different
 angle...  Make it Dovecot's job to replicate the index and control
 files between servers, and make it the file system's job to replicate
 just the mail data.  This would require further disconnecting the
 index and control files from the mail data, so that there is less
 syncing required.  i.e. remove the need to check directory mtimes and
 to compare directory listings against the index; and instead assume
 that the indexes are always correct.  Periodically you could still
 check to see if a sync is needed, but you'd do this must less
 frequently.
 
 This would practically mean that you want either cydir or dbox storage.
 
 This kind of a hybrid replication / clustered filesystem implementation
 would simplify the replication a bit, but all the difficult things
 related to UID conflicts etc. will still be there. So I wouldn't mind
 implementing this, but I think implementing the message content sending
 via TCP socket wouldn't add much more code anymore.
 
 The clustered filesystem could probably be used to simplify some things
 though, such as UID allocation could be done by renaming a uid-next
 uid file. If the rename() succeeded, you allocated the UID, otherwise
 someone else did and you'll have to find the new filename and try again.
 But I'm not sure if this kind of a special-case handling would be good.
 Unless of course I decide to use the same thing for non-replicated
 cydir/dbox.

Dbox definitely sounds promising.  I'd avoid putting this uid-nextuid file in 
the same location as the mail storage though, because if you can truly keep 
mail storage isolated and infrequently accessed, then you can do cool things 
like store your mail data remotely on Amazon S3 or equivalent.




Re: [Dovecot] dbox redesign

2007-05-16 Thread Bill Boebel
On Sat, May 12, 2007 9:10 am, Timo Sirainen [EMAIL PROTECTED] said:

 Fast copying
 
 
 Would be nice if copying a message from one mailbox to another wouldn't
 require actually reading+writing the whole message contents. But I can't
 really figure out how to implement this without requiring that there is
 only a single dbox storage which contains the mails for all the
 mailboxes, and the mailboxes themselves are just Dovecot's index files
 containing pointers to the dbox storage.
 
 The problem with having everything in one storage is that if the index
 files are broken, the messages can't be placed into correct mailboxes
 anymore.
 
 Although one possibility would be treat mailboxes a bit similarly than
 keywords. So that when a message is copied to another mailbox, the
 message in dbox file is updated to contain information that it exists in
 such and such mailboxes. Hmm. Perhaps that would be good enough, yes.
 

Yes, I think treating mailboxes similary to keywords is ideal.  There really is 
no reason to physically separate mailboxes on disk.  All that is needed is this 
logical separation if it can be done in a reliable way.

Or maybe track this in mailbox-specific index files, and also have a 
corespodning text file that stores a list of messages that are contained in 
that mailbox... similar to maildir's dovecot-uidlist file.  Then if you lose 
the index you can rebuild the index from the text file.

Bill



[Dovecot] Sorting by Received vs Sent

2007-05-16 Thread Bill Boebel
Looks like in Cyrus, sorting by Received date is faster than sorting by the 
Sent header date because of the way they use the index and cache files...  
http://www.emaildiscussions.com/showpost.php?p=419246

Is this the case in Dovecot as well?

Bill



Re: [Dovecot] dovecot-auth %c variable is not working

2007-04-20 Thread Bill Boebel
On Thu, April 19, 2007 3:23 pm, Andrey Panin [EMAIL PROTECTED] said:

 On 109, 04 19, 2007 at 12:17:41PM -0400, Bill Boebel wrote:
 In doc/variables.txt

  For dovecot-auth there are also these variables:
 
   %c - secured string with SSL, TLS and localhost connections.
Otherwise empty.

 %c does not appear to be working.  I am trying to use it in a MySQL query 
 userdb
 and passdb query and it is always empty string.
 
 Seems like secured flag isn't passed to blocking passdb handler.
 Can you try attached patch ?
 

This patch indeed fixed it.  Tested with all 4 protocols...

pop3  - %c = ''
pop3s - %c = 'secured'
imap  - %c = ''
imaps - %c = 'secured'

Thanks Andrey!

Bill



Re: [Dovecot] deliver to subfolder with dovecot's LDA

2007-03-16 Thread Bill Boebel
On Fri, March 16, 2007 8:12 pm, Tom Bombadil [EMAIL PROTECTED] said:

 How can deliver messages to a subfolder using the LDA?
 For example, I want a message to [EMAIL PROTECTED] to be placed inside
 the 'spam' subfolder.

$ deliver --help
Usage: deliver [-c config file] [-d destination user] [-m mailbox]
   [-f envelope sender]

So for the example above, you can call it like this:

$ deliver -d [EMAIL PROTECTED] -m spam

To do this from Postfix, /etc/postfix/master.cf:

dovecot   unix  -   n   n   --  pipe
 flags=DRhu user=virtual argv=/usr/libexec/dovecot/deliver -d ${recipient} -f 
${sender} -m ${extension}

However, I think LDA freaks out if you pass -m .  So this might not work when 
there is no +folder.

Timo: Should -m treat empty string as if -m was not passed at all?

Bill