Re: [Dovecot] Can we know when a user read our email?
On Mon, May 14, 2012 at 5:54 PM, Stan Hoeppner s...@hardwarefreak.com wrote: On 5/14/2012 7:18 PM, Beto Moreno wrote: This feature I'm speaking is users from the same domain not externals domains. Maybe is a Exchange feature I don't know because I have seen the email client but just the client side and don't have any contact with the IT side. I've only seen this feature in MS Exchange. It may also exist in Notes and GroupWise. These are the primary 3 corporate (i.e. PAID) groupware platforms. As they serve the office drone masses they apparently need such a feature. Consider this scenario: Guys at the water cooler play a sick joke telling a gullible fellow drone that he's been fired. Drone believes it, emails an inflammatory letter of resignation to his boss before packing his things. Just after he hits send the guys tell him it was a joke... This unsend feature was created to protect idiots from themselves, nothing more. Which is why the IETF draft went nowhere. You can only fix some types of human stupidity with software. This is not one of them. -- Stan hahahaha ok. Thanks all of u guys for your input, I will forget this, thanks again!!!
Re: [Dovecot] ..::MBOX ISSUE::..
Thanks I did it that way and it still download all the mboxes :( but only with imail. You cant see those emails but you still can see the mboxes. Regards. On 5/15/12 8:58 AM, Timo Sirainen wrote: You shouldn't have removed the mail_location = part. On 15.5.2012, at 16.41, Alfonso Alejandro Reyes Jimenez wrote: Thanks for your advice, I tried changing the configuration but I got the following error: /conf.d/10-mail.conf line 31: Unknown setting: mbox:~/mail:INBOX Is there anything else I can do? Regards. Alfonso. On 5/14/12 10:56 AM, Timo Sirainen wrote: On Fri, 2012-05-11 at 08:29 -0500, Alfonso Alejandro Reyes Jimenez wrote: mail_location = mbox:/var/spool/mail/:INBOX=/var/spool/mail/%u This just isn't going to work. You're now specifying that all of the users' folders are in a common /var/spool/mail directory. You need to figure out something else. Common configs are e.g.: mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u or: mail_location = mbox:/var/spool/mail-folders/%u:INBOX=/var/spool/mail/%u
Re: [Dovecot] ..::MBOX ISSUE::..
There are no home directory for those users, I think I should start with that information. Regards. On 5/15/12 9:06 AM, Alfonso Alejandro Reyes Jimenez wrote: Thanks I did it that way and it still download all the mboxes :( but only with imail. You cant see those emails but you still can see the mboxes. Regards. On 5/15/12 8:58 AM, Timo Sirainen wrote: You shouldn't have removed the mail_location = part. On 15.5.2012, at 16.41, Alfonso Alejandro Reyes Jimenez wrote: Thanks for your advice, I tried changing the configuration but I got the following error: /conf.d/10-mail.conf line 31: Unknown setting: mbox:~/mail:INBOX Is there anything else I can do? Regards. Alfonso. On 5/14/12 10:56 AM, Timo Sirainen wrote: On Fri, 2012-05-11 at 08:29 -0500, Alfonso Alejandro Reyes Jimenez wrote: mail_location = mbox:/var/spool/mail/:INBOX=/var/spool/mail/%u This just isn't going to work. You're now specifying that all of the users' folders are in a common /var/spool/mail directory. You need to figure out something else. Common configs are e.g.: mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u or: mail_location = mbox:/var/spool/mail-folders/%u:INBOX=/var/spool/mail/%u
Re: [Dovecot] ..::MBOX ISSUE::..
Thanks for your advice, I tried changing the configuration but I got the following error: /conf.d/10-mail.conf line 31: Unknown setting: mbox:~/mail:INBOX Is there anything else I can do? Regards. Alfonso. On 5/14/12 10:56 AM, Timo Sirainen wrote: On Fri, 2012-05-11 at 08:29 -0500, Alfonso Alejandro Reyes Jimenez wrote: mail_location = mbox:/var/spool/mail/:INBOX=/var/spool/mail/%u This just isn't going to work. You're now specifying that all of the users' folders are in a common /var/spool/mail directory. You need to figure out something else. Common configs are e.g.: mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u or: mail_location = mbox:/var/spool/mail-folders/%u:INBOX=/var/spool/mail/%u
Re: [Dovecot] ..::MBOX ISSUE::..
You shouldn't have removed the mail_location = part. On 15.5.2012, at 16.41, Alfonso Alejandro Reyes Jimenez wrote: Thanks for your advice, I tried changing the configuration but I got the following error: /conf.d/10-mail.conf line 31: Unknown setting: mbox:~/mail:INBOX Is there anything else I can do? Regards. Alfonso. On 5/14/12 10:56 AM, Timo Sirainen wrote: On Fri, 2012-05-11 at 08:29 -0500, Alfonso Alejandro Reyes Jimenez wrote: mail_location = mbox:/var/spool/mail/:INBOX=/var/spool/mail/%u This just isn't going to work. You're now specifying that all of the users' folders are in a common /var/spool/mail directory. You need to figure out something else. Common configs are e.g.: mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u or: mail_location = mbox:/var/spool/mail-folders/%u:INBOX=/var/spool/mail/%u
[Dovecot] Re : [Plugin dev] First-time-only cache lock failure
Thanks a lot for the clarifications. I'm now using an extension to store my uint32_t UID and it works properly. De : Timo Sirainen t...@iki.fi À : John G john_...@ymail.com; Dovecot Mailing List dovecot@dovecot.org Envoyé le : Lundi 14 mai 2012 18h45 Objet : Re: [Dovecot] [Plugin dev] First-time-only cache lock failure On Mon, 2012-05-14 at 17:17 +0100, John G wrote: Hi This is a question related to plugin developement on Dovecot 2.1.4. I'm currently implementing a dovecot plugin that retrieves mails from a corporate server through an internal protocol. The plugin is very similar to the pop3c storage (lib-storage/index/pop3c). The plugin has to map original server UIDs to IMAP UIDs, using MAIL_CACHE_POP3_UIDL cache field the same way pop3c does. So, I've got a function similar to pop3c_sync_messages(), performing several mail_index_append() and mail_cache_add() calls. The problem is that on the first sync, when the index and cache files don't exist yet, there's a failure writing data in cache. The call to mail_index_sync_commit()\mail_cache_transaction_commit() fails because of mail_cache_transaction_lock(). The index and cache files are properly created, but the cache doesn't contain the MAIL_CACHE_POP3_UIDL values. It works properly on the second sync, the MAIL_CACHE_POP3_UIDL field being properly saved. Would you have some ideas on what could be wrong here? I'm not entirely sure what the problem is with cache file, but you shouldn't use cache file anyway for this purpose if you want it to work reliably. Cache file's contents can disappear in some situations. pop3c shouldn't do it either, but it doesn't have to be very reliable :) If the original server UIDs are of fixed length (or have a reasonable maximum length), add the UIDs to dovecot.index file itself by registering an extension. For example see how mdbox's mdbox extension that creates struct mdbox_mail_index_record for each mail. If the original server UIDs are variable length, you can create a separate mapping file similar to Maildir's dovecot-uidlist.
[Dovecot] Authentication with AD and quick mbox question
Hi, I'm attempting to implement Dovecot 2.1.3 built on a FreeBSD 8.2 64 bit system from ports. I had the servicve up and running on a local vbox demo which did a very simple Maildir format sytem which was situated in ~/Maildir. I would now like to expand the system and tie it to a Windows domain. What is the best way to go about doing this? Can Dovecot be directly tied in or do I need to tie the server in to the domain? This is my current dovecot.conf file - which of course I will tweak but as I am currently in the stage of building this is what I have so far: protocols = imap # It's nice to have separate log files for Dovecot. You could do this # by changing syslog configuration also, but this is easier. log_path = /var/log/dovecot.log info_log_path = /var/log/dovecot-info.log # Disable SSL for now. ssl = no disable_plaintext_auth = no # We're using Maildir format #mail_location = maildir:~/Maildir mail_location = mbox:/mail:INBOX=/mail/%u # If you're using POP3, you'll need this: #pop3_uidl_format = %g # Authentication configuration: auth_verbose = yes auth_mechanisms = plain passdb { driver = passwd-file args = /usr/local/etc/dovecot/passwd } userdb { # driver = static # args = uid=root gid=root home=/root/ driver = static args = uid=500 gid=500 home=/ZPOOL_1/%u } Is this correct to use mbox++ format and store under /mail/%u ?? Can anybody give me some advice? Regards, Kaya
[Dovecot] Maildir filename has wrong S value
Hello folks, This morning I tried to open an old archive mail folder using Mutt. However, while fetching headers it aborted. Checking the dovecot log gave me this: @40004fb21996267d37d4 imap(benv): Error: Cached message size smaller than expected (9115 9420) @40004fb21996267e8bac imap(benv): Error: Maildir filename has wrong S value, renamed the file from /home/vpopmail/domains/benv.junerules.com/benv/Maildir/.Old.2009/cur/1260395566.28175.black,S=9115:2,S to /home/vpopmail/domains/benv.junerules.com/benv/Maildir/.Old.2009/cur/1260395566.28175.black,S=9420:2,S @40004fb21996267e937c imap(benv): Error: Corrupted index cache file /home/vpopmail/domains/benv.junerules.com/benv/Maildir/.Old.2009/dovecot.index.cache: Broken physical size for mail UID 294 @40004fb21996267eaaec imap(benv): Error: read(/home/vpopmail/domains/benv.junerules.com/benv/Maildir/.Old.2009/cur/1260395566.28175.black,S=9115:2,S) failed: Input/output error (uid=294) @40004fb219962680683c imap(benv): Info: Disconnected: Internal error occurred. Refer to server log for more information. [2012-05-15 10:53:32] in=6503 out=192718 I've retried opening this folder several times, but each time Dovecot only fixes 1 file and then aborts. (the folder apparently has a lot more files with incorrect sizes). My question here is: Why does dovecot abort? Isn't the issue fixed after the rename? Also: The files are not corrupted or unreadable, reading them through the commandline works fine. I've looked through my backups and saw that at least half a year ago this mismatch in size was already present. I've been running dovecot for quite a while, so the cause of this size mismatch might very well be a issue in an older version of dovecot / my configuration. Right now I'm running dovecot 2.1.6, but I've been running the v1.2 version for quite a while before that. Is this something that can be improved in dovecot so it doesn't abort after 1 rename? (of course I could script a rename operation, but that seems like a workaround to me) Thanks for reading. Wouter. My current configuration: = # 2.1.6: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32.32-g3d14ce7 x86_64 Slackware 11.0.0 base_dir = /var/run/dovecot2/ disable_plaintext_auth = no first_valid_uid = 89 info_log_path = /dev/stderr last_valid_uid = 89 log_path = /dev/stderr log_timestamp = mail_debug = yes mail_location = maildir:~/Maildir mail_max_userip_connections = 50 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 e nvironment mailbox date namespace { inbox = yes location = prefix = INBOX. separator = . type = private } passdb { driver = vpopmail } plugin { autocreate = INBOX.Spam quota = maildir sieve = ~/.sieve/dovecot.sieve sieve_dir = ~/.sieve sieve_global_dir = /etc/dovecot/sieve/ sieve_subaddress_sep = -+ } protocols = imap pop3 sieve service auth { unix_listener auth-master { group = vchkpw mode = 0660 } unix_listener auth-userdb { group = vchkpw mode = 0660 } } service imap-login { inet_listener imap { address = [::] * port = 143 } inet_listener imaps { address = [::] * port = 993 } process_limit = 256 process_min_avail = 3 service_count = 1 user = dovecot } service managesieve-login { process_limit = 256 process_min_avail = 3 service_count = 1 user = dovecot } service pop3-login { inet_listener pop3 { address = [::] * port = 110 } inet_listener pop3s { address = [::] * port = 995 } process_limit = 256 process_min_avail = 3 service_count = 1 user = dovecot } ssl_cert = /var/qmail/control/servercert.pem ssl_cipher_list = ALL:!LOW ssl_key = /var/qmail/control/servercert.pem userdb { driver = vpopmail } verbose_proctitle = yes protocol lda { hostname = mail.benv.junerules.com info_log_path = /var/log/dovecot/dovecot2-deliver.log log_path = /var/log/dovecot/dovecot2-deliver-errors.log mail_plugins = sieve postmaster_address = postmas...@benv.junerules.com sendmail_path = /var/qmail/bin/sendmail } protocol imap { imap_max_line_length = 64 k mail_plugins = quota imap_quota autocreate } protocol pop3 { mail_plugins = quota autocreate pop3_no_flag_updates = no pop3_uidl_format = %v-%u } =
[Dovecot] [PATCH] dovecot-lda with expire plugin segfaults if dict failed
Program received signal SIGSEGV, Segmentation fault. 0x7f1975cccdee in expire_mailbox_transaction_commit (t=value optimized out, changes_r=value optimized out) at expire-plugin.c:169 169 } else if (strcmp(value, 0) == 0) { (gdb) bt #0 0x7f1975cccdee in expire_mailbox_transaction_commit (t=value optimized out, changes_r=value optimized out) at expire-plugin.c:169 #1 0x7f1975ed9bdf in quota_mailbox_transaction_commit (ctx=0x659ce0, changes_r=0x7fff94908070) at quota-storage.c:94 #2 0x7f197775dafd in mailbox_transaction_commit_get_changes (_t=value optimized out, changes_r=0x7fff94908070) at mail-storage.c:1491 #3 0x7f197775db3e in mailbox_transaction_commit (t=0x60d330) at mail-storage.c:1474 #4 0x7f1975885ff7 in act_store_commit (action=value optimized out, aenv=0x6523f0, tr_context=0x652588, keep=0x7fff9490812f) at sieve-actions.c:665 #5 0x7f197587d79b in sieve_result_execute (result=value optimized out, keep=value optimized out) at sieve-result.c:1156 #6 0x7f197588dca6 in sieve_execute (sbin=value optimized out, msgdata=value optimized out, senv=value optimized out, ehandler=value optimized out, flags=value optimized out, keep=0x0) at sieve.c:475 #7 0x7f1975ac9a43 in lda_sieve_singlescript_execute (mdctx=0x7fff949085a0, storage_r=value optimized out) at lda-sieve-plugin.c:433 #8 lda_sieve_run (mdctx=0x7fff949085a0, storage_r=value optimized out) at lda-sieve-plugin.c:657 #9 lda_sieve_deliver_mail (mdctx=0x7fff949085a0, storage_r=value optimized out) at lda-sieve-plugin.c:796 #10 0x7f19779df685 in mail_deliver (ctx=0x7fff949085a0, storage_r=0x7fff94908518) at mail-deliver.c:389 #11 0x0040349c in main (argc=5, argv=0x60ca30) at main.c:454 this makes the error go away --- dovecot-2.1.5.orig/src/plugins/expire/expire-plugin.c 2012-05-15 14:52:24.004189104 +0200 +++ dovecot-2.1.5/src/plugins/expire/expire-plugin.c2012-05-15 14:53:03.472187894 +0200 @@ -166,7 +166,7 @@ /* first time saving here with expire enabled */ first_save_timestamp(box, new_stamp); update_dict = TRUE; - } else if (strcmp(value, 0) == 0) { + } else if (ret 0 strcmp(value, 0) == 0) { /* we're saving the first mail to this mailbox. ioloop_time may not be exactly the first message's save time, but a few seconds -- Michal Grzedzicki dovecot-2.1.5-expire.diff Description: Binary data
[Dovecot] plugin: Don't allow deleting the last instance of a mail
Before beginning to code it, does anyone have any related ideas that could be useful before starting it? Mainly what I'm intending to do is to write a plugin for mdbox storage that allows users to expunge mails in a specific namespace only if there are other instances for the mail. So basically: * Users can't accidentally delete mails (in shared mailboxes) * Users can still move mails within folders For v2.1 this can be implemented only to a specific storage backend, so at least for now only mdbox will support it. Maildir and sdbox support would also be possible by looking at hard link counts. Race conditions would allow deleting the mails, but that's unlikely to be an issue since the main point is to avoid accidental deletions that shouldn't be attempted in the first place anyway.
Re: [Dovecot] Can we know when a user read our email?
On Tue, 15 May 2012, Stan Hoeppner writes This unsend feature was created to protect idiots from themselves, nothing more. Which is why the IETF draft went nowhere. You can only fix some types of human stupidity with software. This is not one of them. I thought someone could make money coming up with an unsend and untwitter service that all it does is to queue the outgoing message for 5 minutes, during which the sender can re-consider and remove it from the queue. Sorot of like the kill-switch for live broadcasts. But as the saying goes, you can't make things foolproof, as they keep making better fools. As to the OP trying to determine whether an Email message has been read, an indirect and imperfect technique, used by spammers and marketing critters, is to web bug http://en.wikipedia.org/wiki/Web_bugs It works by placing innocuous individualized tags in HTML formatted Email e.g. img src=http://your.domain/?id={hash} that downloads a 1x1 dot). You can then correlate web logs with the hashes to see which messages got rendered. A hit does not necessarily mean it got read, and the absense does not mean it was ignored, but it's better than nothing. If you value your privacy, turn off HTML rendering on your Email reader. Joseph Tam jtam.h...@gmail.com