Horde Groupware Webmail Edition is an enterprise ready browser-based communication suite. Users can read, send, and organize email messages and manage and share calendars, contacts, tasks, and notes with the standards compliant components from the Horde Project. It bundles the separately available applications IMP, Ingo, Kronolith, Turba, Nag, and Mnemo. It can be extended with any of the released Horde applications or the Horde modules that are still in development, like a file manager, a bookmark manager, a forum, or a wiki.
The MIME Email message class composes and sends MIME encoded email messages. It features user-definable headers and body parts, support for plain text and HTML body, headers with non-ASCII text, HTML messages with embedded images, file attachments with content type detection, forwarding of messages as attachments, setting the error delivery address with the Return-Path header, and sub-classes for different delivery methods: mail, SMTP, Qmail, Sendmail, and Microsoft IIS or Exchange pickup folder. It also supports sending personalized bulk mail by replacing the message parts that differ for each recipient.
SMTP client class is a PHP class that connects to a mail server to send messages. It can relay message delivery to a defined server or directly deliver messages to a recipient's server for urgent message delivery. It supports secure connections with SSL or starting TLS after the connection is established, connection timeouts, authentication using PHP SASL class (PLAIN, LOGIN, CRAM-MD5, NTLM), POP3 before SMTP delivery authentication, and takes advantage of the SMTP PIPELINING extension to buffer SMTP commands, providing much faster queueing of messages when delivering to a large number of recipients (bulk mail).
This is a PHP class that attempts to validate a given e-mail address at three levels: matching the address against a RFC compliant regular expression, verifing the existence of the destination SMTP server by verifying the respective DNS MX record, and connecting to that server to see if the given address is accepted as a valid recipient. The class also features a debugging output option that lets you see the remote SMTP server connection and data exchange dialog to see the real cause why an apparently valid address may not be accepting messages.