/emaile2e-javascript-client

Test email integration with your app using MailSlurp

Primary LanguageJavaScript

mailslurp-client

MailSlurp is an end-to-end email testing service. It has a web-app for managing your account and a REST API for sending and receiving emails from randomly generated email addresses.

Why?

MailSlurp was built to test the integration of email services within an app. If your application relies on the sending or receiving of emails, then MailSlurp will let you test that functionality. This is a more common need than you might think: if your app has a sign up process that requires email verification, how do you currently test that?

Getting started

Every API request requires a valid API Key appended as a query parameter. To obtain an API Key visit your account dashboard.

The general flow is as follows:

  • Create a new inbox during a test. The email address will be returned in the response.
  • Send an email to that address or trigger an action in your test that does so.
  • Fetch the email for your new inbox and check if its content is what you expected, or use the content in another action.

SDK

Legal

The Mailslurp API code is owned by PettmanUG and uses a proprietary software licence. The SDKs are free to use in any project and have an ISC licence.

Bugs, features, support

To report bugs or request features please see the contact page. For help see support.

Installation

For Node.js

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install mailslurp-client --save
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

Finally, switch to the directory you want to use your mailslurp-client from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

You should now be able to require('mailslurp-client') in javascript files from the directory you ran the last command above from.

git

If the library is hosted at a git repository, e.g. https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file, that's to say your javascript file where you actually use this library):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var MailslurpClient = require('mailslurp-client');

var api = new MailslurpClient.InboxcontrollerApi()

var apiKey = "test"; // {String} Your API Key. Sign up and find it in your dashboard.

api.createRandomInboxUsingPOST(apiKey).then(function(data) {
  console.log('API called successfully. Returned data: ' + data);
}, function(error) {
  console.error(error);
});

Documentation for API Endpoints

All URIs are relative to https://api.mailslurp.com

Class Method HTTP request Description
MailslurpClient.InboxcontrollerApi createRandomInboxUsingPOST POST /inboxes Create an inbox
MailslurpClient.InboxcontrollerApi deleteInboxUsingDELETE DELETE /inboxes/{uuid} Delete an inbox
MailslurpClient.InboxcontrollerApi getEmailsForInboxUsingGET GET /inboxes/{uuid} Fetch emails for a given inbox
MailslurpClient.InboxcontrollerApi getListOfInboxesUsingGET GET /inboxes List your inboxes
MailslurpClient.InboxcontrollerApi sendEmailFromUserUsingPOST POST /inboxes/{uuid} Send an email
MailslurpClient.UsercontrollerApi getUserUsingGET GET /user Fetch a user

Documentation for Models

Documentation for Authorization

All endpoints do not require authorization.