def validateTo(self, user): recipient = str(user.dest) valid = yield self.isRecipientValid(recipient) if not valid: raise SMTPBadRcpt(user) swift_filesystem = SwiftFileSystem(self.swift_connection) path = '/smtp/%s/%s' % (recipient, uuid4()) d, swift_file = swift_filesystem.startFileUpload(path) message = SwiftMessage(d, swift_file) @defer.inlineCallbacks def onUpload(ignored): if not self.rabbitmq_cluster or not self.queue_name: defer.returnValue(None) replica = yield self.rabbitmq_cluster.connect() yield replica.send(self.queue_name, json.dumps({ 'username': self.swift_connection.username, 'path': path, 'origin': self.origin, 'recipient': recipient, 'subj': message.subject, 'gate': 'smtp'})) d.addCallback(onUpload) yield swift_file.started msg("Uploading %s" % path) defer.returnValue(lambda: message)
def validateTo(self, user): recipient = str(user.dest) valid = yield self.isRecipientValid(recipient) if not valid: raise SMTPBadRcpt(user) swift_filesystem = SwiftFileSystem(self.swift_connection) path = '/smtp/%s/%s' % (recipient, uuid4()) d, swift_file = swift_filesystem.startFileUpload(path) message = SwiftMessage(d, swift_file) @defer.inlineCallbacks def onUpload(ignored): if not self.rabbitmq_cluster or not self.queue_name: defer.returnValue(None) replica = yield self.rabbitmq_cluster.connect() yield replica.send( self.queue_name, json.dumps({ 'username': self.swift_connection.username, 'path': path, 'origin': self.origin, 'recipient': recipient, 'subj': message.subject, 'gate': 'smtp' })) d.addCallback(onUpload) yield swift_file.started msg("Uploading %s" % path) defer.returnValue(lambda: message)