D
D
Dimetriy2019-12-26 10:48:18
Mail server
Dimetriy, 2019-12-26 10:48:18

Sending as many emails as possible through your own server. What and how?

There are more than a million email addresses in the subscriber base.
We use third-party mailers, but it turns out really expensive within a year. Very expensive.
It is possible to put your own server with a white IP to a good provider under this business.
DKIM, SPF and other delights, of course, are also there.
Question - on what to write and how to send?
I'm trying to understand architecture. Just sending one message from php through Exim (now we use it to send orders / registrations, separately from marketing mailings) - it turns out to be very long. As far as I understand, he cannot digest the stream much and it turns out to send 2-3 letters per second (but this is not accurate). Thus, the entire database will be sent out for 30 hours, which is not an option at all.
What can be used for this? More precisely, what technologies? What do legal mailers use?
So far, besides the idea - we are figuring 100 docker containers with exim and queues - I have no thoughts. This is such a decision + you are tormented to work out the logs after all this business.
In general, any ideas, links to software or tutorials are welcome. Paid software is possible.
P.S. So that there are no questions on the topic "ah spam is not good" - the entire mailing list is white, only for those who subscribed themselves. Exclusively own clients.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
N
neol, 2019-12-26
@neol

Exim by default tries to send an email as soon as it receives it, and your script waits for this process to complete. Accordingly, if you have a script in PHP and you do not bother to parallelize it, then everything will be extremely sad. But if you add the queue_only parameter to the Exim config, then the letter will go to the send queue and be sent later.
And in order for the queue to be processed more cheerfully, it will be necessary to reduce the time between sending the queue (for debian it is set by the QUEUEINTERVAL variable in /etc/default/exim4 ) and, probably, to specify the number of queue handlers (queue_run_max in the Exim config, by default 5).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question