JSPM

miabclient

1.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q26420F
  • License ISC

A simple module for the Mail-in-a-Box API with little additions

Package Exports

  • miabclient
  • miabclient/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (miabclient) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

MiabClient

MiabClient is a simple module for interacting with the Mail-in-a-Box API with additional features. It provides a client for sending requests to a Mail-in-a-Box server, including methods for getting and setting the admin email, generating passwords, and fetching emails from a mailbox.

This client includes all neccessary methods to be used as an self-made kopeechka alternative.

MIAB: https://mailinabox.email/

Installation

You can install MiabClient using npm:

npm install miabclient

Requirements

You must have a fully setuped and working Mail-in-a-Box server, read here how to setup: https://mailinabox.email/guide.html

Usage

Here's an example of how you can use MiabClient to create an email and read emails:

import MiabClient from "miabclient";

// Initialize the client
const client = new MiabClient('https://your-domain.com', 'admin@your-domain.com', 'your-password');

async function main() {
    // Create a mailbox
    const mailbox = await client.createMailbox('your-domain.com'
        // 'username', // optional
        // 'password' // optional
    );
    console.log(mailbox); // { success: true, email: 'email@your-domain.com', password: 'password' }

    // Get emails
    const emails = await client.getEmails(mailbox.email, mailbox.password);
    console.log(emails); // { success: true, response: [ { ... }, { ... }, ... ] }

    // Wait for an email
    const email = await client.waitForEmail({
        email: mailbox.email,
        password: mailbox.password,
        regex: [
            'This text is in the email',
            
            // also supports regex in the form of a string
            '/This text is in the email/^i'	
        ]
    });

    console.log(email); // { success: true, response: { ... } }
}

Please replace 'https://your-domain.com', 'admin@your-domain.com', 'your-password', and 'mailbox@your-domain.com' with your actual domain, admin email, password, and mailbox respectively.

Additional Information

The module is based on the v67. [03.2024]

License

MiabClient is ISC licensed.