Swaks is a featureful, flexible, scriptable, transaction-oriented SMTP test tool written and maintained by John Jetmore. Features include:

SMTP extensions including TLS, authentication, and pipelining
Protocols including SMTP, ESMTP, and LMTP
Transports including unix-domain sockets, internet-domain sockets (IPv4 and IPv6), and pipes to spawned processes
Completely scriptable configuration, with option specification via environment variables, configuration files, and command line