Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

flexi-mailer

Package Overview
Dependencies
Maintainers
0
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flexi-mailer

A versatile email service supporting multiple providers, including SMTP, AWS SES, Mailgun, Postmark, and SendGrid.

  • 1.0.8
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7
increased by250%
Maintainers
0
Weekly downloads
 
Created
Source

flexi-mailer

codecov OpenSSF Scorecard Maintainability NPM Version NPM Downloads GitHub License contributions welcome code style: prettier GitHub Actions Workflow Status

A versatile email service supporting multiple providers, including SMTP, AWS SES, Mailgun, Postmark, and SendGrid.

Features

  • Supports multiple email providers
  • Easy to configure with environment variables
  • Modular and extensible design
  • TypeScript support

Installation

To install the package, use npm:

npm install flexi-mailer

Usage

First, set up your environment variables for the providers you plan to use. You can do this by creating a .env file in your project root:

SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your_smtp_user
SMTP_PASS=your_smtp_pass
SMTP_FROM=no-reply@example.com

AWS_REGION=us-east-1
AWS_SOURCE_EMAIL=no-reply@example.com

MAILGUN_API_KEY=your_mailgun_api_key
MAILGUN_DOMAIN=your_mailgun_domain
MAILGUN_FROM=no-reply@example.com

POSTMARK_API_KEY=your_postmark_api_key
POSTMARK_FROM=no-reply@example.com

SENDGRID_API_KEY=your_sendgrid_api_key
SENDGRID_FROM=no-reply@example.com

Example

import { EmailService, ProviderType } from 'flexi-mailer';

// Create an instance of EmailService with the desired provider
const emailService = new EmailService(ProviderType.smtp);

// Send an email
emailService
  .sendEmail('recipient@example.com', 'Test Subject', 'Test Body')
  .then(() => console.log('Email sent successfully'))
  .catch((error) => console.error('Failed to send email:', error));

Supported Providers

  • SMTP: ProviderType.smtp
  • AWS SES: ProviderType.ses
  • Mailgun: ProviderType.mailGun
  • Postmark: ProviderType.postmark
  • SendGrid: ProviderType.sendGrid

Environment Variables

SMTP

  • SMTP_HOST: SMTP server host.
  • SMTP_PORT: SMTP server port.
  • SMTP_USER: SMTP server username.
  • SMTP_PASS: SMTP server password.
  • SMTP_FROM: Sender email address.

AWS SES

  • AWS_REGION: AWS region.
  • AWS_SOURCE_EMAIL: Source email address for sending emails.

Mailgun

  • MAILGUN_API_KEY: Mailgun API key.
  • MAILGUN_DOMAIN: Mailgun domain.
  • MAILGUN_FROM: Sender email address.

Postmark

  • POSTMARK_API_KEY: Postmark API key.
  • POSTMARK_FROM: Sender email address.

SendGrid

  • SENDGRID_API_KEY: SendGrid API key.
  • SENDGRID_FROM: Sender email address.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

Issues

If you encounter any issues, please open an issue on GitHub.

Maintainers

Keywords

FAQs

Package last updated on 06 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc