Hi all, The v1.2 votes are in, and it appears that Email-01 (introducing an email backend API) needs some more discussion.
I am in complete agreement that Django shouldn't try to become an email framework. That isn't the intention of this proposal. The intention is to fix a specific problem that exists for supporting sandboxed deployment environments, and AppEngine in particular. AppEngine doesn't provide an SMTP server - the AppEngine sandbox provides a specific API for sending email, rather than the standard Python mail API. This is a problem because because Django provides an API for sending email - and uses that API internally: * contrib.auth sends mail as part of the password reset process * contrib.comments sends mail as part of the comment moderation process * the 500 handler sends mail to site admins * the CommonMiddleware sends mail on broken links to site managers If we're going to fully support AppEngine (and any other sandboxed deployment platform), we need to provide a way to direct Django's email APIs to APIs provided by a sandbox. As a side effect, providing email an backend API cleans up a few other minor lingering issues: - It cleans up the monkeypatching required by the test framework, since emails can be easily redirected to an in-memory backend during test execution. - It provides an easy way to debug email sending on the development server. An 'email test server' was proposed - and ultimately rejected - for v1.1. A 'console' email backend resolves this problem by providing a way to direct email to stdout, rather than SMTP. - It provides an elegant entry point for tools like django-mailer. The email backend API would allow django-mailer to become a specialist external email backend. This allows for greater decoupling: apps can just call the Django mail api, rather than needing to specifically provide django-mailer support. I felt an email backend API would be an elegant way to gain a lot of flexibility, with essentially no impact for existing users. The original django-dev discussion [1] didn't raise much dissent - but the voting process has shown that there is obviously some disagreement. I'm keen to see a resolution to this problem. To that end, I'm interested in hearing specific criticisms or concerns with the current backend proposal. I'm also interested in any alternate approaches to this problem. [1] http://groups.google.com/group/django-developers/browse_thread/thread/ad0e5b2a8fd1ffe4 Yours, Russ Magee %-) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---
