'All green', but I still can't get email sent from cloudron
-
I ran your domain (assuming it's legit) and there are several issues with the SPF records, rDNS (or PTR record - something set up the server), and DKIM record. These are not super hard to fix - just read up on them, run your domain through the sites below to get an idea of the issues, and depending on your domain registrar, allow for up to several hours for any DNS changes to propagate. Once you've settled these, you'll Cloudron is just super for running your email off of.
https://mxtoolbox.com/domain/
https://www.emaillistverify.com/dns-health-checker
https://dnschecker.org/domain-health-checker.php
https://uptime.com/domain-health
https://dmarcian.com/domain-checker/ -
It's better to have only one spf record. IMHO it's safe to delete the first one.
dig -t TXT unstuckphd.com ; <<>> DiG 9.18.1 <<>> -t TXT unstuckphd.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6243 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ;; QUESTION SECTION: ;unstuckphd.com. IN TXT ;; ANSWER SECTION: unstuckphd.com. 300 IN TXT "v=spf1 a mx ~all" unstuckphd.com. 300 IN TXT "v=spf1 a:my.unstuckphd.com include:spf.titan.email ~all"
-
Well, I got too excited too soon. Cloudron/nodebb is not sending email now that I have configured it to use postmarkapp.
From inside nodebb, I see the email sender is town.app@unstuckphd.com. And one cannot change it.First, is cloudron using the postman relay?
Now when I use 'test email' from cloudron, nothing arrives to gmail addresses. But also NOT to the same domain sending the email (comm@unstuckphd as sender and receiver).
What do we know? Postmark can send email:
curl "https://api.postmarkapp.com/email" \ -X POST \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "X-Postmark-Server-Token: 7651aab8-f197-438e-a1c1-474edc977afc" \ -d '{ "From": "comm@unstuckphd.com", "To": "comm@unstuckphd.com", "Subject": "Hello from Postmark", "HtmlBody": "<strong>Hello</strong> dear Postmark user.", "MessageStream": "outbound" }'
Works:
{"To":"comm@unstuckphd.com","SubmittedAt":"2022-04-19T19:50:27.4884947Z","MessageID":"632b44b6-08ae-4c1c-883e-a834b7fe2f35","ErrorCode":0,"Message":"OK"}⏎
I have no idea what to test next. This 'email not working' is a bottleneck to go live, and it has sucked 2 fulltime days of my life already.
-
@qwinter Well, now you need to go change the SPF records since you are using Postmark to send email! I'm pretty sure they will have a page explaining what info you need to include. The reason it won't be sending right now is that the various email systems out there see that the domain is using the Postmark smtp host, without anything about Postmark in the SPF records (which are all at your domain name registrar), but instead either just the domain, or the IP of the Cloudron server, which have nothing to do with Postmark. If you opt for Postmark, they will likely also give instructions on how to set up DKIM and DMARC. Happy reading!!
However, what is receiving your email? If you are using Cloudron to manage your email, it doesn't make sense to use an external SMTP (well, someone here might have a good valid reason, but then they are also likely a DNS Master). So, instead of trying to mix and match the SENDING and the RECEIVING sides of email, just stick with Cloudron, read what you can about SPF, DKIM, DMARC, DNS, starting with the Cloudron documentation, and stick it out. You've already been told that it might take a while for the new domain and email to get "warmed up". And you've been given some tips on how to help that. So, try it. But when you keep mixing and matching... well, you hit a point where it's tough for anyone to definitely say what the problem is.
Email is NOT a mystical black hole, you just need to patiently read the docs.
-
@scooke thanks, I know it can be frustrating to help someone who is trying too many things at the same time and who doesn't want to read the abundant docs everywhere. Email does feel like a black box. Right now there are MX records from titan.email (which I bought from name.com when I got the domain). I can remove those. But then how do I check test emails? I take what you mean is that I should use one of the cloudron webmail apps?
This is what I have on my DNS (name.com) for that domain:
However, what is receiving your email? If you are using Cloudron to manage your email, it doesn't make sense to use an external SMTP
Who is receiving email: gmail accounts for testing (2 gmail, one gsuite) and one titan.email for good measure.
Problem is that when I used cloudron with no relay, email did not arrive to anything but spam. As recommended here, I tried to mark as 'not spam' and reply to these emails, but that didn't solve the problem. It might be I need to do this more and be patient, but this doesn't help: I wanted to have launched this community weeks ago; by going self-hosted I'm adding a few days to the launch. Which is fine, this is a skill I want to learn about self-hosting and even encourage more people to do it.What I don't want to learn how email works and all the certification layers that need to happen for email to 'just work.' This seems to be a rabbit hole, and an exercise in Yak shaving. If I have to, I will, but I have dozens of things that are higher priority now. Email is smack in the middle of everything. Unless you solve it, you cannot do self-hosting. And it is unpleasant: anyone who doesn't want to have anything to do with sysadmin/servers (99% of the population) will not go through this hoop. I've been on desktop linux for > 20 years and I find it too convoluted. You need to understand way too many things to get it to work. It's like going to a shop to buy a piece of paper, which is just a prerequisite for what you wanted to do, and getting a lecture about growing trees and making paper. A lecture that if you don't attend, you will get no paper. Period.
I'll push it through and get it done. But my hopes of getting anyone around me to get this done themselves have dropped to zero.
This could be a problem: 'test mode, we are reviewing your account'
EDIT: this might explain everything:
Might be waiting 24 hrs 'solves email'. I would still love to know if I should remove the MX entries for titan mail and use one app from cloudron to read email from this domain. The mixed mx entries might be causing trouble.
I think I have set up SPF, DKIM, DMARC with postmark as they instructed. My reason to move to postmark was to avoid getting stuck in spam folder for the time it takes for the domain to warm up. Which coulld be days, and that would kill the project.
-
@scooke nope. Emails are received via titan.email
dig -t MX unstuckphd.com ; <<>> DiG 9.18.1 <<>> -t MX unstuckphd.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39675 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;unstuckphd.com. IN MX ;; ANSWER SECTION: unstuckphd.com. 300 IN MX 20 mx2.titan.email. unstuckphd.com. 300 IN MX 10 mx1.titan.email.
-
@qwinter Don't feel bad, I wasn't getting on your case for NOT reading the docs, looks like you have been. I'm just trying to encourage you to keep at it.
Although the latest screenshots show yet a different solution?? titan email? titan.email... Ah, I've just googled it. Yeah, I can't help you there atm. I'd need to read their docs! All I can say is choosing Paid-for email services can end up being very tricky, as either there ends up being some artificially enforced limitation that is removable by upgrading, or trying to move away from it ends up being a huge hassle due to, again, a price increase. But I get the draw, the appeal, these services promise of alot of connection and interconnectivity and calendering and scheduling... and you just want to get your community online and running! I wish you all the best!
-
@qwinter said in 'All green', but I still can't get email sent from cloudron:
From inside nodebb, I see the email sender is town.app@unstuckphd.com. And one cannot change it.
Your configuration of postmark is correct. To change the email address using which an app sends email , please use https://docs.cloudron.io/apps/#mail-from-address . This will automatically configure the app to use the right email address. In addition, nodebb will automatically send via postmark as well.