diff --git a/exec/newslink.js b/exec/newslink.js
index f4c6170095b819fdcb906928faa115618de44e63..b6c3efc80c9e80140a3049887354b59708a4b390 100644
--- a/exec/newslink.js
+++ b/exec/newslink.js
@@ -275,13 +275,13 @@ for(i in area) {
 			else
 				writeln(format("From: \"%s\" <%s@%s%s>"
 					,hdr.from
-					,hdr.from.replace(/ /g,"_")
+					,hdr.from.replace(/ /g,".").toLowerCase()
 					,antispam,hdr.from_net_addr));
 		}
 		else
 			writeln(format("From: \"%s\" <%s@%s%s>"
 				,hdr.from
-				,hdr.from.replace(/ /g,"_")
+				,hdr.from.replace(/ /g,".").toLowerCase()
 				,antispam,system.inetaddr));
 		writeln("To: " + hdr.to);
 		writeln("X-Comment-To: " + hdr.to);
diff --git a/exec/nntpservice.js b/exec/nntpservice.js
index cf5b2cbcf491036fa6b938a0dc9fee8992c2ca73..4ba949350722db786b01d2136578a1e1fbf70c09 100644
--- a/exec/nntpservice.js
+++ b/exec/nntpservice.js
@@ -372,7 +372,7 @@ while(client.socket.is_connected) {
 				if(!hdr.from_net_type)	/* local message */
 					writeln(format("From: \"%s\" <%s@%s>"
 						,hdr.from
-						,hdr.from.replace(/ /g,"_")
+						,hdr.from.replace(/ /g,".").toLowerCase()
 						,system.inetaddr));
 				else if(!hdr.from_net_addr.length)
 					writeln(format("From: %s",hdr.from));
@@ -383,7 +383,7 @@ while(client.socket.is_connected) {
 				else
 					writeln(format("From: \"%s\" <%s@%s>"
 						,hdr.from
-						,hdr.from.replace(/ /g,"_")
+						,hdr.from.replace(/ /g,".").toLowerCase()
 						,hdr.from_net_addr));
 				writeln("To: " + hdr.to);
 				writeln("X-Comment-To: " + hdr.to);