- cprintf("550 %s: no such user\n", SMTP->recipient);
- strcpy(SMTP->recipient, "");
+ cprintf("550 %s: no such user\n", recp);
+ return;
+
+ case rfc822_address_invalid:
+ if (is_spam) {
+ cprintf("551 Away with thee, spammer!\n");
+ }
+ else {
+ cprintf("250 Remote recipient %s ok\n", recp);
+ ++SMTP->number_of_recipients;
+ CtdlReallocUserData(SYM_SMTP_RECP,
+ strlen(SMTP_RECP) + 1024 );
+ strcat(SMTP_RECP, "remote|");
+ strcat(SMTP_RECP, recp);
+ strcat(SMTP_RECP, "|0\n");
+ return;
+ }