Email::MessageID(3p)

NAME
Email::MessageID - Generate world unique message-ids.

VERSION
version 1.406

SYNOPSIS
  use Email::MessageID;

  my $mid = Email::MessageID->new->in_brackets;

  print "Message-ID: $mid\x0D\x0A";

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!
  ],

AUTHORS

•   Casey West <casey@geeknest.com>

•   Ricardo SIGNES <rjbs@cpan.org>

CONTRIBUTOR
Aaron Crane <arc@cpan.org>

COPYRIGHT AND LICENSE
This software is copyright (c) 2004 by Casey West.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.