summaryrefslogtreecommitdiff
path: root/fml/lib/FML/Process
diff options
context:
space:
mode:
authorfukachan <fukachan>2006-02-05 01:07:13 +0000
committerfukachan <fukachan>2006-02-05 01:07:13 +0000
commite85261e82d3b1f30231da3baa6e2d4c3638acfb6 (patch)
treeab15e08104480e4ab402a8552ad98767090a4620 /fml/lib/FML/Process
parent217b4c5a2ae017454e429a7f93a4e14d88099d16 (diff)
downloadfml8-e85261e82d3b1f30231da3baa6e2d4c3638acfb6.tar.gz
fml8-e85261e82d3b1f30231da3baa6e2d4c3638acfb6.tar.bz2
fml8-e85261e82d3b1f30231da3baa6e2d4c3638acfb6.zip
add a new message-id to the outgoing message fml8 generates and cache
it in our message-id database for further loop check.
Diffstat (limited to 'fml/lib/FML/Process')
-rw-r--r--fml/lib/FML/Process/Kernel.pm33
1 files changed, 30 insertions, 3 deletions
diff --git a/fml/lib/FML/Process/Kernel.pm b/fml/lib/FML/Process/Kernel.pm
index b5e98a60..c2e615b3 100644
--- a/fml/lib/FML/Process/Kernel.pm
+++ b/fml/lib/FML/Process/Kernel.pm
@@ -4,7 +4,7 @@
# All rights reserved. This program is free software; you can
# redistribute it and/or modify it under the same terms as Perl itself.
#
-# $FML: Kernel.pm,v 1.272 2006/01/09 14:00:54 fukachan Exp $
+# $FML: Kernel.pm,v 1.273 2006/02/04 07:51:41 fukachan Exp $
#
package FML::Process::Kernel;
@@ -2413,6 +2413,7 @@ sub queue_in
my $reply_to = $config->{ outgoing_mail_header_reply_to } || $_rpto;
my $precedence = $config->{ outgoing_mail_header_precedence } || 'bulk';
my $errors_to = $config->{ outgoing_mail_header_errors_to } || $sender;
+ my $message_id = $curproc->_generate_message_id();
my $is_multipart = 0;
my $rcptkey = '';
my $rcptlist = [];
@@ -2517,7 +2518,8 @@ sub queue_in
Subject => $subject,
"Errors-To:" => $errors_to,
"Precedence:" => $precedence,
- "X-Stardate" => $stardate,
+ "X-Stardate:" => $stardate,
+ "Message-Id:" => $message_id,
Type => "multipart/mixed",
Datestamp => undef,
};
@@ -2627,7 +2629,8 @@ sub queue_in
Subject => $subject,
"Errors-To:" => $errors_to,
"Precedence:" => $precedence,
- "X-Stardate" => $stardate,
+ "X-Stardate:" => $stardate,
+ "Message-Id:" => $message_id,
Data => $s,
Datestamp => undef,
};
@@ -2735,6 +2738,30 @@ sub _add_into_cleanup_queue
}
+# Descriptions: generate a new Message-ID: string and cache it in our database.
+# Arguments: OBJ($curproc)
+# Side Effects: update message_id cache.
+# Return Value: STR
+sub _generate_message_id
+{
+ my ($curproc) = @_;
+ my $config = $curproc->config();
+
+ # generate a new message-id string.
+ use FML::Header::MessageID;
+ my $mid = FML::Header::MessageID->new->gen_id($config);
+
+ # insert generated message-id into the cache.
+ use FML::Header;
+ my $header = new FML::Header;
+ my $_mid = $header->address_cleanup($mid);
+ $header->insert_message_id_cache($config, $_mid);
+
+ # return generated message-id.
+ return $mid;
+}
+
+
# Descriptions: remove garbage collection queue (cleanup_queue).
# Arguments: OBJ($curproc)
# Side Effects: remove files in $curproc->{ __tmp_file_cleanup }