mikromail
v0.0.7
Published
Lightweight replacement for Nodemailer, supporting HTML, international symbols, and more.
Readme
MikroMail
Lightweight replacement for Nodemailer, supporting HTML, international symbols, and more.
- Supports international symbols
- Supports HTML emails
- Defaults to secure transmission
- Tiny (~4.4 KB gzipped), which is ~13x smaller than Nodemailer
- Zero dependencies
Usage
Quick Start
import { MikroMail } from 'MikroMail';
const config = {
user: '[email protected]',
password: 'YOUR_PASSWORD_HERE',
host: 'smtp.email-provider.com'
};
const emailOptions = {
from: '[email protected]',
subject: 'Test Email',
text: 'Hello!',
to: '[email protected]' // You can also send to multiple recipients: ['[email protected]', '[email protected]']
};
await new MikroMail({ config }).send(emailOptions);Bigger example
import { MikroMail } from 'MikroMail';
const sender = '[email protected]';
const config = {
// Required
user: sender,
password: 'YOUR_PASSWORD_HERE',
host: 'smtp.your-provider.net',
// Optional - defaults shown
port: 465,
secure: true,
debug: false,
maxRetries: 2
};
const emailOptions = {
// Required
from: sender,
subject: 'Test Email',
text: 'Hello, this is a test email! Hallå, MikroMail has international support for, among others, español, français, português, 中文, 日本語, and Русский!',
to: '[email protected]',
// Optional
cc: ['[email protected]'],
bcc: ['[email protected]'],
html: `
<html>
<head>
<meta charset="utf-8">
<style>
body { font-family: Arial, sans-serif; color: #333; }
.highlight { color: #0066cc; font-weight: bold; }
</style>
</head>
<body>
<h1>Hello, this is a test email!</h1>
<p>Hallå, MikroMail has <span class="highlight">international support</span> for, among others, español, français, português, 中文, 日本語, and Русский!</p>
<p>It also supports <b>HTML formatting</b> and <i>styling</i>.</p>
</body>
</html>
`,
headers: {
'X-Priority': '1',
'X-Custom-Header': 'Custom Value'
}
};
await new MikroMail({ config }).send(emailOptions);Testing
Some of the tests require faking an SMTP server. Here we use Mailpit, which will run a server on http://localhost:8025.
- On a Mac, install Mailpit with
brew install mailpit(assuming you have Homebrew) - Run Mailpit with
brew services start mailpit - Stop Mailpit with
brew services stop mailpit
License
MIT. See the LICENSE file.
