def createDataManager(self, fromaddr, toaddrs, message): message = copy_message(message) message['X-Actually-From'] = Header(fromaddr, 'utf-8') message['X-Actually-To'] = Header(','.join(toaddrs), 'utf-8') maildir = Maildir(self.queuePath, True) tx_message = maildir.add(message) return MailDataManager(tx_message.commit, onAbort=tx_message.abort)
def test_add(self): from email.message import Message from repoze.sendmail.maildir import Maildir m = Maildir('/path/to/maildir') tx_message = m.add(Message()) self.assertTrue(tx_message._pending_path, '/path/to/maildir/tmp/1234500002.4242.myhostname.')
def send(self, mto, message): """ keep in mind... This is only called inside another thread, after transaction has completed """ try: from repoze.sendmail import encoding encoding.cleanup_message(message) except ImportError: pass messageid = message['Message-Id'] if messageid is None: msgid_domain = self.msgid_domain messageid = message['Message-Id'] = make_msgid(domain=msgid_domain) if message['Date'] is None: message['Date'] = formatdate() message['X-Actually-From'] = Header(self.mfrom, 'utf-8') message['X-Actually-To'] = Header(','.join(mto), 'utf-8') maildir = Maildir(self.queuePath, True) tx_message = maildir.add(message) tx_message.commit() return messageid