Peter J. Holzer wrote:
On 2006-01-18 04:12:49 -0500, Bob Dodds wrote:
Ask Bjørn Hansen wrote:
I didn't know how likely those where to collide so I decided to use a
generetad artificial ID. Using an integer as key should be significantly
faster too on most database systems when retrieving a specific mail.
Anyone out there who knows how likely key collisions are when using  the
message-id header as key?
Very likely (the same message sent to different recipients). It wouldn't have to be a unique key though.
cyrus won't allow the same msg id sent to different recipients.

If this was true, it would be impossible to send a message to two cyrus
users (at the same site).
Exactly. Net::LMTP would not pass an array of recipients to
dspam, or dspam would not receive it, so I had to send via
lmtp to dspam one recipient at a time, obviously then from
dspam to cyrus via lmtp one recip at a time. If the next recip
(separate lmtp transaction to cyrus) had same msg id, cyrus
rejected it...and cyrus is able to receive nntp so that could
explain why it's particular about message id's.
 Since this obviously works (otherwise any
sysadmin installing cyrus would be lynched approximately 5 minutes after
installation),
Lynched in 5 seconds, bam, message rejected. At first I had
dspam running in foreground in xterm, and I could see cyrus
rejections passed into dspam and logged in full debug mode.
 I don't believe your claim.

        hp

Maybe they always deliver to multiple recips in a single
transaction(connection). My system didn't work, I fixed it by
incrementing an arbitrary digit that I can ignore to determine
if it's **really the same message**(when grepping logs etc).

Hopefully now that I have hacked how to do dlmtp and pass
parameters to dspam through Net::LMTP, I can go back and
change my queue to send one message with a list of recips
passed dlmtp way instead of lmtp way(array, won't work).
Then a message will only get dspam-scanned once, and
cyrus will see a list of recipients in a single transaction
so it will expect one msg id(it's only one message).

-Bob

Reply via email to