Operating System - Tru64 Unix
1819721 Members
3092 Online
109606 Solutions
New Discussion юеВ

cyrus-imap deliver

 
SOLVED
Go to solution
Leyrat
Occasional Advisor

cyrus-imap deliver

Hello,

I use cyrus 1.6.24 and sendmail 8.12.11 provided by Internet Express 6.3.
As I want to suppress the multiple delivery of messages to the recipients of a list when a mailbox is unavailable (over quota for example),
my sendmail.cf file contains:
Mimap, P=/usr/cyrus/bin/deliver, F=nsmFDMSu@w, S=10/50, R=20/40, A=deliver -e $u

Generally, the -e options works fine, and I observe many dupelim lines with the message-id in the mail logs.

But in a few cases, the dupelim does not works, and the recipients receive a lot of identical message.
This occurs when the message has both a message-id and a resent-message-id header.

I did a google search and encountered a deliver.c with a reference to resent-message-id header on http://www.mit.edu/afs/sipb.mit.edu/project/imaptools/src/cyrus-imapd-1.6.24/imap/deliver.c

which is quite different from the deliver.c extracted of Internet Express sources CD, which does not refer to this header.

Thank you for your help to solve this problem.

Jacques
7 REPLIES 7
James Seagraves
New Member

Re: cyrus-imap deliver

Hi Jacques

The Internet Express version of Cyrus/IMAP
should newer than what is on the MIT
machine. There is re-send logic in
lmtpengine.c (2.2.10). The next release
uses lmtp for local delivery.


What machine is sending the duplicates? Is
it sendmail on the local machine or
is there something else driving the
mail delivery duplicates (such as
a Microsoft Exchange server elsewhere).

What error msgs are in the sendmail log?

What error msgs are in the cyrus log?

thanks
Jim

Leyrat
Occasional Advisor

Re: cyrus-imap deliver

Hi Jim,

Yes it needs more details.

There is no error neither from sendmail nor from cyrus in the logs of the Tru64 machines (it is a cluster).
When it works as I want (with elimination of duplicated message) i have a "deliver dupelim" log which refers to the message-id-header.
But when there is both a message-id-header and a resent-message-id-header there is no duplication elimination.
All the incoming messages come from a Linux frontend box with Postfix.
I tried to schematize what it occurs in the attached file.
I hope this is clear enough.

Thanks.

Jacques
James Seagraves
New Member

Re: cyrus-imap deliver

Hi

The IX kit should have had two source files
instead of one: one for the 1.6 Cyrus release
and the other for the 2.0 release. We
included both. Only the 2.0 tar file is
on the kit.

I don't remember whether the 1.6 or 2.0
version handles the resent message id. I
will check the source and update this note
later. The message-id should be enough
information to id the duplicates.

Jim
James Seagraves
New Member

Re: cyrus-imap deliver


In the case where the messages have
a message id and a resend id, are
the each set of identifiers identical
for the duplicate case that is not being
caught and suppressed properly ?

message-id: msg1
message-id: msg1 resend-id:a
message-id: msg1 resend-id:a

or is it
message-id: msg1
message-id: msg1 resend-id:a
message-id: msg1 resend-id:b

?

Leyrat
Occasional Advisor

Re: cyrus-imap deliver

I am not sure to understand well your question.
Do you mean that I must verify if the msg-id header and the resent-msg-id header are identical for each recipient ?
James Seagraves
New Member
Solution

Re: cyrus-imap deliver

Hi

2 questions -- when the message is
repeated, is there one original and
one duplicate?


Second question, what does the imapd.conf
file contain?

There should be lines like this (with
other comments) :

duplicate_db: skiplist
duplicatesuppression: 1
# If enabled, lmtpd will suppress delivery
# of a message to a mailbox if a message
# with the same message-id (or
# resent-message-id) is recorded as having
# already been delivered to the mailbox.
# Records the mailbox and
# message-id/resent-message-id of all
# successful deliveries.

Also, there are differences between the
old and newer versions of Cyrus/IMAP in the
imap/deliver.c code that handles the
resent-message-id.

Upgrading to the new version in the next
IX release could fix your problem.
Leyrat
Occasional Advisor

Re: cyrus-imap deliver

When the message is duplicated, there is only one, which remains in the queue and is delivered every 30 min.

My imapd.conf file doesn't contains those lines which seems to be for lmtpd, and I have no lmtpd daemon.

So I think that the best is to upgrade to the next version of IX, as you suggest. I shall do so as soon as possible.

Thank you very much for your help.

Jacques