def smtp_MAIL(self, args): if not self._client: self.send_line('503 Error: out of sequence command - no HELO') return fromaddr = self.get_address(args) self.current = Envelope(fromaddr) self.current.write("Received: from %s (%s) by %s with SMTP ; %s\r\n" % (self._client, self.otheraddr[0], self.hostname, formatdate())) self.envelopes.append(self.current) self.send_line("250 sender <%r> ok" % fromaddr)
def get_message(self, timeout=60): """returns an Envelope object from the server.""" if self._server: # get envelope (with message) and stash its conversation and client # address in it. envelope = self._server.poll(timeout, []) if envelope is not None: envelope.conversation = self._server.get_conversation() envelope.otheraddress = self._server.otheraddr return envelope else: envelope = Envelope() # return empty one then, to provide consistent interface. envelope.otheraddress = None envelope.conversation = self._server.get_conversation() return envelope