diff -u -r1.73 mlmmj-process.c
--- mlmmj-process.c	17 Jan 2006 12:07:51 -0000	1.73
+++ mlmmj-process.c	18 Jan 2006 23:32:21 -0000
@@ -609,6 +609,9 @@
 		discardname = concatstr(3, listdir,
 				"/queue/discarded/",
 				randomstr);
+		log_error(LOG_ARGS, "Discarding %s due to invalid envelope"
+				" from email count (was %d, must be 1)",
+				mailfile, efromemails.emailcount);
 		rename(mailfile, discardname);
 		unlink(donemailname);
 		myfree(donemailname);
@@ -654,6 +657,11 @@
 		 */
 		if ((strcasecmp(listaddr, fromemails.emaillist[0]) == 0) ||
 				notoccdenymails) {
+			log_error(LOG_ARGS, "Discarding %s because list"
+					" address was not in To: or Cc:,"
+					" and From: was the list or"
+					" notoccdenymails was set",
+					mailfile);
 			myfree(listaddr);
 			unlink(donemailname);
 			myfree(donemailname);
@@ -691,6 +699,10 @@
 		/* Don't send a mail about denial to the list, but silently
 		 * discard and exit. */
 		if (strcasecmp(listaddr, fromemails.emaillist[0]) == 0) {
+			log_error(LOG_ARGS, "Discarding %s because"
+					" subonlypost was set and From: was"
+					" the list address",
+					mailfile);
 			myfree(listaddr);
 			unlink(donemailname);
 			myfree(donemailname);
@@ -698,6 +710,10 @@
 		}
 		if(is_subbed(listdir, fromemails.emaillist[0]) != 0) {
 			if(nosubonlydenymails) {
+				log_error(LOG_ARGS, "Discarding %s because"
+						" subonlypost and"
+						" nosubonlydenymails was set",
+						mailfile);
 				myfree(listaddr);
 				unlink(donemailname);
 				myfree(donemailname);
@@ -741,6 +757,12 @@
 		if (accret == DENY) {
 			if ((strcasecmp(listaddr, fromemails.emaillist[0]) ==
 						0) || noaccessdenymails) {
+				log_error(LOG_ARGS, "Discarding %s because"
+						" it was denied by an access"
+						" rule, and From: was the list"
+						" address or noaccessdenymails"
+						" was set",
+						mailfile);
 				myfree(listaddr);
 				unlink(donemailname);
 				myfree(donemailname);


