Kan ikke sende mail på DigitalOcean
Her kan du læse hvorfor du ikke kan sende mail fra din server på DigitalOcean.
Da jeg i dag lavede en droplet på DigitalOcean, hvor jeg installerede CyberPanel, kunne jeg ikke få serveren til at sende mails. Når jeg skrev en mail fra RainLoop, så blev den aldrig modtaget af modtageren. Går man ind i mailkøen kan man se at disse mails bliver hængende i køen, og med følgende fejlmeddelelser:
[{“address”:“XXX@XXX”,“delay_reason”:“connect to YYY[2a01:4f8:241:1f86::2]:25: Network is unreachable”},
{“address":"XXX@gmail.com”,“delay_reason”:“connect to alt2.gmail-smtp-in.l.google.com[142.250.150.26]:25: Connection timed out”}]
Efter lidt søgning på nettet, fandt jeg ud at fejlen skyldes at DigitalOcean konsekvent blokerer for udgående port 25. DigitalOcean har nemlig en disabled-by-default SMTP policy, som dikterer at port 25 som udgangspunkt er blokeret, for at beskytte misbrug af denne til spammails.
Det forlyder at man kan få fjernet spæringen ved at skrive til DigitalOcean supporten, men først efter man har været kunde i 60 dage. Grænsen på 60 dage blev i sin tid oprettet, fordi det især er nye konti der bruger DigitalOcean til at sende spammails ud. Men jeg har skrevet til DigitalOcean, og de vil ikke fjerne spærringen, så det ser ud til de permanent stopper for udgående mails via SMTP.
For at teste om port 25 er åben, kan du bruge følgende kommando i terminalen:
telnet [IP-ADRESSE] 25
Hvis porten er blokeret, skulle du gerne få beskeden “telnet: Unable to connect to remote host: Connection timed out”.
DigitalOcean kommer selv med anbefalingen om at du faktisk slet ikke skal køre en SMTP server på din server, fordi det anbefaler de er en dedikeret server eller en ekstern server man overlader det til. Det mener jeg er lidt noget udenomssnak, selvfølgelig skal du kunne installere en SMTP server på din server.
Du kan altså ikke bruge DigitalOcean hvis du gerne vil sende mails. Der er dog en workaround, og det er at bruge SendGrid til at sende mails. Her skal du oprette en API nøgle, og så bruge følgende SMTP indstillinger.
SMTP-server: smtp.sendgrid.net
Brugernavn: apikey
Password: [INDSÆT GENERERET APINØGLE]
Port: 587
Du kan også opsætte Postfix på din server, så den sender gennem SendGrid. Det har jeg skrevet lidt mere om her.