victor-heliomar / email-server-rust Goto Github PK
View Code? Open in Web Editor NEWA microservice created with Rust to send emails easily
A microservice created with Rust to send emails easily
If the SMTP response is that "email receiver doesn't exist", then the server should send an error message and error code related
Show the correct error if the user doesn't send a receiver email
Criteria acceptance:
If who starts the server don't have configured properly the .env, then show the error properly, this is related to #1
This middleware should validate if the email that the client is trying to send contains links to other websites. If the email body contains links to other websites, then should compare it with a whitelist that the server-owner will define in the project's .env.
?force-send=true
and the email will be sent, but the risky text will be replaced with an outbound email specified by the senderAs a security measure, the server will be capable of inserting a list of limited URLs than could be sent through email using this API, so we avoid that, for example, if the server is vulnerated and someone found how to send not allowed emails through it, we could avoid hacking tricks as is the phishing, allowing that the users only sends some allowed URLs through this server.
The related issue for this feature is this: #4
In this issue we should handle that error, showing the error properly
When all is ok in this endpoint, send a correct response to the client
Currently, the server works in a simple way, import the .env and use it. But it doesn't have a hardy configuration, for example: what happens if I try to run the server and not import the needed .env?, the server isn't prepared for this and will crash without leaving a suitable error message to track the error.
That's the reason why we should add a separate logic for the server configuration before starting it, initializing the needed variables, handling the errors properly, and adding other needed configurations that currently we don't have, for example, to change the address or the development/production ports
The current server doesn't have CORS middleware, so other users could simply send requests to the server and send unwished emails.
This CORS should allow just the origins allowed in the .env file
This task could be blocked by #1
The rate limit HTTP middleware allows restricting the maximum number of allowed HTTP requests per second. So if the server is overloaded will start to reject request from the same IP
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.