Merge branch 'master' of h44z/kopano-dagent-rewritegaladdresses into master

This commit is contained in:
Hein-Pieter van Braam-Stewart 2017-06-16 10:53:43 +00:00 committed by Gogs
commit 01d0319661
1 changed files with 11 additions and 2 deletions

View File

@ -6,6 +6,7 @@
import MAPI
import email
from email.utils import getaddresses
from email.header import decode_header
from MAPI.Util import *
from plugintemplates import *
@ -15,6 +16,14 @@ class RewriteGALAddressesToSMTP(IMapiDAgentPlugin):
def __init__(self, logger):
IMapiDAgentPlugin.__init__(self, logger)
def DecodeHeaderToUTF8(self, header):
decodedHeader = decode_header(header)
headerText, headerEncoding = decodedHeader[0]
if headerEncoding is None:
return unicode(headerText)
else:
return unicode(headerText, headerEncoding, 'ignore')
def PreDelivery(self, session, addrbook, store, folder, message):
headers = message.GetProps([PR_TRANSPORT_MESSAGE_HEADERS], 0)[0].Value
msg = email.message_from_string(headers)
@ -25,7 +34,7 @@ class RewriteGALAddressesToSMTP(IMapiDAgentPlugin):
for addr in to_addrs:
names.append([
SPropValue(PR_RECIPIENT_TYPE, MAPI_TO),
SPropValue(PR_DISPLAY_NAME_W, unicode(addr[0])),
SPropValue(PR_DISPLAY_NAME_W, self.DecodeHeaderToUTF8(addr[0])),
SPropValue(PR_ADDRTYPE, 'SMTP'),
SPropValue(PR_EMAIL_ADDRESS, unicode(addr[1])),
])
@ -33,7 +42,7 @@ class RewriteGALAddressesToSMTP(IMapiDAgentPlugin):
for addr in cc_addrs:
names.append([
SPropValue(PR_RECIPIENT_TYPE, MAPI_CC),
SPropValue(PR_DISPLAY_NAME_W, unicode(addr[0])),
SPropValue(PR_DISPLAY_NAME_W, self.DecodeHeaderToUTF8(addr[0])),
SPropValue(PR_ADDRTYPE, 'SMTP'),
SPropValue(PR_EMAIL_ADDRESS, unicode(addr[1])),
])