I've run into a few problems trying to run Gatekeeper on my PDS. One thing is that I don't use SMTP for sending emails, but a local sendmail service (postfix).
I have it configured like this in pds.env (this is what Nodemailer accepts):
PDS_EMAIL_SMTP_URL=smtp:///?sendmail=true
But Gatekeeper didn't like it:
Error: lettre::transport::smtp::Error { kind: Connection, source: "smtp host undefined" }
I found that lettre supports sendmail, but with a separate SendmailTransport class: https://docs.rs/lettre/latest/lettre/transport/sendmail/index.html
With the help of my good friend GPT, I managed to make it work (the emails are sending) - it added a Mailer wrapper that has a send(msg) method which forwards to either AsyncSmtpTransport or AsyncSendmailTransport. I have no idea if this is how it should be done or how you'd want to do it, but I'm just giving you a starting point :)