e6f5bb48bb
Exchange server. The MS Exchange server gets upset that MessageWall sends the "250 2.0.0 h1Q0Qc907062 Message accepted for delivery" and the "\r\n" in different packets. The first patch works around this MS problem. See http://messagewall.org/cgi-bin/ezmlm-browse.cgi?command=showthread&list=messagewall-discuss&month=200302&threadid=nnoiaogojliciagmgpbk The other patch changes how MessageWall behaves when there are multiple recipients to a message. MessageWall accepts the first recipient, but defers the second with a temporary SMTP error. This can take some time for all recipients to get the message when the sending side has a long queue time. MessageWall does this since different recipients of a message can have different profiles. We, along with a number of sites, use a single profile for all inbound email. This patch, which must be enabled when the port is built with -DMESSAGEWALL_ALLOW_MULT_RCPT, allows multiple recipients, using the profile of the first recipient. See: http://www.messagewall.org/cgi-bin/ezmlm-browse.cgi?command=showthread&list=messagewall-discuss&month=200303&threadid=lcjcimckfmdphlhpjjhn PR: ports/50296 Submitted by: Douglas K. Rand <rand@meridian-enviro.com> Approved by: maintainer timeout (12 days)
33 lines
1.3 KiB
Diff
33 lines
1.3 KiB
Diff
--- smtp.c-orig Fri Oct 18 10:24:16 2002
|
|
+++ smtp.c Tue Mar 25 13:57:37 2003
|
|
@@ -629,20 +629,17 @@
|
|
|
|
/*
|
|
* check that we have recipient space
|
|
+ * Patch from Quentin Guernsey <quentin@wingateweb.com>
|
|
+ * Applied by Douglas K. Rand <rand@meridian-enviro.com>
|
|
+ * Which allows multiple recipients, but applies the profile of
|
|
+ * the first recipient to all recipients.
|
|
+ * See http://www.messagewall.org/cgi-bin/ezmlm-browse.cgi?command=showthread&list=messagewall-discuss&month=200303&threadid=lcjcimckfmdphlhpjjhn
|
|
*/
|
|
- if (clients[client].can_relay == 1) {
|
|
- if (clients[client].num_to == max_rcpt) {
|
|
- fprintf(stderr,"{%d} (%d) SMTP/REJECT: too many RCPT\n",process,client);
|
|
- SMTP_RESET
|
|
- tls_client_write(client,SMTP_MAXRCPT,sizeof(SMTP_MAXRCPT) - 1);
|
|
- return 0;
|
|
- }
|
|
- } else {
|
|
- if (clients[client].num_to == 1) {
|
|
- fprintf(stderr,"{%d} (%d) SMTP/TEMPORARY: external host attempted multiple recipient delivery, asked for one at a time\n",process,client);
|
|
- tls_client_write(client,SMTP_ONLYONE,sizeof(SMTP_ONLYONE) - 1);
|
|
- return 0;
|
|
- }
|
|
+ if (clients[client].num_to == max_rcpt) {
|
|
+ fprintf(stderr,"{%d} (%d) SMTP/REJECT: too many RCPT\n",process,client);
|
|
+ SMTP_RESET
|
|
+ tls_client_write(client,SMTP_MAXRCPT,sizeof(SMTP_MAXRCPT) - 1);
|
|
+ return 0;
|
|
}
|
|
|
|
/*
|