emaile2e-client
v0.1.1513898268
Published
The official javascript client for the Emaile2e API. See https://emaile2e.com for more information.
Downloads
4
Readme
emaile2e-client
Email-e2e is and 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 randomized email addresses.
Why?
Email-e2e was built to test the integration of email services within an app. If your application relies on the sending or receiving of emails, then Email-e2e 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
- There is an official Javascript SDK available on npm.
- You can also use the swagger JSON definition and swagger-codegen to generate a swagger client in a language of your choice.
Legal
The Emaile2e 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 emaile2e-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 emaile2e-client from, and run:
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
You should now be able to require('emaile2e-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 Emaile2eClient = require('emaile2e-client');
var api = new Emaile2eClient.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.emaile2e.com
Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- Emaile2eClient.InboxcontrollerApi | createRandomInboxUsingPOST | POST /inboxes | Create an inbox Emaile2eClient.InboxcontrollerApi | deleteInboxUsingDELETE | DELETE /inboxes/{uuid} | Delete an inbox Emaile2eClient.InboxcontrollerApi | getEmailsForInboxUsingGET | GET /inboxes/{uuid} | Fetch emails for a given inbox Emaile2eClient.InboxcontrollerApi | getListOfInboxesUsingGET | GET /inboxes | List your inboxes Emaile2eClient.InboxcontrollerApi | sendEmailFromUserUsingPOST | POST /inboxes/{uuid} | Send an email Emaile2eClient.UsercontrollerApi | getUserUsingGET | GET /user | Fetch a user
Documentation for Models
- Emaile2eClient.EmailDto
- Emaile2eClient.InboxDto
- Emaile2eClient.Response
- Emaile2eClient.ResponseInboxDto
- Emaile2eClient.ResponseListEmailDto
- Emaile2eClient.ResponseListInboxDto
- Emaile2eClient.SendEmailDto
- Emaile2eClient.UserDto
Documentation for Authorization
All endpoints do not require authorization.