Re: [Dovecot] Can we know when a user read our email?

2012-05-15 Thread Beto Moreno
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::..

2012-05-15 Thread Alfonso Alejandro Reyes Jimenez
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::..

2012-05-15 Thread Alfonso Alejandro Reyes Jimenez
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::..

2012-05-15 Thread Alfonso Alejandro Reyes Jimenez
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::..

2012-05-15 Thread Timo Sirainen
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

2012-05-15 Thread John G
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

2012-05-15 Thread Kaya Saman
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

2012-05-15 Thread Wouter de Geus
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

2012-05-15 Thread Lazy
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

2012-05-15 Thread Timo Sirainen
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?

2012-05-15 Thread Joseph Tam

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