summaryrefslogtreecommitdiff
path: root/src/mailman/email
Commit message (Collapse)AuthorAgeFilesLines
* Ignore syntactically invalid sender addresses.Mark Sapiro2017-06-301-1/+7
|
* Bump copyright years.Barry Warsaw2017-01-043-3/+3
|
* Remove an unused import.Barry Warsaw2016-12-291-1/+0
|
* Remove support for to_moderators.Barry Warsaw2016-12-291-10/+1
| | | | Remove a NEWS entry which is no longer applicable.
* Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-292-2/+2
|
* Starting to clean up the branch.Barry Warsaw2016-11-281-2/+1
|
* Fix the email senders list when there's a Header instanceAurélien Bompard2016-11-282-3/+14
| | | | | The mailman.email.Message.senders property would fail when one of the headers was an email.header.Header instance.
* Closes: #68Barry Warsaw2016-11-131-1/+1
| | | | | Messages sent to the list's moderators now include the actual recipient addresses. Given by Tom Briles.
* tomoderators -> to_moderators.Barry Warsaw2016-10-311-2/+5
|
* Issue 68: send messages to list moderators when tomoderators=TrueTom Briles2016-10-311-1/+8
|
* Improved email address validation and added tests.Mark Sapiro2016-07-181-7/+8
|
* Added blank line.Mark Sapiro2016-07-171-0/+1
|
* Improve email.Validator.is_valid() to be more compliant with RFC 5321.Mark Sapiro2016-07-171-3/+9
|
* Clean up the email directory.Barry Warsaw2016-03-243-29/+9
|
* Remove obsolete comment.Barry Warsaw2016-03-101-5/+0
|
* Happy New Year.Barry Warsaw2016-01-023-3/+3
|
* Port to Python 3.5.Barry Warsaw2015-06-221-12/+0
|
* Bump copyright years.Barry Warsaw2015-01-043-3/+3
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-223-15/+4
|
* Trunk merge.Barry Warsaw2014-12-222-36/+50
|\
| * LP: #1130696 - AttributeError on .senderBarry Warsaw2014-12-101-1/+8
| |\
| | * Make the MIMEDigester generate a subclass of MIMEMultipart with our additionsAurélien Bompard2014-12-091-0/+6
| | | | | | | | | | | | Fixes bug #1130696 (differently)
| * | * Fixed getting non-ASCII filenames from RFC 2231 i18n'd messages. Given byBarry Warsaw2014-12-082-37/+44
| |\ \ | | |/ | |/| | | | Aurélien Bompard. (LP: #1060951)
| | * Convert unicode instance testing to bytes instance testingAurélien Bompard2014-12-042-3/+2
| | |
| | * Do not auto-convert Message headers to unicodeAurélien Bompard2014-12-022-36/+43
| |/ | | | | | | Fixes: bug #1060951
* | Use listid instead of (fqdn) listname in the metadata pickle.Barry Warsaw2014-12-151-3/+3
| | | | | | | | | | | | load_external() now always opens in utf-8 mode. More test repair.
* | CheckpointingBarry Warsaw2014-12-121-2/+2
| |
* | Checkpointing.Barry Warsaw2014-11-301-5/+5
|/ | | | | | | | | | By using `six` I think I have most of the imports squared away. There's probably still uses of `unicode` built-ins that need fixing. The idea is to first get the test suite running (which it doesn't yet), and then to fix tests. There's a bug in lazr.config which requires us to patch it for now.
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-281-1/+1
| | | | | | | | reflect this. Also, mock out sys.stderr on some tests so that their nose2 output is quieter. A few other minor coding style consistencies.
* Bump copyright years.Barry Warsaw2014-01-013-3/+3
|
* Bump copyright years.Barry Warsaw2013-01-013-3/+3
|
* * Python 2.7 is not required. Python 2.6 is no longer officially supported.Barry Warsaw2012-10-311-5/+1
| | | | | The code base is now also `python2.7 -3` clean, although there are still some warnings in 3rd party dependencies. LP: #1073506
* General code cleanup.Barry Warsaw2012-04-251-3/+2
| | | | | | | | - Add explicit dependency on zope.event in setup.py. - Use Python 3 compatible syntax for specifying that a class implements an interface, i.e. the @implementer class decorator. - print_function futures. - Whitespace normalization.
* Several fixes and cleanups, ostensibly to fix Python 2.6 support.Barry Warsaw2012-03-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | - email.iterators.body_line_iterator() cannot handle unicodes in Python 2.6, because it uses cStringIO.StringIO under the covers, and *that* can't handle unicode. This works fine in Python 2.7, so I override this for the tests only under 2.6 (the code itself isn't affected). - AddressError needs to str() its IAddress attribute explicitly in the __str__() method, otherwise under Python 2.6, you'll get unprintable reprs in the doctests. Again, this works correctly in 2.7, but EIBTI, so it can't hurt either way. - EmailError: a new exception, not related to AddressError. The reason for this it to conform to current nomenclature: "address" means an IAddress while "email" means a text email address. So InvalidEmailAddressError now derives from EmailError instead of AddressError because it gets passed a text email address, and because that is invalid, it never gets turned into an IAddress. The __str__() of this new base exception class does some tricky encoding to keep it compatible between Python 2.6 and 2.7. - UnverifiedAddressError derives from AddressError instead of the more generic MailmanError. - A few random code cleanups are included.
* Schema change. After discussion at Pycon, we decided to change "real_name" toBarry Warsaw2012-03-151-1/+1
| | | | | | | | | | | "display_name" across the board. * `IMailingList.real_name` -> `IMailingList.display_name` * `IUser.real_name` -> `IUser.display_name` * `IAddress.real_name` -> `IAddress.display_name` * Schema changes: - real_name -> display_name (mailinglist, user, address)
* Add a test for a corner case of UserNotification.send() as suggested by Mark.Barry Warsaw2012-03-152-0/+60
| | | | | Fix a test failure found by Toshio, along with an XXX about how we should fix this problem long term.
* * Subscription disabled probe warning notification messages are now sentBarry Warsaw2012-03-141-2/+12
|\ | | | | | | without a `Precedence:` header. Given by Mark Sapiro. (LP: #808821)
| * Fixed a logic error and added more conditions to the doctest.Mark Sapiro2012-03-141-1/+1
| |
| * Subscription disabled warnings are now sent without a Precedence:Mark Sapiro2012-03-141-2/+2
|/ | | | header. (LP: #808821)
* copybumpBarry Warsaw2012-01-012-2/+2
|
* A couple of small cleanups.Barry Warsaw2011-11-041-1/+1
|
* * User and Member ids are now proper UUIDs. The UUIDs are pended as unicodes,Barry Warsaw2011-08-301-1/+1
| | | | | | | | | | | | | | | | | | and exposed to the REST API as their integer equivalents. They are stored in the database using Storm's UUID type. - ISubscriptionService.get_member() now takes a UUID - IUserManager.get_user_by_id() now takes a UUID * Moderators and owners can be added via REST (LP: #834130). Given by Stephen A. Goss. - add_member() grows a `role` parameter. - ISubscriptionService.join() grows a `role` parameter. * InvalidEmailAddressError no longer repr()'s its value. * `address` -> `email` for consistency - delete_member() - ISubscriptionService.leave() * Fixed typo in app/subscriptions.py __all__ * AlreadySubscribedError: attributes are now public. * More .txt -> .rst renames.
* * bounce_unrecognized_goes_to_list_owner -> forward_unrecognized_bounces_to Barry Warsaw2011-05-251-16/+17
| | | | | | | | | | | | * Add an additional option for unrecognized bounce disposition: send it to the site administrators. * Move maybe_forward() from src/mailman/queue/bounce.py to src/mailman/app/bounces.py, refactor and add tests. * Add a LogFileMark class to help with tests that want to check the output to a log file. * OwnerNotification gets a better signature. Instead of tomoderators, the last argument is a roster to send the notification to. If roster is None, then the notification goes to the site administrators.
* Start the enablement of bounce detection.Barry Warsaw2011-05-012-43/+1
| | | | | | | | | | * Move VERP header extraction to mailman.app.bounces, and ports the implementation to the get_verp() function. * Restore the [mta] verp_regexp value which got lost along the way. * Move mailman.email.utils to mailman.utilities.email and add a test for split_email() * Move specialized_message_from_string() from test_documentation to mailman.testing.helpers.
* Implement the email address validator as a utility for easier pluggability.Barry Warsaw2011-01-061-30/+30
|
* Split member and nonmember moderation.Barry Warsaw2011-01-021-1/+2
| | | | | | | | | | | | | | | | * member-moderation happens at the same place in the built-in chain that the previously named moderation rule happens. nonmember-moderation happens after all the other normal moderation rules. * Handle unsubscribed nonmember posts. Other changes: * Message.senders now filters out Nones and empty strings. * Various test cleanups and simplifications. * More `address` -> `email` fixes. * Give Link class a useful repr. * Fix a potential UnboundLocalError. * Various other small changes.
* Happy New Year.Barry Warsaw2011-01-013-3/+3
|
* Fix the obvious errors identified by pyflakes. Skip false positives (mostlyBarry Warsaw2010-10-081-3/+0
| | | | | due to _() interpolation) and a few other problems that did not have immediately obvious fixes.
* Happy New Year.Barry Warsaw2010-01-013-3/+3
|
* * Add REST interface for joining a mailing list.Barry Warsaw2009-12-281-3/+3
| | | | | | * add_member() now returns the newly created IMember. * Reorganized several exceptions and exposed them to the REST API. * Added NoSuchListError.