diff --git a/phpBB/admin/admin_mass_email.php b/phpBB/admin/admin_mass_email.php
new file mode 100644
index 0000000000..99cd9c34e7
--- /dev/null
+++ b/phpBB/admin/admin_mass_email.php
@@ -0,0 +1,147 @@
+sql_query($sql))
+ {
+ message_die(GENERAL_ERROR, "Coult not select group members!", __LINE__, __FILE__, $sql);
+ }
+ $g_list = $db->sql_fetchrowset($g_result);
+
+ $email_headers = "From: " . $board_config['board_email_from'] . "\r\n";
+ $msg = stripslashes($HTTP_GET_VARS["$f_msg"]);
+
+ for($i = 0;$i < count($g_list); $i++)
+ {
+ mail($g_list[$i]['user_email'],$HTTP_GET_VARS["$f_title"],$msg,$email_headers);
+ }
+ include('page_header_admin.'.$phpEx);
+ echo ''.$lang['Messages'].' '.$lang['Sent'].'!
';
+}
+//Else, or if they already sent a message
+
+$sql = "SELECT group_id, group_name FROM ".GROUPS_TABLE.' WHERE group_single_user <> 1';
+$g_result = $db->sql_query($sql);
+$group_list = $db->sql_fetchrowset($g_result);
+
+$select_list = '";
+
+//Don't include it twice
+if(!isset($HTTP_GET_VARS['submit']))
+{
+ include('page_header_admin.'.$phpEx);
+}
+
+$template->set_filenames(array(
+ "body" => "admin/user_email.tpl")
+);
+
+$template->assign_vars(array(
+ "L_EMAIL_TITLE" => $lang['Email'],
+ "L_EMAIL_EXPLAIN" => $lang['Mass_email_explain'],
+ "L_COMPOSE" => $lang['Compose'],
+ "L_GROUP_SELECT" => $lang['Group'],
+ "L_EMAIL_SUBJECT" => $lang['Subject'],
+ "L_EMAIL_MSG" => $lang['Message'],
+ "L_EMAIL" => $lang['Email'],
+
+ "S_USER_ACTION" => append_sid('admin_mass_email.'.$phpEx),
+ "S_GROUP_SELECT" => $select_list,
+ "S_EMAIL_SUBJECT" => $f_title,
+ "S_EMAIL_MSG" => $f_msg)
+);
+
+$template->pparse('body');
+
+include('page_footer_admin.'.$phpEx);
+?>