smtplib starttls gmail example

Jean-Paul Calderone exarkun at divmod.com
Tue Jan 23 12:37:37 EST 2007


On Tue, 23 Jan 2007 17:25:24 GMT, py <py at th.on> wrote:
>from smtplib import SMTP
>from socket import sslerror         #if desired
>server = SMTP('smtp.gmail.com')
>server.set_debuglevel(0) # or 1 for verbosity
>server.ehlo('youraddress at gmail.com')
>server.starttls()
>server.ehlo('youraddress at gmail.com')  # say hello again
>server.login('youraddress at gmail.com', 'yourpassword')
># i have a suspicion that smptlib does not add the required newline dot newline so i do it myself
>server.sendmail('youraddress at gmail.com', 're at cipient.com', message_text + '\n.\n')
># next line generates the ignorable socket.sslerror
>server.quit()
>

Or with Twisted:

  from twisted.internet.ssl import ClientContextFactory
  from twisted.internet.defer import Deferred
  from twisted.mail.smtp import ESMTPSenderFactory
  from twisted.internet import reactor

  contextFactory = ClientContextFactory()
  result = Deferred()
  factory = ESMTPSenderFactory('youraddress at gmail.com',
                               'your password',
                               'youraddress at gmail.com',
                               're at cipient.com',
                               messageText,
                               contextFactory=contextFactory)
  reactor.connectTCP('smtp.gmail.com', 25, factory)
  result.addCallback(lambda ign: reactor.stop())
  reactor.run()

Jean-Paul



More information about the Python-list mailing list