ruby / ruby/net-smtp

Does net-stmp support SASL XOAUTH2?

Open
#46 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ruby
Stars
70
Forks
34
PR merge metrics
No merged PRs in 30d

Description

Hi!

I've been looking into communicating with Office365 and Gsuite through oauth tokens and apparently to do so we need the SASL XOAUTH2 format.

I was wondering if this is supported by the default ruby smtp gem and if not are there plans to support this? I couldn't find anything about the protocol through the official documentation and by looking at the code.

Maybe it's as simple as providing the correct protocol to the library and do the hashing of the access token myself but I'm not sure. Any hints on this specific topic?

There's a visible trend of providers moving towards oauth and supporting this would not only benefit this library but also Rails since it uses the gem under the hood.

For example:

It would allow ruby / rails apps to authenticate on behalf of the user without sacrificing security in the process which often is the case right now.

Currently if you want to send emails on behalf of the user you need people to:

  • Disable security defaults
  • Enable SMTP
  • Store their real password encrypted (but with the possibility to decrypt since you need the password to authenticate)

Kind regards
Jens

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by checking the net-smtp authentication implementation and the official XOAUTH2 requirements referenced in the issue. Determine whether the library already exposes the needed protocol mechanism and token handling, then confirm the intended behavior with an SMTP authentication test. Done means documenting or implementing a decided XOAUTH2 support path for Office365 and Gsuite.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
backend, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.