I’ve been trying to get some friends signed up on my lemmy instance.
The issue is, so far nobody seems to be receiving the signup/verification emails. I am getting the admin user-signup emails, but those are sent to contact@<instance-domain>. I created 2 test users, one with a instance-domain address, and one to a gmail. The instance-domain address was there within a minute, but the gmail one has yet to arrive.
Instance details:
OS: Ubuntu 22.04
Lemmy: Lemmy-Ansible install, on 0.18.0, modified to removed network settings per https://github.com/LemmyNet/lemmy-ansible/pull/102
Any ideas why this might be happening?
edit: looked through the logs for the postfix container, turns out gmail requires SPF or DKIM to be setup for a domain or it will reject emails. I’ll probably just end up using a free external STMP service.
This definitely seems like something that should be mentioned in the docs for those (like me) that are not familiar with the inner workings of email servers.
This sounds like a mail delivery problem rather than specifically a Lemmy problem. The Lemmy server configuration tells your instance how to send email; the default is to use an SMTP server on localhost.
Assuming you have a mail server running, try checking its logs. Maybe Gmail is rejecting mail from your IP address, or maybe your hosting provider or ISP is blocking port 25 by default as an anti-spam measure?
I got an email when I signed up as a test. It is most likely spam filters and/or improper email server setup. I will try to help debug in a bit.
I saw your signup. Did you actually receive the verification email?
It looks like you aren’t signing your mail with DKIM, don’t have SPF set up right, don’t have a DMARC policy, and don’t have RcRDNS, all of which basically any mail provider will require from you to even consider accepting your mail. Basically without all of that literally anyone can pretend to be
whatever.com
and send email from it.What mail provider are you using?
yeah, I’m just using the default local mailserver that comes with Lemmy. the contact address is just a redirect to a gmail account. Didn’t even realize I needed all of that. I’ll probably end up just going through a smtp relay on one of their free tiers to avoid figuring this all out.
Yeah… they really shouldn’t be shipping that mail relay at all IMO, just leads to confusion.
I do run my own mail and assuming it’s reasonably low volume would be more than happy to get you set up to use my mailserver instead of relying on something like sendgrid or postmark.
Alternatively if you want some help getting your own set up in a dockerized way I run my mail using docker-mailserver and if only set up for outgoing mail it is pretty easy to run, though you may will run into deliverability issues…
yeah, at the very least it should be commented out so that you know it’s not just setup and go.
I appreciate the offer! I’ve actually already got myself setup on Brevo, though I might look into docker-mailserver in the future. If it’s alright, I’ll ping you if I/when I do that if I need help.
Thanks for all the help!
I’d be glad to help. The more people actually run their own mail the harder it gets for the big players to shut us out, haha.
Important info for instance owners to get right, thank you for posting.
I agree with @terribleplan@lemmy.nrd.li that the inclusion of a postfix SMTP container and using that in the example configs is probably doing more harm than good.
You shouldn’t need the Postfix container at all unless you want to manually set that up and know what you’re doing. You configure your SMTP settings in the
config.hjson
file as outlined in the example defaults.hjson file. I’m using a third-party SMTP provider to avoid any deliverability issues with sending emails directly from my server’s IP address. Just ensure you configured your DNS correctly (DKIM, etc.), punch in the info, and it should work.