[Help needed] issue self hosting lemmy and email smtp

FrayDabson@vlemmy.net to Selfhosted@lemmy.world – 6 points –

I am trying to setup my own lemmy server. I used ansible.

I can access my server via my domain just fine. But emails are not working.

First i had my mail and mx records pointing to privateemail via namecheap.

Then i tried using cloudflare email routing and their mx records.

neither worked for me with error connecting.

I thought maybe using dovecot? But self hosting email is new to me

I was hoping to use namecheaps privateemail but wasn’t sure how to get it working.

The email account worked and can send / receive but Lemmy and postfix cannot communicate with it.

Now I have no Mx records as I’m not sure what I should be using I am sure I am missing something obvious but idk what

Any ideas ?

10

You are viewing a single comment

The errors are coming from the postfix docker that it cannot communicate with any Mx server I tried.

I read on github that it is a bug to use external smtp servers. You need to configure the postfix Container or wait for an update to use external SMTP.

GitHub issue SMTP

I use external smtp and have had no problems over several versions.

OP, please share your config.hjson (redacting all sensitive info)

Working perfectly fine here as well. From the backend's perspective, a relay or an external server shouldn't be functionally different whatsoever.

Could you help me with the setup of the SMTP via lemmy.hjson?

Mine looks like this:

email: {
    smtp_server: "smtp.domain.de:465"
    smtp_login: "admin@domain.de"
    smtp_password: "secretpass"
    smtp_from_address: "admin@domain.de"
    tls_type: "tls"
  }

That really should work, I would check for potential firewall issues or something.

Mine is basically identical to yours:

email: {
    smtp_server: "mail.h.max-p.me:465"
    smtp_login: "lemmy@max-p.me"
    smtp_password: "REDACTED"
    smtp_from_address: "lemmy@max-p.me"
    tls_type: "tls"
  }

It's possible your server is slightly misconfigured and actually serve plain traffic on 465 and requires the use of the STARTTLS command.

Can you reach your server with openssl?

openssl s_client -connect smtp.domain.de:465

This should end up with something like that:

    Start Time: 1688422790
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
220 hosting.max-p.me ESMTP Postfix