--- dbmail-20020911/pipe.c	2002-07-16 04:13:22.000000000 -0600
+++ dbmail-unique_id-fix/pipe.c	2002-09-11 07:48:22.000000000 -0600
@@ -16,6 +16,8 @@
 #include "pipe.h"
 #include "debug.h"
 #include <errno.h>
+#include <sys/types.h>
+#include <unistd.h>
 
 /*extern struct list *returnpath;*/
 
@@ -26,9 +28,11 @@
 void create_unique_id(char *target, u64_t messageid)
 {
   time_t now;
+  pid_t pid;
   time(&now);
-  trace (TRACE_DEBUG,"create_unique_id(): createding id");
-  snprintf (target,UID_SIZE,"%lluA%lu",messageid,now);
+  pid = getpid();
+  trace (TRACE_DEBUG,"create_unique_id(): creating id");
+  snprintf (target,UID_SIZE,"%lluA%lu%lu",messageid,pid,now);
   trace (TRACE_DEBUG,"create_unique_id(): created: %s",target);
 }
 	
@@ -286,9 +290,11 @@
           /* make the id numeric */
           userid = strtoull((char *)tmp->data, NULL, 10);
 
+	  create_unique_id(unique_id,0); 
+
           /* create a message record */
           temp_message_record_id = db_insert_message ((u64_t)userid,
-						    deliver_to_mailbox, "");
+						    deliver_to_mailbox, unique_id);
 
           /* message id is an array of returned message id's
            * all messageblks are inserted for each message id
