Socket
Socket
Sign inDemoInstall

node-mailu

Package Overview
Dependencies
9
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    node-mailu

node-mailu is a Node.js library designed to facilitate interaction with the Mailu API, an open source, self-hosted email platform. This library provides methods and functions that allow developers to programmatically manage various operations related to t


Version published
Weekly downloads
5
decreased by-54.55%
Maintainers
1
Install size
2.13 MB
Created
Weekly downloads
 

Readme

Source

node-mailu

This client library provides a convenient way to interact with a Mailu API instance. It encapsulates the necessary details for authentication and interaction with various Mailu services.

Reference: Mailu's official RestAPI documentation.: https://mailu.io/master/api.html

Installation

You can install node-mailu via npm:

npm install node-mailu

Usage

const axios = require('axios');
const MailuClient = require('node-mailu');

// Replace with your Mailu instance's endpoint and API key
const endpoint = 'https://mailu.yourdomain.com/api/v1';
const apiKey = 'YOUR_API_KEY'; 

const mailuClient = new MailuClient(endpoint, apiKey);

// Example: Creating a new user
(async () => {
    try{
        const user = await mailuClient.userService.createUser({
            email: 'newuser@example.com',
            raw_password: 'yourpassword',
            comment: 'New user account'
        });
        console.log('User created:', user.data);
    }catch(error){
        console.error('Error creating user:', error);
    }
})();

Important Note

Your API key is stored within the mailu directory on your system, contained within the .env environment file. Reference the Mailu documentation for specifics.

Sections

  • MailuClient
    • Constructor
    • useAxios
  • Services
    • AliasService
    • AlternativeService
    • DomainService
    • RelayService
    • UserService

MailuClient

The core client for interacting with the Mailu API.

Constructor

constructor(endpoint, apiKey)
  • endpoint (string): The base URL of your Mailu API instance.
  • apiKey (string): An authorization key to access the Mailu API.

useAxios

A utility method to handle API requests using Axios.

useAxios(method, path, data)
  • method (string): The HTTP method to use ('get', 'post', etc.).
  • path (string): The endpoint path relative to the base URL.
  • data (object, optional): Data to send in the request body.

Returns: A Promise resolving with the API response data, or rejecting with an error.

Services

Each service represents a domain of functionality within the Mailu API.

AliasService

Methods for managing email aliases in Mailu.

  • getAliases() - Retrieves all aliases.
  • createAlias(body) - Creates a new alias.
  • getAliasesFromDomain(domain) - Retrieves aliases for a specific domain.
  • updateAlias(alias, body) - Updates an existing alias.
  • getAlias(alias) - Retrieves a single alias.
  • deleteAlias(alias) - Deletes an alias.

AlternativeService

Methods for managing alternative addresses (additional emails for receiving to a user's inbox).

  • getAlternatives() - Retrieves all alternative addresses.
  • createAlternative(body) - Creates a new alternative address.
  • getAlternative(alt) - Retrieves details of an alternative address.
  • deleteAlternative(alt) - Deletes an alternative address.

DomainService

Methods for managing domains in Mailu.

  • getDomains() - Lists all domains.
  • createDomain(body) - Creates a new domain.
  • updateDomain(domain, body) - Updates a domain.
  • getDomain(domain) - Retrieves details of a domain.
  • deleteDomain(domain) - Deletes a domain.
  • generateDomainKeys(domain) - Generates DKIM keys for a domain.
  • getDomainManagers(domain) - Lists managers for a domain.
  • createDomainManager(domain, body) - Adds a new domain manager.
  • deleteDomainManager(domain, email) - Removes a domain manager.
  • getDomainManager(domain, email) - Retrieves details of a domain manager.
  • getUsersFromDomain(domain) - Lists users of a domain.

RelayService

Methods for managing email relays.

  • getRelays() - Lists all relays.
  • createRelay(body) - Creates a new relay.
  • updateRelay(name, body) - Updates a relay.
  • getRelay(name) - Gets details of a relay.
  • deleteRelay(name) - Deletes a relay.

UserService

Methods for managing Mailu users.

  • getUsers() - Lists all users.
  • createUser(body) - Creates a new user.
  • updateUser(email, body) - Updates a user.
  • getUser(email) - Retrieves details of a user.
  • deleteUser(email) - Deletes a user.

Keywords

FAQs

Last updated on 28 Feb 2024

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc