=begin pod

=head1 NAME

Email::MessageID - Generate world unique message-ids

=head1 SYNOPSIS

=begin code :lang<raku>
use Email::MessageID;

# bare ID
say message-id;

# for use in an email header
say message-id(:header); 
=end code

=head1 DESCRIPTION

The C<Email::MessageID> distribution provides an algorithm to create
unique strings (ID) for a given host / user combination.

=head1 EXPORTED SUBROUTINES

=head2 message-id

The C<message-id> subroutine returns a unique string for a given
host and user (specified as named arguments).

The default value for the C<:host> named argument is C<Kernel.hostname>.

The default value for the C<:user> named argument is a random string created
from several different random sources.

The default value for the C<:header> named argument is False.  If
specified with a trueish value, will generate a string that can be
used verbatim in an email header.

=head1 CREDITS

Algorithm scooped from Perl's
L<Email::MessageID|https://metacpan.org/pod/Email::MessageID> by
Aaron Crane, Pali and Ricardo Signes.

=head1 AUTHOR

Elizabeth Mattijsen <liz@raku.rocks>

Source can be located at: https://codeberg.org/lizmat/Email-MessageID .
Comments and Pull Requests are welcome.

If you like this module, or what I'm doing more generally, committing to a
L<small sponsorship|https://github.com/sponsors/lizmat/>  would mean a great
deal to me!

=head1 COPYRIGHT AND LICENSE

Copyright 2026 Elizabeth Mattijsen

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.

=end pod

# vim: expandtab shiftwidth=4
