
j.varinot at choosit
Jul 31, 2013, 1:12 AM
Post #4 of 6
(90 views)
Permalink
|
|
Re: Vacation notify and infinite sending loop ! [FIX]
[In reply to]
|
|
> Date: Tue, 30 Jul 2013 15:12:19 +0200 > From: Julien VARINOT <j.varinot [at] choosit > To: qmail mailing list <qmail [at] list > Subject: Vacation notify and infinite sending loop ! > > ================== > Here some explaination: > ================== > > Hello everyone, > > I'm looking for some support for Qmail and I don't find a lot on the > internet, so I decide to subscribe to this mailling list ! > > Here my problem, for some days I have duplicate mail issue: > > When I put autorespond(vacation notify) trought the QmailAdmin on a user > (exemple: test_loop [at] XXX), it works great until the same mail > address(postmaster [at] XXX for exemple) send more than 3 messages. > After this point postmaster don't received the vacation notify anymore > (this part is OK) and test_loop received the last message from > postmaster in infinite loop ! > > /////////////////////////////////////////////////// First mail OK, with > autorespond notify (delivery 156) > 2013-07-30 10:15:43.607878500 new msg 220494 > 2013-07-30 10:15:43.607880500 info msg 220494: bytes 2684 from > <postmaster [at] XXX qp 30135 uid 508 > 2013-07-30 10:15:43.808522500 starting delivery 157: msg 220494 to local > XXX.com-test_loop [at] XXX > 2013-07-30 10:15:43.808526500 status: local 1/10 remote 0/20 > 2013-07-30 10:15:43.942799500 new msg 220526 > 2013-07-30 10:15:43.942802500 info msg 220526: bytes 3143 from < qp > 30140 uid 508 > 2013-07-30 10:15:44.135063500 delivery 157: success: did_0+0+1/ > 2013-07-30 10:15:44.135111500 status: local 0/10 remote 0/20 > 2013-07-30 10:15:44.135135500 starting delivery 158: msg 220526 to local > XXX.com-postmaster [at] XXX > 2013-07-30 10:15:44.135137500 status: local 1/10 remote 0/20 > 2013-07-30 10:15:44.135149500 end msg 220494 > 2013-07-30 10:15:44.137845500 delivery 158: success: did_0+0+1/ > 2013-07-30 10:15:44.137884500 status: local 0/10 remote 0/20 > 2013-07-30 10:15:44.137896500 end msg 220526 > /////////////////////////////////////////////////// Second mail OK, with > autorespond notify (delivery 158) > 2013-07-30 10:16:21.588779500 new msg 220494 > 2013-07-30 10:16:21.588786500 info msg 220494: bytes 2684 from > <postmaster [at] XXX qp 30322 uid 508 > 2013-07-30 10:16:21.764549500 starting delivery 159: msg 220494 to local > XXX.com-test_loop [at] XXX > 2013-07-30 10:16:21.764552500 status: local 1/10 remote 0/20 > 2013-07-30 10:16:21.915590500 new msg 220526 > 2013-07-30 10:16:21.915593500 info msg 220526: bytes 3143 from < qp > 30326 uid 508 > 2013-07-30 10:16:22.071555500 delivery 159: success: did_0+0+1/ > 2013-07-30 10:16:22.071558500 status: local 0/10 remote 0/20 > 2013-07-30 10:16:22.071560500 starting delivery 160: msg 220526 to local > XXX.com-postmaster [at] XXX > 2013-07-30 10:16:22.071563500 status: local 1/10 remote 0/20 > 2013-07-30 10:16:22.071565500 end msg 220494 > 2013-07-30 10:16:22.074606500 delivery 160: success: did_0+0+1/ > 2013-07-30 10:16:22.074609500 status: local 0/10 remote 0/20 > 2013-07-30 10:16:22.074611500 end msg 220526 > /////////////////////////////////////////////////// Third mail OK, with > autorespond notify (delivery 160) > 2013-07-30 10:16:51.549598500 new msg 220494 > 2013-07-30 10:16:51.549601500 info msg 220494: bytes 2684 from > <postmaster [at] XXX qp 30452 uid 508 > 2013-07-30 10:16:51.733631500 starting delivery 162: msg 220494 to local > XXX.com-test_loop [at] XXX > 2013-07-30 10:16:51.733634500 status: local 1/10 remote 0/20 > 2013-07-30 10:16:51.738192500 delivery 162: deferral: > AUTORESPOND:_too_many_received_from_[postmaster [at] XXX]/ > 2013-07-30 10:16:51.738195500 status: local 0/10 remote 0/20 > /////////////////////////////////////////////////// Fourth mail KO > 2013-07-30 10:18:32.388962500 starting delivery 167: msg 220494 to local > XXX.com-test_loop [at] XXX > 2013-07-30 10:18:32.388965500 status: local 1/10 remote 0/20 > 2013-07-30 10:18:32.393950500 delivery 167: deferral: > AUTORESPOND:_too_many_received_from_[postmaster [at] XXX]/ > 2013-07-30 10:18:32.393952500 status: local 0/10 remote 0/20 > /////////////////////////////////////////////////// First loop, no "end >> On Tuesday, July 30 at 03:12 PM, quoth Julien VARINOT: >> When I put autorespond(vacation notify) trought the QmailAdmin on a >> user (exemple: test_loop [at] XXX), it works great until the same mail >> address(postmaster [at] XXX for exemple) send more than 3 messages. >> After this point postmaster don't received the vacation notify >> anymore (this part is OK) and test_loop received the last message >> from postmaster in infinite loop ! >> >> It looks like your vacation program is changing its return code >> after the third message. So what's happening is that, for the first >> messages, the vacation program is preventing mail delivery by >> providing a given return code (probably code 99, which prevents >> further delivery of that message) and then generating the vacation >> response. For the later messages, that appear to be being delivered >> in a loop, the vacation program is generating a different return code >> to indicate temporary failure (probably code 111, which indicates a >> soft failure, and tells qmail that it should retry delivery later). >> >> I don't know why your vacation program is designed the way it is, >> but if you don't like that behavior, you may want to either figure >> out how to configure your vacation program (does it have a global >> config file you can edit?) or pick a different vacation program. >> >> ~Kyle >> -- >> Habits of thought persist through the centuries; and while a healthy >> brain may reject the doctrine it no longer believes, it will continue >> to feel the same sentiments formerly associated with that doctrine. >> -- Charlotte Perkins Gilman >>> Le 30/07/2013 21:04, msayah [at] controlcc a écrit : >>> Julien, I am new to the list as well. >>> >>> I believe the previous reply from Kyle gives good insight in the >>> autoresponder changing its return code depending on maximum number >>> of messages to respond to within time seconds. There was a related >>> code change in utorespond-2.0.5 from utorespond-2.0.4: >>> And some discussion in change log and readme files. >>> >>> >>> utorespond-2.0.5/autorespond.c: >>> if(countnum) { >>> fprintf(stderr,"AUTORESPOND: too many received from [%s]\n",sender); >>> _exit(0); /* don't reply to this message, but allow it to be >>> delivered */ >>> } >>> >>> utorespond-2.0.4/autorespond.c: >>> if(countnum) { >>> fprintf(stderr,"AUTORESPOND: too many received from [%s]\n",sender); >>> _exit(99); >>> } >>> >>> >>> 2003-09-18: inter7 autorespond-2.0.5 >>> http://inter7.com/devel/autorespond-2.0.5.tar.gz >>> http://inter7.com/devel/autorespond-2.0.4.tar.gz >>> http://inter7.com/devel/autorespond-2.0.3.tar.gz >>> http://inter7.com/devel/autorespond-2.0.2.tar.gz >>> http://inter7.com/devel/autorespond-2.0.1.tar.gz >>> http://inter7.com/devel/autorespond-2.0.0.tar.gz >>> http://inter7.com/devel/ >>> >>> >>> >>> >>> Usage: autorespond time num message dir [ flag arsender ] >>> >>> time - time in seconds to consider consecutive >>> num - maximum number of messages to respond to within time seconds >>> message - the message file >>> dir - directory to store list of e-mail addresses >>> optional parameters: >>> flag - heandling of original message: >>> 0 - append nothing >>> 1 - append quoted original message without atatchments >>> arsender - from adress in generated message (* = None) >>> >>> >>> |autorespond 10000 5 help_message help_autorespond 1 >>> &your-email-address [at] company >>> >>> This will allow up to five messages from the sender within about 3 >>> hours >>> and include the original message as a quote. >>> >>> >>> |autorespond 10000 10 help_message help_autorespond 0 + >>> &your-email-address [at] company >>> >>> This will allow up to ten messages from the sender within about 3 >>> hours and >>> will NOT include the original message as a quote and will leave the >>> from >>> field blank. >>> >>> >>> Create a file in your ~alias directory called help_message. It >>> should say >>> something like this: >>> >>> From: Support <help [at] company >>> Subject: Help Response >>> >>> This is a response to your help request. >>> >>> Below is a copy of the message we received. >>> >>> -------- >>> >>> Make sure that "From:" is the first line of the file. You should >>> probably >>> include the dashes to separate your help message from the user's >>> message. >>> An example is included with this package. >>> >>> Create a directory called help_autorespond in your ~alias >>> directory. This >>> is where the log of messages goes. >>> >>> That should be it. >>> >>> Notes >>> ===== >>> 9/18/2003 >>> - If the maximum count has been reached, the autoresponse doesn't >>> get shipped out, but the message is still processed as usual. >>> This is a change from older versions because it didn't make >>> sense before. >>> >>> --- >>> >>> 2008-04-28 untroubled qmail-autoresponder-0.97 >>> http://untroubled.org/qmail-autoresponder/archive/qmail-autoresponder-0.97.tar.gz >>> http://untroubled.org/qmail-autoresponder/archive/qmail-autoresponder-0.90.tar.gz >>> http://untroubled.org/qmail-autoresponder/archive/ >>> http://untroubled.org/qmail-autoresponder/ >>> >>> >>> Mike Sayah >>> msayah [at] controlcc Wow ! Thank you so much Mike and Kyle, it work great now ! Here what I do to fix my vacation program: I take "autorespond-2.0.5.tar.gz" from Mike's link and extract the files. I check in "autorespond.c" at line 696 "AUTORESPOND: too many received from", the exit code was (0). (Good !) Compile autorespond ! # cd /your/path/to/extract/file/ # make And simply replace the binary in "/usr/local/bin/" by the new one. Restart Qmail properly. My message have proper "end msg" signal now: 2013-07-31 09:53:17.611352500 new msg 220574 2013-07-31 09:53:17.611366500 info msg 220574: bytes 2684 from <postmaster [at] XXX> qp 18565 uid 508 2013-07-31 09:53:17.787243500 starting delivery 51: msg 220574 to local XXX.com-test_loop [at] XXX 2013-07-31 09:53:17.787246500 status: local 1/10 remote 0/20 2013-07-31 09:53:17.929572500 delivery 51: success: AUTORESPOND:_too_many_received_from_[postmaster [at] XXX]/did_0+0+1/ 2013-07-31 09:53:17.929575500 status: local 0/10 remote 0/20 2013-07-31 09:53:17.929576500 end msg 220574 And the mail is successfully delivered. Thanks for your time both of you ! Best regards, -- Choosit choosit <http://www.choosit.com> Julien VARINOT Administrateur Système Tél : 04 67 400 400 Fax : 04 67 400 581 julien [at] choosit <mailto:julien [at] choosit> *Agence Web :* ECOPARC Départemental Saint Aunès 625, avenue de la Saladelle 34130 ST AUNES Nous rendre visite <http://adresse.choosit.com> www.choosit.com <http://www.choosit.com> *Siège Social :* 20, rue Marcel de Serres 34000 Montpellier
|