diff -Naur busybox.orig/miscutils/crond.c busybox/miscutils/crond.c
--- busybox.orig/miscutils/crond.c	2008-03-20 20:04:12 +0000
+++ busybox/miscutils/crond.c	2008-03-29 15:23:34 +0000
@@ -59,6 +59,7 @@
 #if ENABLE_FEATURE_CROND_CALL_SENDMAIL
 	int cl_MailPos;         /* 'empty file' size                    */
 	smallint cl_MailFlag;   /* running pid is for mail              */
+	char *cl_MailTo;	/* whom to mail results			*/
 #endif
 	/* ordered by size, not in natural order. makes code smaller: */
 	char cl_Dow[7];         /* 0-6, beginning sunday                */
@@ -449,6 +450,7 @@
 	int maxEntries;
 	int maxLines;
 	char buf[1024];
+	char *mailTo = NULL;
 
 	if (!fileName)
 		return;
@@ -485,6 +487,13 @@
 			if (DebugOpt) {
 				crondlog(LVL5 "user:%s entry:%s", fileName, buf);
 			}
+			/* check if line is setting MAILTO= */
+			if (0 == strncmp("MAILTO=", buf, 7)) {
+				if (mailTo)
+					free(mailTo);
+				mailTo = (buf[7]) ? xstrdup(buf+7) : NULL;
+				continue;
+			}
 			*pline = line = xzalloc(sizeof(CronLine));
 			/* parse date ranges */
 			ptr = ParseField(file->cf_User, line->cl_Mins, 60, 0, NULL, buf);
@@ -502,6 +511,9 @@
 			 * is *, the other is set to 0, and vise-versa
 			 */
 			FixDayDow(line);
+			/* copy mailto */
+			if (mailTo)
+				line->cl_MailTo = xstrdup(mailTo);
 			/* copy command */
 			line->cl_Shell = xstrdup(ptr);
 			if (DebugOpt) {
@@ -877,7 +889,8 @@
 		close(mailFd);
 		return;
 	}
-	ForkJob(user, line, mailFd, SENDMAIL, SENDMAIL_ARGS, NULL);
+	if (line->cl_MailTo)
+		ForkJob(user, line, mailFd, SENDMAIL, "-t", line->cl_MailTo, user);
 }
 
 #else /* crond without sendmail */
