Ticket #20: additional_headers.patch

File additional_headers.patch, 2.4 kB (added by fs, 1 year ago)
  • turbomail_tests/basic_tests.py

     
    9090        self.failIf(msg.has_key('Old-Return-Path')) 
    9191        self.failIf(msg.has_key('Return-Path')) 
    9292 
     93    def test_add_custom_headers(self): 
     94        "Test that custom headers can be attached." 
     95        extra_headers = {'Precendence': 'bulk', 'X-User': 'Alice'} 
     96        message = turbomail.Message('sender@foo.example',  
     97                                    'recipient@foo.example', 'foo bar') 
     98        message.plain = 'Hello World!' 
     99        message.headers = extra_headers 
     100        turbomail.enqueue(message) 
     101        msginfo = get_received_mail(self.sink) 
     102        msg = email.message_from_string(msginfo['mail'])  
     103        for header_name in extra_headers.keys(): 
     104            self.failUnless(msg.has_key(header_name)) 
     105            self.assertEquals(extra_headers[header_name], msg[header_name]) 
     106 
  • turbomail/documentation/guide.wiki

     
    109109 * `date` -- The Date header. 
    110110 * `disposition` -- Request disposition notification be sent to this address. 
    111111 * `encoding` -- Content encoding specific to this message. 
    112  * `headers` -- A list of additional headers. 
     112 * `headers` -- A dictionary or a tuple with additional headers. 
    113113 * `organization` -- The descriptive Organization header. 
    114114 * `plain` -- Plain text content.  Can be automatically generated. 
    115115 * `priority` -- The X-Priority header, in the range of 1-5. 
  • turbomail/turbomail/message.py

     
    140140                self.rich = None 
    141141                self.attachments = [] 
    142142                self.embedded = [] 
    143                 self.headers = [] 
     143                self.headers = {} 
    144144                self.smtpfrom = None 
    145145                 
    146146                for i, j in kw.iteritems(): 
     
    306306                                        message.add_header(*header) 
    307307                                elif type(header) == type({}): 
    308308                                        message.add_header(**header) 
    309                  
    310                 if type(self.headers) == type({}): 
     309                elif type(self.headers) == type({}): 
    311310                        for name, header in self.headers.iteritems(): 
    312311                                if type(header) in [type(()), type([])]: 
    313312                                        message.add_header(name, *header)