diff -urp queue_mail/queue_mail.inc queue_mail_new/queue_mail.inc
--- queue_mail/queue_mail.inc	2008-10-27 12:23:47.000000000 -0400
+++ queue_mail_new/queue_mail.inc	2009-01-08 19:31:11.000000000 -0400
@@ -5,7 +5,10 @@
  * Wrapper function to use job queue
  */
 function drupal_mail_wrapper($mailkey, $to, $subject, $body, $from, $headers) {
-  if (function_exists('job_queue_add')) {
+	$data = implode(",", variable_get('queue_mail_keys', array()));
+	$pos = strpos($data, $mailkey);
+	
+  if (function_exists('job_queue_add') && $pos === FALSE) {
     job_queue_add('queue_mail_send', t('Queued email'), array($mailkey, $to, $subject, $body, $from, $headers));
   }
   else {
diff -urp queue_mail/queue_mail.install queue_mail_new/queue_mail.install
--- queue_mail/queue_mail.install	2008-10-27 12:04:35.000000000 -0400
+++ queue_mail_new/queue_mail.install	2009-01-08 19:36:20.000000000 -0400
@@ -54,3 +54,8 @@ function queue_mail_enable() {
 function queue_mail_disable() {
   variable_set(DRUPAL_SMTP_LIBRARY, '');
 }
+
+function queue_mail_uninstall() {
+	variable_del('queue_mail_isset_mailkey');
+  variable_del('queue_mail_keys');
+}
\ No newline at end of file
diff -urp queue_mail/queue_mail.module queue_mail_new/queue_mail.module
--- queue_mail/queue_mail.module	2008-10-26 22:44:17.000000000 -0400
+++ queue_mail_new/queue_mail.module	2009-01-08 19:45:50.000000000 -0400
@@ -18,3 +18,68 @@ function queue_mail_send($mailkey, $to, 
     join("\n", $mimeheaders)
   );
 }
+
+function queue_mail_menu($may_cache) {
+  $items = array();
+
+  if ($may_cache) {
+    $items[] = array(
+      'path' => 'admin/settings/queue_mail',
+      'title' => t('Queue Mail'),
+      'description' => t('Set queue priorities.'),
+      'callback' => 'drupal_get_form',
+      'callback arguments' => array('queue_mail_settings_form'),
+      'access' => user_access('administer mail queue'),
+    );
+  }
+
+  return $items;
+}
+
+function queue_mail_perm() {
+  return array('administer mail queue');
+}
+
+function queue_mail_settings_form() {
+	$priority1 = t('immediate');
+	$data = implode(",", variable_get('queue_mail_keys', array()));
+	
+	//maybe there might be a better way to get all $mailkeys and display as a dropdown list
+	$form['mailkeys'] = array(
+	'#type' => 'textfield',
+	'#title' => t('Mailkeys'),
+	'#description' => t('Enter each $mailkey separated by commas. To delete mailkeys, delete it from the textbox and submit form.'),
+	'#default_value' => $data,
+	);
+	
+	$form['priority'] = array(
+	'#type' => 'select',
+	'#default_value' => $priority1,
+	'#description' => t('All $mailkeys entered above will be set to immediate. That is, the mail will be sent immediately.'),
+	'#title' => t('Priority'),
+	'#options' => array($priority1),
+	'#disabled' => TRUE,	
+	);
+	
+	$form['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Save settings'),
+  );
+  
+  return $form;
+	
+}
+
+function queue_mail_settings_form_submit($form_id, $form_values) {
+  
+  $mailkeys_entered = trim(check_plain($form_values['mailkeys']));
+  
+  $each_mailkey = explode(",", $mailkeys_entered);
+  
+  if ($each_mailkey) {
+  	//decided to use variable_set to store values instead of creating a db table
+  	variable_set('queue_mail_isset_mailkey', TRUE);
+  	variable_set('queue_mail_keys', $each_mailkey);
+    drupal_set_message(t('The mailkeys have been saved.'));	
+  }
+}
\ No newline at end of file
