diff --git a/exec/bulkmail.js b/exec/bulkmail.js
new file mode 100644
index 0000000000000000000000000000000000000000..65da0fb739181cfa5ca3ab9d4a09395cd51e507e
--- /dev/null
+++ b/exec/bulkmail.js
@@ -0,0 +1,93 @@
+// bulkmail.js
+
+// Bulk email all users that match AR String input
+
+// written by the hanged man, Solace BBS, solace.synchro.net
+
+load("sbbsdefs.js");
+
+const REVISION = "$Revision$".split(' ')[1];
+
+print("Synchronet BulkMailer " + REVISION);
+
+print("Enter ARS matches to send mail to or [ENTER] for everyone");
+
+printf("ARS to match: "); 
+if((ars=console.getstr(40,K_UPPER))==undefined)
+	exit();
+
+printf("\r\n\1y\1hSubject: ");
+
+if((subj=console.getstr(70,K_LINE))=="")
+	exit();
+
+fname = system.temp_dir + "bulkmsg.txt";
+
+file_remove(fname)
+
+console.editfile(fname);
+
+if(!fexist(fname))	// Edit aborted
+	exit();
+
+file = new File(fname);
+if(!file.open("rt")) {
+    log("!ERROR " + errno_str + " opening " + fname);
+    exit();
+}
+msgtxt = lfexpand(file.read(file_size(fname)));
+file.close();
+delete file;
+
+if(msgtxt == "")
+    exit();
+
+msgbase = new MsgBase("mail");
+if(msgbase.open()==false) {
+	log("!ERROR " + msgbase.last_error);
+	exit();
+}
+
+var u;	// user object
+
+if(system.lastuser!=undefined)
+	lastuser=system.lastuser;				// v3.11
+else
+    lastuser=system.stats.total_users;		// v3.10
+
+var sent=0;
+
+for(i=1; i<=lastuser; i++)
+{
+    u = new User(i);
+
+    if(!u.compare_ars(ars))
+		continue;
+
+	/*checking for netmail forward */
+	if(u.settings&USER_NETMAIL && u.netmail.length)
+		hdr = { to_net_addr: u.netmail, to_net_type: NET_INTERNET };
+	else
+		hdr = { to_ext: String(u.number) };
+	
+	hdr.to = u.alias;
+	hdr.from = system.operator;
+	hdr.from_ext = "1";
+	hdr.subject = subj;  
+
+	printf("Sending mail to %s #%u\r\n", hdr.to, i);
+
+	if(!msgbase.save_msg(hdr, msgtxt))
+		log("!ERROR " + msgbase.last_error + "saving bulkmail message");
+	else {
+		log(format("Sent bulk mail message to: %s #%u", u.alias, i));
+		sent++;
+	}
+}
+
+msgbase.close();
+
+if(sent>1) {
+	print("Sent bulk mail to " + sent + " users");
+	log("Sent bulk mail message to " + sent + " users");
+}