summaryrefslogtreecommitdiff
path: root/doc/mail/tutorial/smtpclient/smtpclient-7.tac
diff options
context:
space:
mode:
Diffstat (limited to 'doc/mail/tutorial/smtpclient/smtpclient-7.tac')
-rw-r--r--doc/mail/tutorial/smtpclient/smtpclient-7.tac46
1 files changed, 46 insertions, 0 deletions
diff --git a/doc/mail/tutorial/smtpclient/smtpclient-7.tac b/doc/mail/tutorial/smtpclient/smtpclient-7.tac
new file mode 100644
index 0000000..297a35a
--- /dev/null
+++ b/doc/mail/tutorial/smtpclient/smtpclient-7.tac
@@ -0,0 +1,46 @@
+import StringIO
+
+from twisted.application import service
+
+application = service.Application("SMTP Client Tutorial")
+
+from twisted.application import internet
+from twisted.internet import protocol
+from twisted.mail import smtp
+
+class SMTPTutorialClient(smtp.ESMTPClient):
+ mailFrom = "tutorial_sender@example.com"
+ mailTo = "tutorial_recipient@example.net"
+ mailData = '''\
+Date: Fri, 6 Feb 2004 10:14:39 -0800
+From: Tutorial Guy <tutorial_sender@example.com>
+To: Tutorial Gal <tutorial_recipient@example.net>
+Subject: Tutorate!
+
+Hello, how are you, goodbye.
+'''
+
+ def getMailFrom(self):
+ result = self.mailFrom
+ self.mailFrom = None
+ return result
+
+ def getMailTo(self):
+ return [self.mailTo]
+
+ def getMailData(self):
+ return StringIO.StringIO(self.mailData)
+
+ def sentMail(self, code, resp, numOk, addresses, log):
+ print 'Sent', numOk, 'messages'
+
+class SMTPClientFactory(protocol.ClientFactory):
+ protocol = SMTPTutorialClient
+
+ def buildProtocol(self, addr):
+ return self.protocol(secret=None, identity='example.com')
+
+smtpClientFactory = SMTPClientFactory()
+
+smtpClientService = internet.TCPClient('localhost', 25, smtpClientFactory)
+smtpClientService.setServiceParent(application)