Skip to content
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

RFC-3030 (CHUNKING and BINARYMIME) #349

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

perfaram
Copy link

This PR implements RFC 3030, which defines the CHUNKING and BINARYMIME extensions.

This implementation is rather conservative in the changes it makes to gen_smtp, in particular regarding the API.

On the server side, by default:

  • CHUNKING is enabled, as it is possible to fully abstract away how a message was delivered, from the PoV of a user of this library;
  • BINARYMIME is disabled (unless activated in the handle_EHLO callback by setting it to true) because such messages always bypass the newline fixing and may not be UTF8, contrary to what one might reasonably expect when implementing handle_DATA. It is not currently possible to know whether a message was sent with this body type, should this be implemented? Feedback welcome here.

On the client side, by default:

  • CHUNKING (i.e., the BDAT command) will not be used, even if possible, for now (I'd like to have feedback first, but otherwise it should not be a problem to use it by default whenever possible);
  • BINARYMIME will not be used, unless enabled through the options (so, session-wide -- I think it might make sense to allow setting this per-email? Feedback welcome here).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant