diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index 4546f1b349cc164658d7c666297d043f857a1cdd..626079aa33b647630ae46e8914417af56ccadf52 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -3148,7 +3148,7 @@ static void smtp_thread(void* arg) && !no_forward && scfg.sys_misc&SM_FWDTONET && (user.misc&NETMAIL || forward) - && tp && strchr(tp,'.') && !strchr(tp,'/') + && tp!=NULL && smb_netaddr_type(user.netmail)==NET_INTERNET && !strstr(tp,scfg.sys_inetaddr)) { lprintf(LOG_INFO,"%04d SMTP Forwarding to: %s" ,socket, user.netmail); @@ -3314,7 +3314,7 @@ BOOL bounce(smb_t* smb, smbmsg_t* msg, char* err, BOOL immediate) sprintf(str,"%u",newmsg.idx.to); smb_hfield_str(&newmsg, RECIPIENTEXT, str); } - if(newmsg.from_net.type!=NET_NONE && newmsg.from_net.type!=NET_FIDO + if((newmsg.from_net.type==NET_QWK || newmsg.from_net.type==NET_INTERNET) && newmsg.reverse_path!=NULL) { smb_hfield(&newmsg, RECIPIENTNETTYPE, sizeof(newmsg.from_net.type), &newmsg.from_net.type); smb_hfield_str(&newmsg, RECIPIENTNETADDR, newmsg.reverse_path);