I wouldnt say that. however setting uo your own mail server is a lot of work, as you have to abide a lot of "security" rules (SPF, DKIM, DMARC, rDNS). Additionally some hosters reuire you to apply for port 25 to be unblocked (e.g. hetzner)
The set up isn't actually hard at all, if you understand the concepts. Keeping off blacklists is the hard part, as big providers often block entire IP ranges due to one bad actor.
Edit: I meant sometimes your server gets blacklisted for something some neighboring server did
Well I did set one up today and the mails land in the spam folder for GMX, GMail and Microsoft (@live.de), although I set up SPF, rDNS, and DKIM. I have to take a look at how to setup DMARC, beacause my domain hoster doesn't allow free configuration of the TXT entries, you have to use templates and there isn't one for DMARC
I managed to set up an SMTP server on my instance, I think I used postfix and dovecot after following some random tutorial. Then followed it with some generic make your mail not fall into spam tutorial to have the DKIM records and whatnot and to my surprise the e-mails reached even my Gmail inbox, which has probably the most strict rules. I must say that setting up postfix with dovecot is the hardest part, at least for me, after that it was just copy-pasting commands and setting some DNS records.
Not sure if you’re hosting on AWS (if yes, free for the first 62k/month), else the $0.10/1k/month shouldn’t be too bad - https://aws.amazon.com/ses/pricing/
From my past experience with Sendgrid, it is trash, most of their shared IPs have poor reputation anyways, had lots of issues with them.
Running your own email server might be a good learning experience, a quick search brought up this all-in-one container solution - https://mailu.io/2.0/
Messing about with Postfix directly could be a painful experience, but yet another possibility.
Either way, new IPs will probably take some time to warm up, so don’t expect full deliverability for the first few days/weeks.
You should check that your cloud provider doesn’t block outgoing smtp traffic - iirc digital ocean and GCP do block.
If you are hosting public instances where you're sending emails out, you'll probably want to pay for transactional email providers like sendgrid as you've flagged. Sending large amount of email out yourself while ensuring high deliverability rating is doable, but will often result in more headache than cost savings.
On your own email server make sure that you have correctly setup dkim, spf, reverse dns, and the ip of server is not on any known denylist - but it still doesn't guarante that your email server would not get flagged as a spam source.
Or maybe setup transport rules that would try to deliver most emails directly, but to major providers like Gmail/outlook which are quite picky via smtp relay - at work we are using AWS SES to do that, it is not that expensive, but it depends on the volume.
Further, you can use https://mxtoolbox.com to help validate that the record are correct and the IP you have is not on a black list.
You'll either need to track down the operator of the blacklist and tell them it's no longer a spam address or, get a different IP from a different provider.
Additionally, to stay off black lists you'll need to lock down you relay feature so that only mail you want is going out. I.r. don't allow an open relay from anyone, if you have users, you should throttle them, and probably do outbound spam filtering to protect your IP in the event they use a bad password or something.
Using own email server, all emails are flagged as spam. Just put a message on your sign-up page or something like this. It is what it is when everyone uses gmail.com
FIRST, you need a host that lets you set PTR records for your IP. Check out Mailcow if you want to host your own server. It automates the security process and generates all the DNS records you need for your server to send email that won't be flagged as spam.
Once your server is set up you can test it with https://www.mail-tester.com/. If you can get a score of 10 you will be golden.