使用smtplib发送电子邮件

时间:2011-10-21 07:49:28

标签: python smtplib

我有以下使用Gmail地址成功发送电子邮件的代码。但是,当我尝试使用Gmail以外的电子邮件帐户时,这是一个域名电子邮件。它给了我套接字错误。我需要改变什么吗?

def sendEmail(userName, password, subject, content, toEmail, fromEmail):
    print 'Sending email to: %s' % toEmail
    SMTPserver = 'smtp.gmail.com'

    sender =     fromEmail
    destination = [toEmail]

    USERNAME = userName
    PASSWORD = password

   text_subtype = 'plain'
   try:
       content = content
       subject = subject

       msg = MIMEText(content, text_subtype)
       msg['Subject'] = subject
       msg['From']   = sender

       conn = SMTP(SMTPserver, 587)
       conn.ehlo()
       conn.starttls()
       conn.ehlo()

       conn.login(USERNAME, PASSWORD)
       try:
           conn.sendmail(sender, destination, msg.as_string())
           print 'Email sent successfully.'
       finally:
           conn.close()
   except Exception, exc:
       raise exc

我使用的电子邮件是domains@smoothplus.com。我还尝试将SMTPserver = 'smtp.gmail.com'更新为SMTPserver = 'smtpout.secureserver.net'我的域名的smptp,但它也无效。请帮忙。

2 个答案:

答案 0 :(得分:4)

当您使用SMTPserver='smtp.gmail.com'尝试端口号为465时,它可能会起作用。

答案 1 :(得分:3)

可能是您必须更改conn = SMTP(SMTPserver, 587)端口以及您的电子邮件服务器。