diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index e4c88a3140b065001c78acdaff13c4ad5e954e0f..d1f93bf987866a9363b455c8c6607e630dbd9ce3 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -2071,23 +2071,25 @@ static void smtp_thread(void* arg)
 					telegram_buf[length+strlen(str)]=0;	/* Need ASCIIZ */
 
 					/* Send telegram to users */
-					rewind(rcptlst);
-					rcpt_count=0;
-					while(!feof(rcptlst)  && rcpt_count<startup->max_recipients) {
-						if(fgets(str,sizeof(str),rcptlst)==NULL)
-							break;
-						usernum=atoi(str);
-						if(fgets(rcpt_name,sizeof(rcpt_name),rcptlst)==NULL)
-							break;
-						truncsp(rcpt_name);
-						if(fgets(rcpt_addr,sizeof(rcpt_addr),rcptlst)==NULL)
-							break;
-						truncsp(rcpt_addr);
-						putsmsg(&scfg,usernum,telegram_buf);
-						lprintf(LOG_INFO,"%04d SMTP Created telegram (%ld/%u bytes) from %s to %s <%s>"
-							,socket, length, strlen(telegram_buf), sender_addr, rcpt_name, rcpt_addr);
-						rcpt_count++;
+					sec_list=iniGetSectionList(rcptlst,NULL);	/* Each section is a recipient */
+					for(rcpt_count=0; sec_list!=NULL
+						&& sec_list[rcpt_count]!=NULL 
+						&& rcpt_count<startup->max_recipients; rcpt_count++) {
+
+						section=sec_list[rcpt_count];
+
+						SAFECOPY(rcpt_name,iniGetString(rcptlst,section	,smb_hfieldtype(RECIPIENT),"unknown",value));
+						usernum=iniGetInteger(rcptlst,section			,smb_hfieldtype(RECIPIENTEXT),0);
+						SAFECOPY(rcpt_addr,iniGetString(rcptlst,section	,smb_hfieldtype(RECIPIENTNETADDR),str,value));
+
+						if((i=putsmsg(&scfg,usernum,telegram_buf))==0)
+							lprintf(LOG_INFO,"%04d SMTP Created telegram (%ld/%u bytes) from %s to %s <%s>"
+								,socket, length, strlen(telegram_buf), sender_addr, rcpt_name, rcpt_addr);
+						else
+							lprintf(LOG_ERR,"%04d !SMTP ERROR %d creating telegram from %s to %s <%s>"
+								,socket, i, sender_addr, rcpt_name, rcpt_addr);
 					}
+					iniFreeStringList(sec_list);
 					free(telegram_buf);
 					sockprintf(socket,ok_rsp);
 					telegram=FALSE;