Mail::Util(3) User Contributed Perl Documentation Mail::Util(3)

Mail::Util - mail utility functions

  is a Exporter

use Mail::Util qw( ... );

This package provides several mail related utility functions. Any function required must by explicitly listed on the use line to be exported into the calling package.

Return a guess at the current users mail address. The user can force the return value by setting the MAILADDRESS environment variable. [2.10] You may set the $address via the parameter.

WARNING: When not supplied via the environment variable, <mailaddress> looks at various configuration files and other environmental data. Although this seems to be smart behavior, this is not predictable enough (IMHO) to be used. Please set the MAILADDRESS explicitly, and do not trust on the "automatic detection", even when that produces a correct address (on the moment)


# in your main script
# everywhere else
use Mail::Util 'mailaddress';
print mailaddress;
# since v2.10
mailaddress "";
Attempt to determine the current user mail domain string via the following methods
  • Look for the MAILDOMAIN environment variable, which can be set from outside the program. This is by far the best way to configure the domain.
  • Look for a file and extract DH parameter
  • Look for a smail config file and usr the first host defined in hostname(s)
  • Try an SMTP connect (if Net::SMTP exists) first to mailhost then localhost
  • Use value from Net::Domain::domainname (if Net::Domain exists)

WARNING: On modern machines, there is only one good way to provide information to this method: the first; always explicitly configure the MAILDOMAIN.


# in your main script
# everywhere else
use Mail::Util 'maildomain';
print maildomain;
Read $file, a binmail mailbox file, and return a list of references. Each reference is a reference to an array containing one message.

WARNING: This method does not quote lines which accidentally also start with the message separator "From", so this implementation can be considered broken. See Mail::Box::Mbox

This module is part of the MailTools distribution,

The MailTools bundle was developed by Graham Barr. Later, Mark Overmeer took over maintenance without commitment to further development.

Mail::Cap by Gisle Aas <>. Mail::Field::AddrList by Peter Orbaek <>. Mail::Mailer and Mail::Send by Tim Bunce <>. For other contributors see ChangeLog.

Copyrights 1995-2000 Graham Barr <> and 2001-2017 Mark Overmeer <>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See

2022-05-29 perl v5.36.0