# Email::MessageID - phpMan

## 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.

