jakartaee / jakartaee/mail-api

How does one get access to the actual keyset for the extensions hashmap, only documented methods are getExtensionParameter or supportsExtension?

Open
#748 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
285
Forks
109
Avg merge
15h 19m
Merged PRs (30d)
1

Description

I am working on a new mail user/transport agent for our web based applications. It must be able to connect to a myriad of SMTP servers for different customer situations from straight forward SMTP through ESMTP (AUTH, STARTTLS, OAUTH2). I am trying to make the code perform some checks with what is in the EHLO response and realized I do not have a means to access the MailConnection object that is established within the Transport object. I therefore cannot easily access either supportsExtension(String Name) or extensionParameter(String Name) to interrogate what the server said it supports.

Without trying to use reflection how does one provide reasonable feedback on what the server said it supported versus what the program was configured to use? Do I re-implement sendEhlo within my own code, but that is kind of stupid right?

A simple Transport.getMailConnection() method would at least allow developers the ability to access that level of information.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the Transport and MailConnection objects and the existing supportsExtension(String Name) and extensionParameter(String Name) methods mentioned in the issue. Determine whether exposing the established connection is an appropriate API change or whether another public access pattern is needed; done requires a resolved design and corresponding specification change.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.