teamhanko / hanko

Authentication and user management for the passkey era.
https://hanko.io
Other
5.69k stars 796 forks source link

Go-Gomail/Gomail no longer supported #1070

Open irby opened 11 months ago

irby commented 11 months ago

Checklist

Description

As described in issue https://github.com/go-gomail/gomail/issues/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

shaneHowearth commented 6 months ago

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