diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c index 8d37050821c5d5aa2811e38639bebb85ded83d60..3f77df5ddda2ea34c1dd4cc4ab0e4d4a8fdec840 100644 --- a/src/sbbs3/sbbsecho.c +++ b/src/sbbs3/sbbsecho.c @@ -3707,8 +3707,13 @@ void putfmsg(FILE* stream, const char* fbuf, fmsghdr_t* hdr, area_t area /* Write fixed-length header fields */ memset(&pkdmsg,0,sizeof(pkdmsg)); pkdmsg.type = 2; - pkdmsg.orignet = addr.net; - pkdmsg.orignode = addr.node; + if(area.tag == NULL) { /* NetMail, so use original origin address */ + pkdmsg.orignet = hdr->orignet; + pkdmsg.orignode = hdr->orignode; + } else { + pkdmsg.orignet = addr.net; + pkdmsg.orignode = addr.node; + } pkdmsg.destnet = hdr->destnet; pkdmsg.destnode = hdr->destnode; pkdmsg.attr = hdr->attr; @@ -4676,14 +4681,12 @@ void export_echomail(const char* sub_code, const nodecfg_t* nodecfg, bool rescan fmsghdr_t hdr; struct tm *tm; post_t *post; - area_t fakearea; addrlist_t msg_seen,msg_path; time_t tt; time_t now = time(NULL); memset(&msg_seen,0,sizeof(addrlist_t)); memset(&msg_path,0,sizeof(addrlist_t)); - memset(&fakearea,0,sizeof(area_t)); memset(&hdr,0,sizeof(hdr)); printf("\nScanning for Outbound EchoMail...");