Frequently asked questions

Everything you need to know about using Ethereal — the free email-catching service that stores your test emails for review instead of delivering them.

Getting started

What is Ethereal Email?

Ethereal is a free email-catching service, mostly aimed at (but not limited to) Nodemailer users. Configure Ethereal as your outbound SMTP service and start sending mail. Nothing is actually delivered. All emails are caught and stored for review. What makes Ethereal stand out is the IMAP support and the freedom to create as many test accounts as you wish, even programmatically.

Why would someone want to use Ethereal?

Ethereal is mostly useful for app development. Instead of configuring a real email account for sending mail, your application can automatically request an Ethereal test account and use it for message delivery. You get the same experience as using any other mail service provider, and you can configure it as an outbound mail server and send your transactional or marketing emails through the Ethereal service. Unlike real email services, Ethereal only accepts mail for delivery but never actually delivers anything. Instead, you get a URL (or use your favorite IMAP app) to conveniently preview the sent messages. This makes Ethereal a safe email sandbox: you can test email sending against any recipient address without the risk of spamming real people.

Must I use Nodemailer to use Ethereal?

No, you can use any mail client or library that supports SMTP, be it PHPMailer for PHP, SwiftMailer, or even Outlook Express. Ethereal accounts behave like any standard SMTP account.

Creating accounts

How do I create an Ethereal test account?

Ethereal accounts can be created by Nodemailer using the nodemailer.createTestAccount(callback) method (or manually with one click from the login page). This method requests a new account (or uses a cached account) from Ethereal and returns related information. All Ethereal accounts look exactly like any other SMTP service account. For applications trying to send mail, there's no difference whatsoever.

Should I generate a new account for every message?

You sure don't have to, even though you can. Account details are cached in memory, so if you make two account requests from the same process, you only create one new account. If you do not want to list sent messages, then you don't have to worry about accounts. If you do, though, then you should store the account details somewhere and reuse these. Normally, you would generate a single account and use it for all your testing.

Sending & previewing

Where is the message preview URL?

Once you have sent your message using an Ethereal account, you can get a message preview URL with the nodemailer.getTestMessageUrl(info) method (the info object is the response from sendMail). Open that URL in your web browser to see the sent message. Message URLs are public and do not require authentication. Or, to be more correct, the authentication info is encoded into the URL.

Alternatively, you can log in and see the messages page or use your favorite IMAP/POP3 client to access the sent messages.

Is there an example?

Yes, below is a screenshot of an email caught by Ethereal

Screenshot of the Nodemailer example message previewed in the Ethereal web interface

Messages & storage

How long are messages stored?

Messages are stored for a few hours, after which these are deleted. Message envelope info also indicates the expected expiration time after the message is deleted.

I signed in to the account using IMAP. Where are all the messages?

All messages, both sent and received, can be found in the INBOX folder (unless the message has already expired).

I'm over quota! Help!

Every address gets a quota of 100MB of message storage. Once that quota is full, you can not receive any more messages to your account address. To clean up some space, you can either use an IMAP client (using POP3 does not work) and delete older messages. Alternatively, you could just wait until all stored messages expire automatically.

Inbound, limits & cost

Can an Ethereal account receive incoming email?

Inbound email is enabled only for accounts created by EmailEngine subscribers. For public accounts inbound is disabled and messages sent to these addresses bounce. See the help page for details on generating accounts with inbound access.

Are there any rate limits?

Yes. Public accounts can send up to 200 messages per hour. Once you reach that limit, the server temporarily rejects further messages until the start of the next hour. Accounts with inbound access (created by EmailEngine subscribers) are not rate limited.

Is Ethereal free? How is it sustainable?

Ethereal is completely free to use. The service is funded by the ads displayed on Nodemailer.com and provided by EmailEngine.

Still need help?