summaryrefslogtreecommitdiff
path: root/scripting/source/pyprov/mailmerge.py
diff options
context:
space:
mode:
authorAriel Constenla-Haile <arielch@apache.org>2012-01-16 18:50:50 +0000
committerAriel Constenla-Haile <arielch@apache.org>2012-01-16 18:50:50 +0000
commit4166969f3b8ed05e91c10a724ce7bd39074012a1 (patch)
tree9ab6fd5a3d8783ce63d44fb23db1d44096ffa4c9 /scripting/source/pyprov/mailmerge.py
parent91a17ad2d199f8df86d891e22862b2e5464bc68b (diff)
i118736 - i118787 : fix XMailMessage implementation in mailmerge.py
Diffstat (limited to 'scripting/source/pyprov/mailmerge.py')
-rw-r--r--scripting/source/pyprov/mailmerge.py50
1 files changed, 27 insertions, 23 deletions
diff --git a/scripting/source/pyprov/mailmerge.py b/scripting/source/pyprov/mailmerge.py
index 6592a59d1843..7f1c7e0e7858 100644
--- a/scripting/source/pyprov/mailmerge.py
+++ b/scripting/source/pyprov/mailmerge.py
@@ -52,7 +52,7 @@ class PyMailSMTPService(unohelper.Base, XSmtpService):
self.supportedtypes = ('Insecure', 'Ssl')
self.server = None
self.connectioncontext = None
- self.notify = EventObject()
+ self.notify = EventObject(self)
if dbg:
print >> sys.stderr, "PyMailSMPTService init"
def addConnectionListener(self, xListener):
@@ -83,7 +83,7 @@ class PyMailSMTPService(unohelper.Base, XSmtpService):
connectiontype = xConnectionContext.getValueByName("ConnectionType")
if dbg:
print >> sys.stderr, connectiontype
- if connectiontype == 'Ssl':
+ if connectiontype.upper() == 'SSL':
self.server.ehlo()
self.server.starttls()
self.server.ehlo()
@@ -180,7 +180,7 @@ class PyMailSMTPService(unohelper.Base, XSmtpService):
mailerstring = "OpenOffice.org 2.0 via Caolan's mailmerge component"
try:
- ctx = uno.getComponentContext()
+ ctx = uno.getComponentContext()
aConfigProvider = ctx.ServiceManager.createInstance("com.sun.star.configuration.ConfigurationProvider")
prop = uno.createUnoStruct('com.sun.star.beans.PropertyValue')
prop.Name = "nodepath"
@@ -191,7 +191,7 @@ class PyMailSMTPService(unohelper.Base, XSmtpService):
aSettings.getByName("ooSetupVersion") + " via Caolan's mailmerge component"
except:
pass
-
+
msg['X-Mailer'] = mailerstring
msg['Date'] = formatdate(localtime=True)
@@ -206,9 +206,10 @@ class PyMailSMTPService(unohelper.Base, XSmtpService):
msgattachment.set_payload(data)
Encoders.encode_base64(msgattachment)
msgattachment.add_header('Content-Disposition', 'attachment', \
- filename=attachment.ReadableName)
+ filename=('utf-8','',attachment.ReadableName.encode('utf-8')))
msg.attach(msgattachment)
+
uniquer = {}
for key in recipients:
uniquer[key] = True
@@ -232,6 +233,7 @@ class PyMailIMAPService(unohelper.Base, XMailService):
self.supportedtypes = ('Insecure', 'Ssl')
self.server = None
self.connectioncontext = None
+ self.notify = EventObject(self)
if dbg:
print >> sys.stderr, "PyMailIMAPService init"
def addConnectionListener(self, xListener):
@@ -261,12 +263,12 @@ class PyMailIMAPService(unohelper.Base, XMailService):
if dbg:
print >> sys.stderr, connectiontype
print >> sys.stderr, "BEFORE"
- if connectiontype == 'Ssl':
+ if connectiontype.upper() == 'SSL':
self.server = imaplib.IMAP4_SSL(server, port)
else:
self.server = imaplib.IMAP4(server, port)
print >> sys.stderr, "AFTER"
-
+
user = xAuthenticator.getUserName().encode('ascii')
password = xAuthenticator.getPassword().encode('ascii')
if user != '':
@@ -300,6 +302,7 @@ class PyMailPOP3Service(unohelper.Base, XMailService):
self.supportedtypes = ('Insecure', 'Ssl')
self.server = None
self.connectioncontext = None
+ self.notify = EventObject(self)
if dbg:
print >> sys.stderr, "PyMailPOP3Service init"
def addConnectionListener(self, xListener):
@@ -329,18 +332,18 @@ class PyMailPOP3Service(unohelper.Base, XMailService):
if dbg:
print >> sys.stderr, connectiontype
print >> sys.stderr, "BEFORE"
- if connectiontype == 'Ssl':
+ if connectiontype.upper() == 'SSL':
self.server = poplib.POP3_SSL(server, port)
else:
self.server = poplib.POP3(server, port)
print >> sys.stderr, "AFTER"
-
+
user = xAuthenticator.getUserName().encode('ascii')
password = xAuthenticator.getPassword().encode('ascii')
if dbg:
print >> sys.stderr, 'Logging in, username of', user
self.server.user(user)
- self.server.pass_(user, password)
+ self.server.pass_(password)
for listener in self.listeners:
listener.connected(self.notify)
@@ -384,12 +387,12 @@ class PyMailMessage(unohelper.Base, XMailMessage):
print >> sys.stderr, "PyMailMessage init"
self.ctx = ctx
- self.recipients = sTo,
- self.ccrecipients = ()
- self.bccrecipients = ()
- self.aMailAttachments = ()
+ self.recipients = [sTo]
+ self.ccrecipients = []
+ self.bccrecipients = []
+ self.aMailAttachments = []
if aMailAttachment != None:
- self.aMailAttachments = aMailAttachment,
+ self.aMailAttachments.append(aMailAttachment)
self.SenderName, self.SenderAddress = parseaddr(sFrom)
self.ReplyToAddress = sFrom
@@ -400,35 +403,36 @@ class PyMailMessage(unohelper.Base, XMailMessage):
def addRecipient( self, recipient ):
if dbg:
print >> sys.stderr, "PyMailMessage.addRecipient", recipient
- self.recipients = self.recipients, recipient
+ self.recipients.append(recipient)
def addCcRecipient( self, ccrecipient ):
if dbg:
print >> sys.stderr, "PyMailMessage.addCcRecipient", ccrecipient
- self.ccrecipients = self.ccrecipients, ccrecipient
+ self.ccrecipients.append(ccrecipient)
def addBccRecipient( self, bccrecipient ):
if dbg:
print >> sys.stderr, "PyMailMessage.addBccRecipient", bccrecipient
- self.bccrecipients = self.bccrecipients, bccrecipient
+ self.bccrecipients.append(bccrecipient)
def getRecipients( self ):
if dbg:
print >> sys.stderr, "PyMailMessage.getRecipients", self.recipients
- return self.recipients
+ return tuple(self.recipients)
def getCcRecipients( self ):
if dbg:
print >> sys.stderr, "PyMailMessage.getCcRecipients", self.ccrecipients
- return self.ccrecipients
+ return tuple(self.ccrecipients)
def getBccRecipients( self ):
if dbg:
print >> sys.stderr, "PyMailMessage.getBccRecipients", self.bccrecipients
- return self.bccrecipients
+ return tuple(self.bccrecipients)
def addAttachment( self, aMailAttachment ):
if dbg:
print >> sys.stderr, "PyMailMessage.addAttachment"
- self.aMailAttachments = self.aMailAttachments, aMailAttachment
+ self.aMailAttachments.append(aMailAttachment)
def getAttachments( self ):
if dbg:
print >> sys.stderr, "PyMailMessage.getAttachments"
- return self.aMailAttachments
+ return tuple(self.aMailAttachments)
+
# pythonloader looks for a static g_ImplementationHelper variable
g_ImplementationHelper = unohelper.ImplementationHelper()