I’m using the Lemmy ansible installation method. I’ve been trying to add sendgrid to the postfix section of the config.hjson file on my local machine. But where do I add the API key and username? I used port 587 but nothing works. Can anyone help walk me through how to integrate sendgrid into Lemmy-Ansible? Thanks!!

the email section of config.hjson looks like this, did I do this right?

  email: {
    smtp_server: "smtp.sendgrid.net:587"
    smtp_from_address: "noreply@{{ domain }}"
    tls_type: "tls"
  }

I was able to find the server location on my VPS under srv/lemmy/domain, so I can edit the lemmy.hjson file there if need be.

  • ZMonster@lemmy.worldOP
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Thanks for getting back to me!

    Okay, sendgrid gives me this:

    Configure your application with the settings below.
     	Server 	smtp.sendgrid.net
     	Ports 	25, 587 	(for unencrypted/TLS connections)
    		465  	(for SSL connections)
     	Username 	apikey
     	Password 	theApiKeyGeneratedBySendgrid
    

    I edited my lemmy.hjson file to this:

      email: {
        smtp_server: "smtp.sendgrid.net:25" #also tried ports 587 and 465 with no difference
        smtp_login: "apikey"
        smtp_password: "theApiKeyGeneratedBySendgrid"
        smtp_from_address: "noreply@myDomain"
        tls_type: "tls" #also tried "none" with no difference
      }
    

    The only change is that now when I select “forgot password” the button turns into a rotating arrow for a few seconds and then nothing. No emails in spam, nothing. Any ideas? I feel like I’m getting closer, and maybe I’m using the port wrong?

    • hitagi@ani.social
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I went through the Sendgrid docs and your configuration seems to be correct. Just to make sure, your login is literally just “apikey” right? As indicated in the docs.

      The rotating arrow means that the email is not sending out.

      You can also try starttls (port 587) if tls and none does not work.

      • ZMonster@lemmy.worldOP
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        try starttls (port 587)

        😃 OMG it just worked! Thank you so much!!! You have no idea how excited I am to get my instance up and live! Here is my current lemmy.hjson after a successful ansible install:

          email: {
            smtp_server: "smtp.sendgrid.net:587"
            smtp_login: "apikey"
            smtp_password: "theActualApiKey"
            smtp_from_address: "noreply@my.domain"
            tls_type: "starttls"
          }
        

        For others, I’m using digitalOcean for my VPS and sendgrid for the SMTP relay.

          • ZMonster@lemmy.worldOP
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            1 year ago

            So frustrating. I got it working for about 10 minutes. Added users, authenticated them, made posts, uploaded banner, logged in and out many times. Then it just shut down. 502: bad gateway.

            I tried to rebuild it fresh and found out that the ansible method has you request a new letsencrypt cert EVERY TIME IT RUNS. And after 5 certs, it bans your domain for 168 hrs…

            So now I have to wait until next week to try again, and I’ll only have 5 chances at getting it right.

            I keep looking at the mastodon documentation and it’s so nice. It’s complete and thorough. I just wish a Lemmy dev or literally anyone would write a better guide.

            I’m just so fucking deflated right now. Thinking of buying a new domain just so I can keep testing.