Ship vendor mail transports as plugins
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 8/100
Research direction
Start with mailkit's go.mod, which pulls an SMTP client and mock into the main require block, and with mailkit/smtp, the only existing transport. The issue waits on #17 (widening the sender seam) and #15 (how a plugin reaches a host), so read both before anything else. Done would be a decision on which transports stay in mailkit, plus an agreed sender interface, not a code change.
Written by the indexing model from the issue text.
Description
Relays are many and each has its own API, so no vendor code belongs in the mailkit module, and no vendor transport should be maintained by core either.
Current state: mailkit/smtp is the only transport, and mailkit's go.mod requires an SMTP client and an SMTP mock in the main block. Nothing reaches a relay over HTTP.
Proposal: a transport may sit in the mailkit module only when its tests prove it correct offline, with no account and no credential. Every other transport is a plugin, owned by its author and listed on the marketplace, Resend first. The plugin implements the sender seam and hands it to the host.
Trigger: after #17 widens the seam and #15 settles how a plugin reaches a host.
- Dominant language
- Go
- Stars
- 69
- Forks
- 3
- Avg merge
- 9h 11m
- Merged PRs (30d)
- 38
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from gopherium/framework
-
bug help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
enhancement help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
enhancement help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
enhancement help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
enhancement help wanted
Difficulty 3/5 1-2 days Newbie friendliness 65/100
Maintainers usually reply within 1 day
All issues in gopherium/framework
Similar issues
-
compress: block buffers get re-zeroed on every call, and the zeroing is immediately overwrittenOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ClickHouse/ch-go#1218 ·
Maintainers usually reply within 13 days
-
effort:s impact:low raised-by:reviewer risk:low
Difficulty 1/5 Under an hour Newbie friendliness 84/100
medici-finance/assay#4251 · 1 comment ·
Maintainers usually reply within 1 day
-
automation models
Difficulty 1/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
golang-migrate/migrate#1457 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day