I think about what it takes to implement an e-mail server. In principle, Google Cloud does not allow the sending of emails to a certain extent (they pretty much block the email ports), even though it sounds like you might be receiving emails. On the other hand, you can use AWS to send e-mails for about $ 1 per $ 10,000. This sums up some other SMTP services like SendGrid and the associated costs.
I am (vaguely) aware that there are many problems that Internet Service Providers (ISPs) want to prevent, such as: E-mail spam. It sounds like they have IP blacklists, somehow catching the emails and finding out if they are spam by checking their content. Somehow they also get access to abandoned email accounts and check who writes emails there (I have no idea how that works, but if there are helpful links, I would like to know, even though they are not relevant to the question are). Basically, the ISP uses all sorts of techniques to find out if your email service is spam so it can block and shut down your IP address. I can not understand why this has to happen at the ISP level, but that's not the point.
I'm wondering how to design an email server so it's not blacklisted and that it works around the clock, 24/7. Suppose I want to implement a service like Gmail or SendGrid. I wonder what action you should take to create an e-mail server. That is, the best practices are architectural to create a successful e-mail server.
Wherever I am, Amazon SES seems to be the best option. It is by far the cheapest and has no frills. Otherwise, you would have to buy your own hardware and build your own cloud if you wanted to buy a cheaper or lower level that I would imagine, and buy your own IP addresses. In short, the use of AWS SES sounds like a good option.
They give you the opportunity to use dedicated IP addresses.
Most email certification programs require dedicated IP addresses because you agree to manage your email reputation.
So e-mail server architecture principle have 1 dedicated IP addresses. But I do not want to do that yet and then get blacklisted for some unknown reason, which brings me to the heart of the question. How can you not blacklist yourself?, Since this is a service like Gmail or SendGrid, millions of marketing e-mails and millions of personal e-mails could be sent from millions of different e-mail accounts. every day, I do not see how I can determine if I'm using the right things for the email server to be of the highest quality and potentially "certified" (not sure what email server certification really is or whether it's one thing Google Search does not reveal anything, but AWS mentions it). That's the high level things are that you should put in place warranty that all e-mails are always delivered (or all e-mails from all "good" e-mail accounts on your system are delivered). If it is not possible warranty Then I would like to know why not, and the answer could only be tailored to what comes closest to a guarantee we can get.
Basically, the architectural measures required for an e-mail server to deliver emails consistently without being blocked.
I'm referring (for this question) not to scaling the email server or creating the email server itself, but only the best practices of architecture to prevent it from being blacklisted.
As I understand it, some of the original principles are:
- Have a dedicated IP address. (Not sure if you should have only one or if you can have 2 or 3 or 100).
- Do not send spam.
That's all I can think about. For (2), this means that you must have good spam filters and other security measures, such as: For example, checking that someone is behind the email account, etc. But even for (2) I'm unsure how to handle the problem of false positives. That is, some users send more than 100 people daily, maybe even a few mass-marketing emails like those marketing sites that make themselves rich with Adwords, with email lists in the tens of thousands. I would like to know if that is pure volume emails causes a red flag and how to handle this. Then the content is just important to make sure that this is purely based on internal spam filters, and that the ISP does not block such things.
If this is a broad topic, I want to focus it closely. I can imagine that part of it is going to learn more about preventing email spam, which I will do. So this question does not have to treat the spam stuff in detail. To put it briefly, I wonder what architectural measures should be taken to avoid being blacklisted. This could include (simply make):
- Have a fixed number of dedicated IP addresses that is less than the number x
- Contact some ISP providers and tell them manually about your business goals, even on the phone.
- Implement spam filters to prevent spam from being sent in the first place.
- If you have geographically dispersed e-mail servers, you might also have something.
- Send the canceled accounts or closed accounts programmatically to the ISP for verification.
- You may be able to access other providers by manually creating an API integration and partnership.
- Assign phone numbers to the accounts.
I can understand it to implement an e-mail / SMTP server and send and receive messages in scale. So architecturally, that makes sense. What is missing in the picture are the architectural components to prevent blacklisting on such a scale.
In short, I'd like to know how Gmail and SendGrid avoid blacklisting, but that's probably proprietary 🙂