I successfully deployed and ran the ChatMail server on AWS after AWS lifted the port 25 restrictions. Here are a few key steps I had to take on AWS for deployment:
Request access to SMTP port 25.
Ensure root access (AWS default user is ubuntu).
Enable outgoing SMTP (25) and SMTPS (465) ports, as well as inbound IMAP (143) and IMAPS (993) ports.
Configure rDNS on your elastic IP.
Verify that port 25 is unblocked using telnet <domain.com> 25. Note that telnet localhost 25 may work, but DNS propagation could take time, so allow it to complete.
Other than that, the deployment process was quite straightforward. Simply follow the commands in the README:
$ git clone https://github.com/chatmail/server.git
$ cd server
$ scripts/initenv.sh
$ scripts/cmdeploy init chat.example.org # <-- use your domain
$ scripts/cmdeploy run
DNS entries look as:
my-server.com. MX 10 my-server.com.
_mta-sts.my-server.com. TXT "v=STSv1; id=2025023471600"
opendkim._domainkey.my-server.com. TXT "v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwrACM/0v3y+jAQXpKXUvA4GDFopPs7tzH73qvo9USainyYzEhNCisc38B+gROvMPPRcqSUU2z4eODdadKcleJhfiPS1P+DJWaAmoRH6c0l14fl+njvGug9R/yrkG45+DJWaAmoRH6c0l14fl+njv" "Gug9R/yrkG45uKtkYiMsHfSGUU+HOfNQGJpNgLaCzBLKOCBElSdDFPr2NWA7L+sVeh/CGT7U7X15UseKUuaZ4MWwz9q+XKzv+xXMJDbhk+wfgZ/AdtSKcXMIgJQH9D8o+YExZYQrW5yXB2rnkowIDAQAB;s=email;t=s"
If the DKIM entry above does not work with your DNS provider, you can try this one:
opendkim._domainkey.my-server.com. TXT "v=DKIM1;k=rsa;p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAG9w0BAQEFAAOCACM/0v3y+jAQXpKXUvA4GDFopPs7tzH7NNgbdG9w0BAQEFAAOCAh48xKqMcBqx9UPH5ZYdNUwr9yRdbdWwo+/tlF5ruJTpErbKoZaQTy3qvo9USainyYzEhNCisc38B+gROvMPPRcqSUU2z4eODdadKcleJhfiPS1P+DJWaAmoRH6c0l14fl+njvGug9R/yrkG45uKtkYiMsHfSGUU+HOfNQGJpNgLaCzBLKOCBElSdDFPr2NWA7L+sVeh/CGG9w0BAQEFAAOCAaZ4MWwz9q+XKzv+xXMJDbhk+wfgZ/G9w0BAQEFAAOCA+YExZYQrW5yXB2rnkowIDAQAB;s=email;t=s"
WARNING: these recommended DNS entries are not set:
my-server.com. TXT "v=spf1 a ~all"
_dmarc.my-server.com. TXT "v=DMARC1;p=reject;adkim=s;aspf=s"
my-server.com. CAA 0 issue "letsencrypt.org;accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/2025023471600"
_adsp._domainkey.my-server.com. TXT "dkim=discardable"
_submission._tcp.my-server.com. SRV 0 1 587 my-server.com.
_submissions._tcp.my-server.com. SRV 0 1 465 my-server.com.
_imap._tcp.my-server.com. SRV 0 1 143 my-server.com.
_imaps._tcp.my-server.com. SRV 0 1 993 my-server.com.
$ scripts/cmdeploy dns
[ssh] login to my-server.com
Collecting initial DNS settings..............
Check expected zone file entries...........................................
Great! All your DNS entries are verified and correct.
$ scripts/cmdeploy run
produces following result:
Grand total 95 18 - 77
Looks like something wrong with the smtp? But my port 25 is unblocked, am i missing anything here?