diff options
Diffstat (limited to 'service/pixelated/adapter/mailstore')
-rw-r--r-- | service/pixelated/adapter/mailstore/leap_mailstore.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/service/pixelated/adapter/mailstore/leap_mailstore.py b/service/pixelated/adapter/mailstore/leap_mailstore.py index 0182efd9..f3351dbd 100644 --- a/service/pixelated/adapter/mailstore/leap_mailstore.py +++ b/service/pixelated/adapter/mailstore/leap_mailstore.py @@ -15,6 +15,7 @@ # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. import base64 from email.header import decode_header +from email.utils import parseaddr import quopri from uuid import uuid4 @@ -163,7 +164,12 @@ class LeapMail(Mail): if not recipients: recipients = [] - return [recipient for recipient in recipients if recipient != InputMail.FROM_EMAIL_ADDRESS] + return [recipient for recipient in recipients if not self._parsed_mail_matches(recipient, InputMail.FROM_EMAIL_ADDRESS)] + + def _parsed_mail_matches(self, to_parse, expected): + if InputMail.FROM_EMAIL_ADDRESS is None: + return False + return parseaddr(self._decoded_header_utf_8(to_parse))[1] == expected @staticmethod def from_dict(mail_dict): |