teamhanko / hanko

Authentication and user management system optimized for passkeys

Home Page:https://hanko.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go-Gomail/Gomail no longer supported

irby opened this issue · comments

Checklist

  • I could not find a solution in the existing issues or docs.
  • I agree to follow this project's Code of Conduct.

Description

As described in issue go-gomail/gomail#182, the maintainer of Gomail has passed away. The repository has not been maintained since 2016. Someone mentioned in this issue that Shopify has a fork of this repo that has been more recently updated (https://github.com/Shopify/gomail), but it may be worth looking for alternatives.

Describe your ideal solution

Research on alternative Go email SDKs

Workarounds or alternatives

No response

Hanko Version

0.8.3

Additional Context

No response

Hi

I've had a look at the Shopify fork and it doesn't seem to be actively maintained either.

I've just run into an issue where I am struggling to send html emails with inlined css using gomail, and I am wondering if the the best solution is to change the way that hanko is architected such that the mail service is determined at compile time, using Dependency Injection.

I think that it's a matter of creating an interface that has the methods that are currently used by hanko to talk to gomail, and then people can create "drivers" for an smtpd of their choice.

edit:
Apologies to gomail, the hanko code is configured to send text/plain emails
https://github.com/teamhanko/hanko/blob/c636ab916ba893b51621f6db2e45c4038450e151/backend/handler/passcode.go#L203C24-L203C29

But I still think that DI for gomail would help people choose the smtp that suits their needs