Email Sender API Integration
Integrate seamless email sending functionality into your applications using the Email Sender API. This README provides essential information for getting started, authentication, API endpoints, and code examples.
Documentation and Support
For more detailed information about the API, including advanced usage, error handling, and best practices, please refer to the full API documentation:
Link to your API Documentation Website
If you have any questions, encounter issues, or need support, please visit our support page or contact us:
Link to your Support Website or Contact Information
Website
Visit our website to learn more about our services and offerings:
Keywords
Email API, Email Sending, REST API, Integration, SaaS, Authentication, Rate Limiting, Send Email, Check Quota, Webhooks
Overview
This API allows developers to programmatically send emails and check their sending quota. It's designed for easy integration into various applications, from simple scripts to complex web platforms.
Base URL
All API requests should be made to the following base URL:
https://saas-email-production.up.railway.app/api
Authentication
All API requests require authentication via an API key. You must include your API key in the x-api-key
header of each request.
x-api-key: YOUR_API_KEY
Remember to replace YOUR_API_KEY
with your actual API key.
Rate Limiting
To ensure fair usage and prevent abuse, the API implements rate limiting. The limits vary based on your subscription tier:
- Free tier: 10 emails per minute, 100 per hour, 1,000 per day
- Standard tier: 50 emails per minute, 500 per hour, 5,000 per day
- Premium tier: 100 emails per minute, 1,000 per hour, 10,000 per day
Be mindful of these limits when integrating the API into your application.
API Endpoints
1. Send Email
This endpoint allows you to send emails to one or more recipients.
Method: POST
Endpoint: /api/email/send
Request Headers:
Content-Type: application/json
x-api-key: YOUR_API_KEY
Request Body Parameters (JSON):
Parameter | Type | Required | Description |
---|---|---|---|
to |
string | Yes | Email address of the recipient(s). Can be a single address or an array. |
subject |
string | Yes | Subject line of the email. |
text |
string | Yes | Plain text content of the email. Either text or html is required. |
html |
string | Yes | HTML content of the email. Either text or html is required. |
from |
string | Yes | Email address of the sender. Defaults to the system's address. |
replyTo |
string | No | Email address where replies should be sent. |
attachments |
string | No | (Note: Not mentioned in the provided documentation, but a common feature) |
contentType |
string | No | (Note: While you mentioned it in your function, it's usually inferred from the presence of text or html ) |
Example cURL Request:
`
bash
curl -X POST https://saas-email-production.up.railway.app/api/email/send \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"to": "recipient@example.com",
"subject": "Hello from the API",
"text": "This is a test email sent from the API"
}'
- Check Quota This endpoint allows you to check your current email sending quota and usage.
Method: GET Endpoint: /api/email/quota
Request Headers:
x-api-key: YOUR_API_KEY Response (JSON):
JSON
{ "quota": 1000, "used": 25, "remaining": 975 } Code Examples The documentation provides code examples in various programming languages to help you get started:
cURL Node.js React.js PHP Refer to the original documentation for these examples.
Webhooks (Upcoming) The API plans to support webhooks in a future version. Webhooks will allow your application to receive real-time updates about email events such as delivery, opening, clicks, bounces, and complaints.
Integrating Your sendEmail Function as an npm Package To make your sendEmail function installable via npm, you would typically structure it as a JavaScript module. Here's a basic outline:
Create a package.json File: In the root of your email-sender directory, create a package.json file with information about your package:
JSON
{ "name": "your-package-name", // Choose a unique package name "version": "1.0.0", "description": "A simple email sending utility for the Email Sender API", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "author": "Your Name", "license": "ISC", "dependencies": { "node-fetch": "^3.0.0" // Add fetch as a dependency } } Remember to replace "your-package-name", "Your Name", and other placeholders with your actual information.
Publish to npm (Optional): If you want others to use your package, you can publish it to npm after creating an npm account and logging in via the terminal:
Bash
cd email-sender npm publish How to Use Your Package After Installation:
JavaScript
const sendEmail = require('your-package-name');
async function main() { try { const result = await sendEmail({ apiKey: "ems_Hr7gMyXSB", to: "kushalhail.com", from: "ku00@gmail.com", subject: "Hello from my npm package!", text: "This is a test email sent using my custom npm package.", }); console.log('Email sent successfully:', result); } catch (error) { console.error('Failed to send email:', error.message); } }
main(); This README provides a comprehensive overview of the Email Sender API based on the documentation you shared. Remember to replace placeholders like YOUR_API_KEY and adjust the npm package details as needed.