Get Started on Mailer Project
Overview
Begin working on the Mailer project written in PHP core located in the 'mailer' folder within this repository. The goal is to create an application that can be containerised using Docker and deployed on an Azure or AWS virtual machine with a specific IP address. This setup is crucial to ensure that our emails reach the inbox successfully We should also explore the possibility of using a free SMTP service or hosting our SMTP server.
Fallback Plan
In case our emails do not land in the client's inbox, we want to have a fallback option by integrating Amazon SES. However, this may require further investigation to understand the implementation details.
API Specification
To start with, let's create an open API endpoint with the following parameters:
email
(string)
to
(string, validated with regex for email format)
from
(string)
message
(string)
title
(string)
priority
(boolean)
The purpose of this endpoint is to use our email function that relies on a SMTP connection to send the email. Additionally, it will log the email's status, whether it was successfully sent or failed, in a JSON file (This is only a temporary measure until we start using google big-data). If the email fails to send, it will also be added to a retry queue in local storage for future attempts sent using Amazon SES.
Location
You can find this task in the 'apps/mailer' directory within the repository.
Happy coding!