Merge branch 'master' of h44z/kopano-dagent-rewritegaladdresses into master
This commit is contained in:
		@@ -6,6 +6,7 @@
 | 
				
			|||||||
import MAPI
 | 
					import MAPI
 | 
				
			||||||
import email
 | 
					import email
 | 
				
			||||||
from email.utils import getaddresses
 | 
					from email.utils import getaddresses
 | 
				
			||||||
 | 
					from email.header import decode_header
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from MAPI.Util import *
 | 
					from MAPI.Util import *
 | 
				
			||||||
from plugintemplates import *
 | 
					from plugintemplates import *
 | 
				
			||||||
@@ -15,6 +16,14 @@ class RewriteGALAddressesToSMTP(IMapiDAgentPlugin):
 | 
				
			|||||||
    def __init__(self, logger):
 | 
					    def __init__(self, logger):
 | 
				
			||||||
        IMapiDAgentPlugin.__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):
 | 
					    def PreDelivery(self, session, addrbook, store, folder, message):
 | 
				
			||||||
        headers = message.GetProps([PR_TRANSPORT_MESSAGE_HEADERS], 0)[0].Value
 | 
					        headers = message.GetProps([PR_TRANSPORT_MESSAGE_HEADERS], 0)[0].Value
 | 
				
			||||||
        msg = email.message_from_string(headers)
 | 
					        msg = email.message_from_string(headers)
 | 
				
			||||||
@@ -25,7 +34,7 @@ class RewriteGALAddressesToSMTP(IMapiDAgentPlugin):
 | 
				
			|||||||
        for addr in to_addrs:
 | 
					        for addr in to_addrs:
 | 
				
			||||||
            names.append([
 | 
					            names.append([
 | 
				
			||||||
                SPropValue(PR_RECIPIENT_TYPE, MAPI_TO),
 | 
					                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_ADDRTYPE, 'SMTP'),
 | 
				
			||||||
                SPropValue(PR_EMAIL_ADDRESS, unicode(addr[1])),
 | 
					                SPropValue(PR_EMAIL_ADDRESS, unicode(addr[1])),
 | 
				
			||||||
            ])
 | 
					            ])
 | 
				
			||||||
@@ -33,7 +42,7 @@ class RewriteGALAddressesToSMTP(IMapiDAgentPlugin):
 | 
				
			|||||||
        for addr in cc_addrs:
 | 
					        for addr in cc_addrs:
 | 
				
			||||||
            names.append([
 | 
					            names.append([
 | 
				
			||||||
                SPropValue(PR_RECIPIENT_TYPE, MAPI_CC),
 | 
					                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_ADDRTYPE, 'SMTP'),
 | 
				
			||||||
                SPropValue(PR_EMAIL_ADDRESS, unicode(addr[1])),
 | 
					                SPropValue(PR_EMAIL_ADDRESS, unicode(addr[1])),
 | 
				
			||||||
            ])
 | 
					            ])
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user