My build is courier 0.37.3.
I have applied a patch to submit.C to allow a single header to reach the
headerlimit (100000) as suggested by Alexei Batyr.
if (l > headerlimit/* || l > 5000*/) (line 1023)
This has always worked beautifully in the past with previous versions
allowing our company to send to multiple addresses in one message. Now with
0.37.3 i find other issues. Initially i was getting the error "431 Too many
Recipients".
I got over that by employing a BOFH filter for maximum number of recipients
per message. That also worked great but know if i try to send to everyone in
my address book (Now has reached some 300 contacts) i get the following
error:
"534 Message header size, or recipient list, exceeds policy limit."
Now i know its not the Recipient list (because of the bofh filter), and i
know its not the header size (default is 100000, my entire message is only
20480 bytes and even if i increase the value of headerlimit in submit.C,
regenerate the rpm and reinstall it still fails).
>From looking in submit.C i think it has more to do with the headercnt value.
>From what i can see this is the last value that gets checked before
outputting the error i am getting. headercnt is set to 500 (line 932)
initially.
The piece of code in the submit.C which i am talking about is:
1223 while (!cin.eof())
1224 {
1225 int i, l;
1226
1227 line.readline(cin, 5000);
1228 if ( (i=cin.get()) != EOF && i != '\n')
1229 headercnt=0;
1230 if (headercnt == 0) continue;
1231 l=line.GetLength();
1232 if (l && line[l-1] == '\r')
1233 line.Chop(); // Strip trailing CR
1234
1235 if (i != EOF || line.GetLength())
1236 {
1237 line += '\n';
1238 my_rcptinfo.submitfile.Message(line);
1239 }
1240 if (i == EOF) break;
1241
1242 // Periodically reset the timeout
1243
1244 if ( (bytecnt += l) >= 10000)
1245 {
1246 bytecnt=0;
1247 alarm(TIMEOUT);
1248 }
1249 }
1250
1251 if (received_cnt > 100)
1252 {
1253 cout << "546 Routing loop detected -- too many
Received:
headers." << endl << flush;
1254 mf->flag=1;
1255 }
1256 else if (headercnt == 0)
1257 {
1258 cout << "534 Message header size, or recipient list,
exc
eeds policy limit."
1259 << endl <<
flush
;
>From what i can gather if headercnt is not 0 after all processing the error
message comes into play. I have also tried increasing the headercnt variable
from 500 (default) to 5000, recompiling and reinstalling but this still has
not helped me. This may be the wrong thing to change though.
How can i get around this?
Thanks in advance.
Regards,
Les Stott
Systems Administrator
Rentokil Initial
[EMAIL PROTECTED]
(02) 9370 9348
This email is confidential. If you are not the intended recipient, you must
not disclose
or use the information contained in it. If you have received this in error,
please
advise the sender by return email and delete the material from your
computer.
Rentokil Initial Pty Ltd ABN 98 000 034 597 does not warrant that any
attachments are free from viruses or any other defects. You assume all
liability for any loss, damage or other consequences which may arise from
opening or using the attachments.
_______________________________________________
courier-users mailing list
[EMAIL PROTECTED]
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users