def testAddressParser(self): msg = """\ To: "Name, Nick" <*****@*****.**>, "Foo Bar" <*****@*****.**> CC: "Web, Jack" <*****@*****.**> From: [email protected] Subject: This is the subject This is the message body.""" # Test Address-Parser for To & CC given in messageText resmsg, resto, resfrom = _mungeHeaders(msg) self.failUnlessEqual(resto, [ '"Name, Nick" <*****@*****.**>', 'Foo Bar <*****@*****.**>', '"Web, Jack" <*****@*****.**>' ]) self.failUnlessEqual(resfrom, '*****@*****.**') # Test Address-Parser for a given mto-string resmsg, resto, resfrom = _mungeHeaders( msg, mto='"Public, Joe" <*****@*****.**>, Foo Bar <*****@*****.**>') self.failUnlessEqual( resto, ['"Public, Joe" <*****@*****.**>', 'Foo Bar <*****@*****.**>']) self.failUnlessEqual(resfrom, '*****@*****.**')
def testAddressParser(self): msg = """\ To: "Name, Nick" <*****@*****.**>, "Foo Bar" <*****@*****.**> CC: "Web, Jack" <*****@*****.**> From: [email protected] Subject: This is the subject This is the message body.""" # Test Address-Parser for To & CC given in messageText resmsg, resto, resfrom = _mungeHeaders(msg) self.failUnlessEqual(resto, ['"Name, Nick" <*****@*****.**>', 'Foo Bar <*****@*****.**>', '"Web, Jack" <*****@*****.**>']) self.failUnlessEqual(resfrom, '*****@*****.**') # Test Address-Parser for a given mto-string resmsg, resto, resfrom = _mungeHeaders(msg, mto='"Public, Joe" <*****@*****.**>, Foo Bar <*****@*****.**>') self.failUnlessEqual(resto, ['"Public, Joe" <*****@*****.**>', 'Foo Bar <*****@*****.**>']) self.failUnlessEqual(resfrom, '*****@*****.**')
def send(self, messageText, mto=None, mfrom=None, subject=None, encode=None, immediate=False, charset=None, msg_type=None): messageText, mto, mfrom = _mungeHeaders(messageText, mto, mfrom, subject, charset=charset, msg_type=msg_type) self.messages.append(messageText)
def send(self, messageText, mto=None, mfrom=None, subject=None, encode=None, immediate=False, charset=None, msg_type=None): messageText, mto, mfrom = _mungeHeaders(messageText, mto, mfrom, subject, charset=charset, msg_type=msg_type) self.messages.append(dict(msg=messageText, mto=mto))
def sendmail(self, mailfrom, mailto, mailBody, subject = None): """""" from zope.sendmail.interfaces import IMailDelivery from zope.component import getUtility mail_host = getUtility(IMailDelivery, name='Mail') messageText, mto, mfrom = _mungeHeaders(mailBody, mailto, mailfrom, subject, charset='utf-8', msg_type='text/html') mail_host.send(fromaddr=mfrom, toaddrs=mto, message=messageText)
def testNoHeaders( self ): msg = """This is the message body.""" # Doesn't specify to self.failUnlessRaises( MailHostError, _mungeHeaders, msg, mfrom='*****@*****.**' ) # Doesn't specify from self.failUnlessRaises( MailHostError, _mungeHeaders, msg, mto='*****@*****.**' ) # Specify all resmsg, resto, resfrom = _mungeHeaders( msg, '*****@*****.**', '*****@*****.**', 'This is the real subject' ) self.failUnless(resto == ['*****@*****.**']) self.failUnless(resfrom == '*****@*****.**' )
def testAllHeaders( self ): msg = """To: [email protected] From: [email protected] Subject: This is the subject This is the message body.""" # No additional info resmsg, resto, resfrom = _mungeHeaders( msg ) self.failUnless(resto == ['*****@*****.**']) self.failUnless(resfrom == '*****@*****.**' ) # Add duplicated info resmsg, resto, resfrom = _mungeHeaders( msg, '*****@*****.**', '*****@*****.**', 'This is the subject' ) self.failUnless(resto == ['*****@*****.**']) self.failUnless(resfrom == '*****@*****.**' ) # Add extra info resmsg, resto, resfrom = _mungeHeaders( msg, '*****@*****.**', '*****@*****.**', 'This is the real subject' ) self.failUnless(resto == ['*****@*****.**']) self.failUnless(resfrom == '*****@*****.**' )
def send(self, messageText, mto=None, mfrom=None, subject=None, encode=None, immediate=False, charset=None, msg_type=None): messageText, mto, mfrom = _mungeHeaders(messageText, mto, mfrom, subject, charset=charset, msg_type=msg_type) print '*TestingMailDelivery sending*:' print 'From:', decode_header(mfrom)[0][0] print 'To:', ', '.join(mto) print 'Message follows:' decoded = decodeMessageAsString(messageText) print decoded self.sent.append(decoded)
def sendmail(context, message, mto=None, mfrom=None, subject=None): """Send a fraking mail, should work with regular Zope Mailhost, and MaildropHost. """ mh = getattr(context.get_root(), MAILHOST_ID) messageText, mto, mfrom = _mungeHeaders( message, mto, mfrom, subject, charset='utf-8') try: mh._send(mfrom, mto, messageText) except SMTPException as error: logger.error('Error sending email from %s to %s: %s' % ( mfrom, mto, str(error)))
def testAllHeaders(self): msg = """To: [email protected] From: [email protected] Subject: This is the subject This is the message body.""" # No additional info resmsg, resto, resfrom = _mungeHeaders(msg) self.failUnless(resto == ['*****@*****.**']) self.failUnless(resfrom == '*****@*****.**') # Add duplicated info resmsg, resto, resfrom = _mungeHeaders(msg, '*****@*****.**', '*****@*****.**', 'This is the subject') self.failUnlessEqual(resto, ['*****@*****.**']) self.failUnlessEqual(resfrom, '*****@*****.**') # Add extra info resmsg, resto, resfrom = _mungeHeaders(msg, '*****@*****.**', '*****@*****.**', 'This is the real subject') self.failUnlessEqual(resto, ['*****@*****.**']) self.failUnlessEqual(resfrom, '*****@*****.**')
def sendmail(context, message, mto=None, mfrom=None, subject=None): """Send a fraking mail, should work with regular Zope Mailhost, and MaildropHost. """ mh = getattr(context.get_root(), MAILHOST_ID) messageText, mto, mfrom = _mungeHeaders(message, mto, mfrom, subject, charset='utf-8') try: mh._send(mfrom, mto, messageText) except SMTPException as error: logger.error('Error sending email from %s to %s: %s' % (mfrom, mto, str(error)))
def testNoHeaders(self): msg = """This is the message body.""" # Doesn't specify to self.failUnlessRaises(MailHostError, _mungeHeaders, msg, mfrom='*****@*****.**') # Doesn't specify from self.failUnlessRaises(MailHostError, _mungeHeaders, msg, mto='*****@*****.**') # Specify all resmsg, resto, resfrom = _mungeHeaders(msg, '*****@*****.**', '*****@*****.**', 'This is the real subject') self.failUnlessEqual(resto, ['*****@*****.**']) self.failUnlessEqual(resfrom, '*****@*****.**')
def send(self, messageText, mto=None, mfrom=None, subject=None, encode=None, immediate=False, charset=None, msg_type=None): """send *messageText* modified by the other parameters. *messageText* can either be an ``email.message.Message`` or a string. Note that Products.MailHost 4.10 had changes here. """ msg, mto, mfrom = _mungeHeaders(messageText, mto, mfrom, subject, charset, msg_type, encode) self.messages.append(msg)
def testBCCHeader( self ): msg = "From: [email protected]\nBcc: [email protected]\n\nMessage text" # Specify only the "Bcc" header. Useful for bulk emails. resmsg, resto, resfrom = _mungeHeaders(msg) self.failUnless(resto == ['*****@*****.**']) self.failUnless(resfrom == '*****@*****.**' )
def testBCCHeader(self): msg = "From: [email protected]\nBcc: [email protected]\n\nMessage text" # Specify only the "Bcc" header. Useful for bulk emails. resmsg, resto, resfrom = _mungeHeaders(msg) self.failUnlessEqual(resto, ['*****@*****.**']) self.failUnlessEqual(resfrom, '*****@*****.**')