New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IMAP/POP/SMTP Mail Connector #4986
Comments
Interesting little obstacle. The camel-mail component doesn't provide 1 component but 6, ie. IMAP, IMAPS, POP3, POP3S, SMTP, SMTPS. Thus, the architecture of a syndesis email component needs to be able to delegate to one of these depending on the email protocol identified by the user. So, at the moment, I have the Connector inputs as:
The issue comes with creating an integration and associating the created connection. The camel componentSchema in the syndesis email.json file is required and used in the ConnectionStepHandler (interesting no check for null so error little opaque). Normally, though the componentSchema is hard-coded, eg. fhir in fhir-connector, olingo4 in odata-connector, so rarely an issue. However, in this situation the componentScheme would have to be dynamic, ie. IMAP(s), POP3(s), SMTP(s). Therefore, I have to communicate the protocol of the connection to the new Integration's model in order to set the componentScheme. My first cunning plan is to add an additional componentScheme field to SyndesisMetadata. That will get set via the email-connector's metadata retrieval and transferred (from meta -> server) as part of the DynamicActionMetadata and then applied in ConnectionActionHandler.applyMetadataTo(). An alternative could be to make a camel-email component class that acts as a proxy delegating to the real camel-mail components based on the protocol type, essentially 2 layers of proxy component. Not fleshed this out thoroughly yet and may not be a goer. Anyway, would be interested in views on what I've come up with so far and any alternative suggestions that you may have. Thx! |
One option might be to create a Camel component within Syndesis and then in Perhaps this needs two connectors one for sending and one for receiving e-mails, otherwise we might end up with a lot of optional properties. Would make sense to create two connections one to the SMTP server and to the mailbox server (IMAP/POP3). |
Hi! I'm working on test coverage of this feature in the testsuite. |
Looking at the guide, there is no obvious way to implement STARTTTLS. However, looking in the source code (here), it looks like it has been implemented. |
@phantomjinx thank you! Actually, I have one more question (feature request) |
Going to close this now as complete. Any new issues or bugs can be logged separately. |
We need to keep this open until QE verifies it and closes it, moving to done. |
Thank you for implementing those features, @phantomjinx ! |
Migrated to https://issues.jboss.org/browse/ENTESB-11505 |
See also https://issues.jboss.org/browse/ENTESB-11505
As a citizen user of fuse online, I want to be able to connect to an IMAP/POP mail account to consume the messages or to an SMTP mail account to send messages.
This should be equivalent to the functionality of the GMail connector but not restricted to GMail.
DoD
The text was updated successfully, but these errors were encountered: