This Perl module provides routines for checking validity of email address.
It makes several checks:
1. It checks the syntax of an email address.
2. It checks if there any MX records or A records for the domain part of
the email address.
3. It tries to connect to an email server directly via SMTP to check if
mailbox is valid. It uses a combination of MAIL and RCPT commands which
simulates sending an email. It can detect bad mailboxes in many cases.
This module is a versatile and extensible implementation of the SMTP protocol
and its different evolutions like ESMTP and LMTP. The event driven
object-oriented API makes easy to incorporate the SMTP protocol to your
programs.
Other SMTPd implementations don't support useful ESMTP extensions and the LMTP
protocol. Their interface design precludes adding them later. So I've decided
to rewrite a complete implementation with extensibility in mind.
This module analyzses a Mail::Internet object and returns a
Mail::ListDetector::List object representing the mailing list the
email was sent to, if any.
The RFC2369 mailing list detector is also capable of matching some
Mailman and Ezmlm messages. It is deliberately checked last to allow
the more specific Mailman and Ezmlm parsing to happen first, and
more accurately identify the type of mailing list involved.
Mail::SPF is an object-oriented Perl implementation of the Sender Policy
Framework (SPF) e-mail sender authentication system.
This release of Mail::SPF fully conforms to RFC 4408 and passes the 2006.11
release of the official test-suite <http://www.openspf.org/Test_Suite>.
The Mail::SPF source package includes the following additional tools:
- spfquery: A command-line tool for performing SPF checks.
- spfd: A daemon for services that perform SPF checks frequently.
Mail::Spool is a "pure perl" implementation of mail spooling, unspooling
and sending. It is intended to be used with daemons such as
Net::Server::SMTP (to be released soon), but it also contains its own
daemon (based off of Net::Server::Fork) that can be used if necessary.
It is also intended to be used as a quick spooling mechanism for perl
scripts. As it can write straight to the queue without opening another
process.
Net::SMTP::SSL implements the same API as Net::SMTP, but uses IO::Socket::SSL
for its network operations. Due to the nature of Net::SMTP's new method, it is
not overridden to make use of a default port for the SMTPS service. Perhaps
future versions will be smart like that. Port 465 is usually what you want, and
it's not a pain to specify that.
The Horde_Mail library is a fork of the PEAR Mail library that provides
additional functionality, including (but not limited to):
* Allows a stream to be passed in.
* Allows raw headertext to be used in the outgoing messages (required for
things like message redirection pursuant to RFC 5322 [3.6.6]).
* Native PHP 5 code.
* PHPUnit test suite.
* Provides more comprehensive sendmail error messages.
* Uses Exceptions instead of PEAR_Errors.
Class to handle mail queue managment.
Wrapper for PEAR::Mail and PEAR::DB (or PEAR::MDB/MDB2).
It can load, save and send saved mails in background
and also backup some mails.
The Mail_Queue class puts mails in a temporary container,
waiting to be fed to the MTA (Mail Transport Agent),
and sends them later (e.g. a certain amount of mails
every few minutes) by crontab or in other way.
SquirrelMail is a standards-based webmail package written in PHP.
It includes built-in pure PHP support for the IMAP and SMTP protocols,
and all pages render in pure HTML 4.0 (with no Javascript required) for
maximum compatibility across browsers. It has very few requirements
and is very easy to configure and install. SquirrelMail has a all
the functionality you would want from an email client, including
strong MIME support, address books, and folder manipulation
PGPsendmail is a drop-in wrapper for the standard sendmail programme
which resides as /usr/sbin/sendmail on most Unix systems. It allows the
automatic encryption of outgoing messages by using the recipient's PGP
public keys. It does *not* provide for automatic decryption of incoming
messages: such a feature would necessarily involve compromising your
passphrase. However, it can provide for automatic signing of outgoing
messages by using PGPdaemon.