NAME¶
Email::MessageID - Generate world unique message-ids.
SYNOPSIS¶
use Email::MessageID;
my $mid = Email::MessageID->new->in_brackets;
print "Message-ID: $mid\x0A\x0D";
DESCRIPTION¶
Message-ids are optional, but highly recommended, headers that identify a
message uniquely. This software generates a unique message-id.
METHODS¶
new¶
my $mid = Email::MessageID->new;
my $new_mid = Email::MessageID->new( host => $myhost );
This class method constructs an Email::Address object containing a unique
message-id. You may specify custom "host" and "user"
parameters.
By default, the "host" is generated from
"Sys::Hostname::hostname".
By default, the "user" is generated using "Time::HiRes"'s
"gettimeofday" and the process ID.
Using these values we have the ability to ensure world uniqueness down to a
specific process running on a specific host, and the exact time down to six
digits of microsecond precision.
create_host¶
my $domain_part = Email::MessageID->create_host;
This method returns the domain part of the message-id.
create_user¶
my $local_part = Email::MessageID->create_user;
This method returns a unique local part for the message-id. It includes some
random data and some predictable data.
in_brackets¶
When using Email::MessageID directly to populate the "Message-ID"
field, be sure to use "in_brackets" to get the string inside angle
brackets:
header => [
...
'Message-Id' => Email::MessageID->new->in_brackets,
],
Don't make this common mistake:
header => [
...
'Message-Id' => Email::MessageID->new->as_string, # WRONG!
],
SEE ALSO¶
Email::Address, Time::HiRes, Sys::Hostname, perl.
PERL EMAIL PROJECT¶
This module is maintained by the Perl Email Project.
<
http://emailproject.perl.org/wiki/Email::MessageID>
AUTHOR¶
Casey West, <
casey@geeknest.com>.
COPYRIGHT¶
Copyright (c) 2004 Casey West. All rights reserved.
This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.