A MERN stack application to send personalized emails to multiple recipients efficiently. This tool features email scheduling, recipient validation, open rate tracking, and click-through rate tracking, ensuring compliance with email regulations like GDPR and CAN-SPAM.
Personalize content using tags like recipient name or company.
-
Recipient Management Validate recipient lists to remove invalid or duplicate email addresses.
-
Scheduling Schedule emails to be sent at a specific date and time.
-
Tracking Open rate tracking using embedded tracking pixels.
-
Ensures emails are not sent to invalid or unsubscribed addresses.
-
Frontend: React.js
-
Axios: To handle API requests.
-
Backend: Node.js + Express: For server-side logic and API endpoints.
-
Brevo: For email sending.
-
Database: MongoDB
-
Node.js installed on your system.
-
MongoDB installed and running locally or accessible via a connection string.
-
Backend Setup-
- Clone the repository:
-
cd mass-emailing-tool
-
Install dependencies: npm install
-
Set up environment variables in a .env file:
PORT=5000 MONGO_URI=your-mongodb-connection-string EMAIL_USER=[email protected] EMAIL_PASS=your-email-password-or-app-password
- Start the backend server:npm start
- Navigate to the frontend folder:
- Install dependencies:
- Start the frontend server:
- Open your browser and navigate to http://localhost:3000.
-
POST /schedule-email
-
Schedule an email for a future time.
-
Request body:
"recipients": ["[email protected]", "[email protected]"],
"subject": "Your Subject",
"content": "Email content here",
"scheduleTime": "2025-01-09T12:00:00Z"
-
POST /validate-recipients
-
Validates a list of email addresses and removes invalid or duplicate entries.
Contributions, issues, and feature requests are welcome!
Steps to contribute:
1.Fork the repository.
2.Create a new branch:
3.Commit your changes and push them to the branch.
4.Open a pull request.
This project is licensed under the MIT License.