INTERNALDATE one hour in future for sent message
Jim Brett
jimbrett099 at comcast.net
Wed Jun 28 10:21:02 EDT 2006
INTERNALDATE (hence received date?) one hour in future for sent
message. I realize that a received date on a message in sent folder
doesn't really have meaning but, if a user moves from sent to inbox (or
trash), then clients (including outlook and outlook express) sort by
received date which is consistently one hour in the future which bothers
our QA department.
Version: Cyrus IMAP4 v2.2.12 [ESMTP Postfix (2.2.1) "Brand X"]
I've searched cyrus wiki plus web but haven't found an answer. From
what I can tell, setting of the received date for sent message is in the
sphere of influence of the IMAP server.
Steps to recreate: user sends mail via our telephone user-interface to
themself (resulting in one message each in sent and inbox folder).
telnet to solaris box and select/fetch info. Sent at 11:27 but
INTERNALDATE for sent message is 12:27 (one hour in future). Values for
message in inbox both 11:27.
// Is there some timezone setting/issue that we're missing. This seems
most likely.
Note that INTERNALDATE for sent message ends with "-400" while date in
envelope info ends with "0400 (EDT)". Not sure if doesn't matter, if
there's a cyrus internal timezone setting we need to set/change or
whether, if machine changed from EDT to EST, INTERNALDATE would be
correct for sent mail i.e. would work 6 months per year. <- Update: I
did try that and it works correctly so there is a timezone issue somewhere.
// We're not sure if it's us or if something else isn't involved ...
Though isn't Javamail still responsible for the APPEND to the mail
folder? If so, it could still be to blame.
// Data. Message in question sent at 11:27:45
bash-2.03# telnet localhost 143
>
> Trying 127.0.0.1...
>
> Connected to localhost.
>
> Escape character is '^]'.
>
> * OK computername.com Cyrus IMAP4 v2.2.12 server ready
>
> // login as user
>
> 1 login 5551111 555
>
> 1 OK User logged in
>
> // select sent folder
>
> 2 select inbox.sent-mail
>
> * FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
>
> * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)]
>
> * 1 EXISTS
>
> * 0 RECENT
>
> * OK [UIDVALIDITY 1134760645]
>
> * OK [UIDNEXT 155]
>
> 2 OK [READ-WRITE] Completed
>
> // fetch info on message sent at roughly 11:27
>
> 3 fetch 1:1 (ENVELOPE INTERNALDATE RFC822.size)
>
> * 1 FETCH (INTERNALDATE "22-Jun-2006 12:27:45 -0400" RFC822.SIZE 31441
> ENVELOPE ("Thu, 22 Jun 2006 11:27:45 -0400 (EDT)" "Voicemail"
> (("Jay Bee" NIL "339111 1" "computername.com")) (("Jay Bee"
> NIL "5551111" "computername.com")) ((" Jay Bee" NIL "5551111"
> "computername.com")) (("Jay Bee" NIL "5551111" "
> computername.com")) NIL NIL NIL
> "<15292443.1150990065374.JavaMail.jb at jb -dt>"))
>
> 3 OK Completed (0.000 sec)
>
> // select inbox
>
> 4 select inbox
>
> * FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
>
> * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)]
>
> * 1 EXISTS
>
> * 0 RECENT
>
> * OK [UNSEEN 1]
>
> * OK [UIDVALIDITY 1134760644]
>
> * OK [UIDNEXT 492]
>
> 4 OK [READ-WRITE] Completed
>
> // fetch info on received message sent at roughly 11:27
>
> 5 fetch 1:1 (ENVELOPE INTERNALDATE RFC822.size)
>
> * 1 FETCH (INTERNALDATE "22-Jun-2006 11:27:45 -0400" RFC822.SIZE 31825
> ENVELOPE ("Thu, 22 Jun 2006 11:27:45 -0400 (EDT)" "Voicemail"
> (("Jay Bee" NIL "339111 1" "computername.com")) (("Jay Bee"
> NIL "5551111" "computername.com")) ((" Jay Bee" NIL "5551111"
> "computername.com")) (("Jay Bee" NIL "5551111" "
> computername.com")) NIL NIL NIL
> "<15292443.1150990065374.JavaMail.jb at jb -dt>"))
>
> 5 OK Completed (0.000 sec)
>
> // That's it ...
>
> 6 logout
>
> * BYE LOGOUT received
>
> 6 OK Completed
// - - -
// contents of cyrus.conf
bash-2.03# cat ./usr/local/imapldap/util/cyrus.conf
START {
# do not delete these entries!
mboxlist cmd="ctl_mboxlist -r"
deliver cmd="ctl_deliver -r"
# this is only necessary if using idled for IMAP IDLE
#idled cmd="idled"
}
# UNIX sockets start with a slash and are put into /var/imap/socket
SERVICES {
# add or remove based on preferences
imap cmd="imapd" listen="imap" prefork=0
# imaps cmd="imapd -s" listen="imaps" prefork=0
# pop3 cmd="pop3d" listen="pop3" prefork=0
# pop3s cmd="pop3d -s" listen="pop3s" prefork=0
# sieve cmd="timsieved" listen="sieve" prefork=0
# at least one LMTP is required for delivery
lmtpunix cmd="lmtpd" listen="/var/spool/postfix/public/lmtp"
prefork=1
}
EVENTS {
# this is required
checkpoint cmd="ctl_mboxlist -c" period=30
# this is only necessary if using duplicate delivery suppression
delprune cmd="ctl_deliver -E 3" period=1440
# Uncomment the next entry, if you want to automatically remove
# old messages of EVERY user.
# This example calls ipurge every 60 minutes and ipurge will delete
# ALL messages older then 30 days.
# enter 'man 8 ipurge' for more details
# cleanup cmd="ipurge -d 30" period=60
}
// - - -
// contents of imapd.conf
bash-2.03# cat ./usr/local/imapldap/util/imapd.conf
admins: cyrus
allowanonymouslogin: no
autocreatequota: 10240
reject8bit: no
quotawarn: 90
timeout: 30
poptimeout: 10
hashimapspool: yes
sieveuserhomedir: no
sievedir: /store/spool/sieve
configdirectory: /store/imap
partition-default: /store/spool/imap
sasl_pwcheck_method: saslauthd
mboxlist_db: skiplist
duplicate_db: skiplist
subscription_db: flat
seenstate_db: skiplist
fulldirhash: yes
lmtpsocket: /var/spool/postfix/public/lmtp
#
#tls_cert_file: /usr/ssl/certs/cert.pem
#tls_key_file: /usr/ssl/certs/skey.pem
#tls_ca_file: /usr/ssl/CA/usedCA.pem
#tls_ca_path: /usr/ssl/CA
duplicatesuppression: yes
More information about the Info-cyrus
mailing list