--- spamass-milter.cpp.orig	2006-03-23 16:41:36.000000000 -0500
+++ spamass-milter.cpp	2010-01-11 09:32:07.000000000 -0500
@@ -161,6 +161,7 @@
 char *defaultuser;				/* Username to send to spamc if there are multiple recipients */
 char *defaultdomain;			/* Domain to append if incoming address has none */
 char *spamdhost;
+char *rejecttext = NULL;				/* If we reject a mail, then use this text */
 struct networklist ignorenets;
 int spamc_argc;
 char **spamc_argv;
@@ -193,6 +194,11 @@
 
    openlog("spamass-milter", LOG_PID, LOG_MAIL);
 
+
+    syslog(LOG_ERR, "argc: %d", argc);
+	for (int xy=0; xy<argc; xy++) {
+			syslog(LOG_ERR, "argv[%d]: %s", xy, argv[xy]);
+	}
 	/* Process command line options */
 	while ((c = getopt(argc, argv, args)) != -1) {
 		switch (c) {
@@ -232,6 +238,9 @@
 				flag_reject = true;
 				reject_score = atoi(optarg);
 				break;
+			case 'R':
+				rejecttext = strdup (optarg);
+				break;
 			case 'u':
 				flag_sniffuser = true;
 				defaultuser = strdup(optarg);
@@ -299,6 +308,7 @@
       cout << "   -P pidfile: Put processid in pidfile" << endl;
       cout << "   -r nn: reject messages with a score >= nn with an SMTP error.\n"
               "          use -1 to reject any messages tagged by SA." << endl;
+      cout << "   -R RejectText: using this Reject Text." << endl;
       cout << "   -u defaultuser: pass the recipient's username to spamc.\n"
               "          Uses 'defaultuser' if there are multiple recipients." << endl;
       cout << "   -x: pass email address through alias and virtusertable expansion." << endl;
@@ -307,6 +317,11 @@
       exit(EX_USAGE);
    }
 
+    /* Set standard reject text */
+    if (rejecttext == NULL) {
+		rejecttext = strdup ("Blocked by SpamAssassin");
+	}
+
 	if (pidfilename)
 	{
 		unlink(pidfilename);
@@ -452,7 +467,7 @@
 	if (do_reject)
 	{
 		debug(D_MISC, "Rejecting");
-		smfi_setreply(ctx, "550", "5.7.1", "Blocked by SpamAssassin");
+		smfi_setreply(ctx, "550", "5.7.1", rejecttext);
 
 
 		if (flag_bucket)
