#!/usr/bin/env python import sys import libglade import gtk import smtplib # Maintain compatibility with Python 2.2 and below, # while getting rid of warnings in newer pyGtks. try: True, False except NameError: True, False = 1, 0 class sendmail(libglade.GladeWrapper): def _sendmail(self): Server=self.SERVER.get_text() From=self.FROM.get_text() To=self.TO.get_text().split(",") Subject=self.SUBJECT.get_text() (body_start, body_end) = self.mail.get_buffer().get_bounds() Body=self.mail.get_buffer().get_text(body_start,body_end,True) msg="From: %s\nTo: %s\nSubject: %s\n\n%s" % (From, reduce(lambda x, y: x+', '+y, To), Subject, Body) try: mc = smtplib.SMTP(Server) mc.sendmail(From, To, msg) except: print 'Error sending mail through "%s" [%s]' % (Server,sys.exc_value[1]) else: mc.quit() ################# # Signal handlers ################# def quit(self, *args): gtk.main_quit() def on_sendmail_destroy(self, event): self.quit() def send(self, button): self._sendmail() self.quit() sendmail_styles=""" style "green_button" { fg[PRELIGHT] = { 1.0, 1.0, 1.0 } bg[PRELIGHT] = { 0, 0.75, 0 } } widget "sendmail.*.Send*" style "green_button" style "blue_text" { text[NORMAL] = { 0, 0, 0.75 } } widget "sendmail.*.mail" style "blue_text" """ gtk.rc_parse_string(sendmail_styles) SENDMAIL = sendmail("./sendmail.glade", "sendmail") gtk.main()