]> code.citadel.org Git - citadel.git/blobdiff - citadel/serv_smtp.c
* Replaced all "Citadel/UX" references with "Citadel"
[citadel.git] / citadel / serv_smtp.c
index 840cbf1b2304ce70c713dce0db7b672747c136fe..6f23e086a978214a10844200d82553186cfe5066 100644 (file)
@@ -135,7 +135,7 @@ void smtp_greeting(void) {
        snprintf(SMTP_RECPS, SIZ, "%s", "");
        snprintf(SMTP_ROOMS, SIZ, "%s", "");
 
-       cprintf("220 %s ESMTP Citadel/UX server ready.\r\n", config.c_fqdn);
+       cprintf("220 %s ESMTP Citadel server ready.\r\n", config.c_fqdn);
 }
 
 /*
@@ -578,6 +578,16 @@ void smtp_rcpt(char *argbuf) {
                return;
        }
 
+       if (valid->num_internet > 0) {
+               if (CC->logged_in) {
+                        if (CtdlCheckInternetMailPermission(&CC->user)==0) {
+                               cprintf("551 5.7.1 <%s> - you do not have permission to send Internet mail\r\n", recp);
+                                free(valid);
+                                return;
+                        }
+                }
+       }
+
        if (valid->num_internet > 0) {
                if ( (SMTP->message_originated_locally == 0)
                   && (SMTP->is_lmtp == 0) ) {
@@ -1345,7 +1355,7 @@ void smtp_do_procmsg(long msgnum, void *userdata) {
 
        lprintf(CTDL_DEBUG, "smtp_do_procmsg(%ld)\n", msgnum);
 
-       msg = CtdlFetchMessage(msgnum);
+       msg = CtdlFetchMessage(msgnum, 1);
        if (msg == NULL) {
                lprintf(CTDL_ERR, "SMTP: tried %ld but no such message!\n", msgnum);
                return;