A Node.js API to create email accounts using cPanel’s API. This package automates email account creation, making it useful for hosting services, SaaS applications, and businesses that need email provisioning.
- Automates email account creation in cPanel
- Uses Node.js, Express, Axios, and cPanel API
- Easy to configure with environment variables
- Supports TypeScript and JavaScript
Install the package using npm:
npm install create-emails
Import the package and use the createEmailCpanel
function:
import { createEmailCpanel } from "cpanel-email-api";
const auth = {
cpanelHost:"cpanel-host",
username: "your-cpanel-username", password: "your-cpanel-password" };
createEmailCpanel({ domain: "example.com", email: "user", password: "password123",quota:100 }, auth)
.then(response => console.log(response))
.catch(error => console.error(error));
On success:
{
"status": 1,
"message": "Email account created successfully"
}
On error:
{
"error": "Missing required fields"
}
You can also run the API server to expose an endpoint:
npm start
This is a Node.js API for creating email accounts using the cPanel API.
- Node.js installed on your system
- cPanel account with API access
.env
file with cPanel credentials and host details
- Clone the repository:
git clone https://github.com/javadroid/Create-custom-emails-with-Cpanel-Nodejs cd <project-folder>
- Install dependencies:
npm install
- Create a
.env
file and add the following:cpanelHost=your-cpanel-host cpanelUsername=your-cpanel-username cpanelPassword=your-cpanel-password PORT=3000
-
Start the server:
npm start
-
Use Postman or any HTTP client to send a
POST
request to:http://localhost:3000/create-email-cpanel
Request Body:
{ "domain": "example.com", "email": "user", "password": "securepassword", "cpanelHost":"cpanel-host", "cpanelUser": "optional-cpanel-username", "cpanelPass": "optional-cpanel-password" }
{
"status": 1,
"message": "Email account created successfully"
}
- 400 Bad Request: Missing required fields
- 405 Method Not Allowed: Failed to create email account
- 500 Internal Server Error: Server-side error
This project is open-source. Modify and use it as needed.