should signal better on mail delivery failures
I dont know if this is a client, leap-mail, or leap-mx bug, so please feel free to move it around where appropriate.
I've been working on testing the implementation needed to be able to disable users so they cannot send mail anymore (see #3634, #4285 and the list of email features needed for level one #5923).
How this works is a user has a client certificate that allows them to relay mail through our mail server. As long as you have a valid client certificate, you can send mail. We have been working on a method to disable specific client certificates, so we can stop users from sending mail.
When a user is disabled in this manner, and they try to send mail it will be accepted silently by thunderbird, but it will be blocked by the mail server because their client certificate isn't valid. The user will get no indication that they cannot send mail. They will not get a bounced message in thunderbird. The only indication is if they have run bitmask in a terminal and they look at the terminal to see this error:
Unhandled Error Traceback (most recent call last): Failure: twisted.mail.smtp.SMTPDeliveryError: 554 No recipients accepted : 554 5.7.1 : Relay access denied >>> MAIL FROM: <<< 250 2.1.0 Ok >>> RCPT TO: <<< 554 5.7.1 : Relay access denied [2015-12-03 15:37:27] CRITICAL - L#109 : twisted.logger._stdlib:__call__ - Unhandled Error Traceback (most recent call last): Failure: twisted.mail.smtp.SMTPDeliveryError: 554 No recipients accepted : 554 5.7.1 : Relay access denied >>> MAIL FROM: <<< 250 2.1.0 Ok >>> RCPT TO: <<< 554 5.7.1 : Relay access denied Unhandled error in Deferred: [2015-12-03 15:37:27] CRITICAL - L#109 : twisted.logger._stdlib:__call__ - Unhandled error in Deferred: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/twisted/mail/smtp.py", line 1139, in smtpState_msgSent self.toAddressesResult, self.log) File "/usr/lib/python2.7/dist-packages/twisted/mail/smtp.py", line 1855, in sentMail self.factory.result.errback(exc) File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 434, in errback self._startRunCallbacks(fail) File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 501, in _startRunCallbacks self._runCallbacks() --- --- File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 588, in _runCallbacks current.result = callback(current.result, *args, **kw) File "/usr/lib/python2.7/dist-packages/leap/mail/outgoing/service.py", line 151, in sendError raise err twisted.mail.smtp.SMTPDeliveryError: 554 No recipients accepted : 554 5.7.1 : Relay access denied >>> MAIL FROM: <<< 250 2.1.0 Ok >>> RCPT TO: <<< 554 5.7.1 : Relay access denied [2015-12-03 15:37:27] CRITICAL - L#109 : twisted.logger._stdlib:__call__ -
We need a better way to signal to users that this has happened!
(from redmine: created on 2015-12-03, closed on 2015-12-03, relates #4285, duplicates #7263 (closed))