smtp-helper
v1.1.0
Published
A Node.js helper library to simplify SMTP server setup and email testing
Downloads
15
Maintainers
Readme
SMTP Helper
A simple Node.js library to help you quickly set up and test SMTP servers.
Installation
npm install smtp-helperFeatures
- Simple SMTP client setup
- Send emails with minimal configuration
- Supports secure and non-secure SMTP connections
- Supports attachments (local files, Buffers, or URLs)
Usage
- Create an SMTP Client
const { createSMTPClient, sendEmail } = require('smtp-helper');
const client = createSMTPClient({
host: 'smtp.example.com',
port: 587,
secure: false, // true for port 465, false for others
user: '[email protected]',
pass: 'your-password', //smtp app password
});- Send an Simple Email
sendEmail(client, {
from: '[email protected]',
to: '[email protected]',
subject: 'Hello from SMTP Helper',
text: 'This is a test email!',
})
.then(() => console.log('Email sent successfully'))
.catch(console.error);- Send an Email with Attachments
sendEmail(client, {
from: '[email protected]',
to: '[email protected]',
subject: 'Email with Attachment',
text: 'Please see the attached file.',
attachments: [
{
filename: 'test.txt',
path: './test.txt', // local file path
},
{
filename: 'image.jpg',
path: 'https://example.com/image.jpg', // remote URL
},
{
filename: 'notes.txt',
content: 'This is a string-based file attachment.', // string or Buffer
}
],
})
.then(() => console.log('Email with attachment sent successfully'))
.catch(console.error);API Reference
createSMTPClient(options) Creates and returns an SMTP client.
Parameters:
- host (string): SMTP server hostname
- port (number): Port number
- secure (boolean): Use TLS (true for 465)
- user (string): SMTP username
- pass (string): SMTP password
sendEmail(client, mailOptions) Sends an email using the created client.
Parameters:
- from (string): Sender email address
- to (string): Recipient email address
- subject (string): Email subject
- text (string): Email body (plain text)
- html (string, optional): Email body (HTML)
- attachments (array, optional): List of attachments
- filename (string): Name of the file
- path (string, optional): Local file path or remote URL
- content (Buffer | string, optional): File content directly
- contentType (string, optional): MIME type
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
