[Email-SIG] Question about Multi-part message

Joe Hughes jwhughes at hughesconcepts.com
Wed Jul 7 22:53:54 CEST 2010


All,

	As you can see below I'm a bit baffled.  I got the code working by commenting three lines, but I would like to have to, from, and date in the header.  Any suggestions on how to make this work?

Thanks,
Joe

#!/usr/local/bin/python3

########################################################################
# Imports
########################################################################
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import email.utils
import smtplib

########################################################################
# Constants
########################################################################
GMAIL_PORT = '587'
GMAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 'XX'
MAIL_SERVER = 'mailserver.company.com'
PASSWORD = 'password'
USERNAME = 'username at gmail.com'

########################################################################
# Main Routine
########################################################################
#
# Try to connect to the mail server, handle exception
#
try:
    mail_server = smtplib.SMTP(MAIL_SERVER, MAIL_PORT)
    print("Valid response from", MAIL_SERVER)
    mail_server.quit()
except:
    mail_from = USERNAME
    mail_to = ['user1 at company.com',
               'user2 at company.com']

    print("Invalid response from", MAIL_SERVER)

    try:
        gmail_server = smtplib.SMTP(GMAIL_SERVER, GMAIL_PORT)
        gmail_server.set_debuglevel(True)
    except:
        print("Invalid response to ssl connection.")
        
    try:
        gmail_server.ehlo()
    except:
        print("First ehlo failed")
        
    try:
        gmail_server.starttls()
    except smtplib.SMTPHeloError:
        print('This is an SMTP Helo Error when trying to start tls')
    except smtplib.SMTPException:
        print('This is an SMTP Exception')
    except RuntimeError:
        print('This is a Runtime Error')
    except:
        print("start tls failed")
        
    try:
        gmail_server.ehlo()
    except:
        print("second ehlo failed")
        
    try:
        gmail_server.login(USERNAME, PASSWORD)
    except:
        print("Login failed")
        
    try:
        message = "No response from " + MAIL_SERVER + " Possibly down."
        msg = MIMEMultipart()
#        msg['from'] = mail_from
#        msg['to'] = mail_to
#        msg['date'] = email.utils.formatdate(localtime=True)
        msg['subject'] = 'Company Mail Server Issue'
        msg.attach(MIMEText(message))
    except:
        message = """Error creating MIME email message"""
        msg = MIMEMultipart()
        msg.attach(MIMEText(message))

    try:
        gmail_server.sendmail(mail_from, mail_to, msg.as_string())
        gmail_server.quit()
    except:
        print("Invalid response from", GMAIL_SERVER)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/email-sig/attachments/20100707/44ef7323/attachment.html>


More information about the Email-SIG mailing list