繁体   English   中英

python电子邮件发送脚本gmail

[英]python email sending script gmail

我正在制作一个简单的脚本,用于在python 2.7.5中通过gmail帐户发送邮件。在发送邮件之前,我想检查用户是否通过gmail smtp成功登录...这是我的代码:

#!/usr/bin/python
import smtplib
user = raw_input("Enter Your email address: ")
password= raw_input("Enter your email password: ")
receipt = raw_input("Enter Receipt email address: ")
subject = raw_input ("Subject: ")
msg = raw_input("Message: ")
message =  """\From: %s\nTo: %s\nSubject: %s\n\n%s
            """ % (user, ", ".join(receipt), subject, msg)
smtp_host = 'smtp.gmail.com'
smtp_port = 587
session = smtplib.SMTP()
session.connect(smtp_host, smtp_port)
session.ehlo()
session.starttls()
session.ehlo
print "Connecting to the server....."
try:
    session.login(user, password) 
    if (session.verify(True)):
        print "Connected to the server. Now sending mail...."
        session.sendmail(user, receipt, message)
        session.quit()
        print "Mail have been sent successfully.....!"
except smtplib.SMTPAuthenticationError:
    print "Can not connected to the Server...!"

print "Simple mail Test"

但是,当我运行它时,它将显示“无法连接到服务器”。 有谁能帮助我我做错了什么?

您只是忘记了几件事。 收据必须是列表,并且verify方法将用户电子邮件作为参数。 这是经过一些改进的代码:

#!/usr/bin/python
import smtplib
receipt,cc_list=[],[]
user = raw_input("Enter Your email address: ")
password= raw_input("Enter your email password: ")
receipt.append(raw_input("Enter Receipt email address: "))
subject = raw_input ("Subject: ")
message = raw_input("Message: ")

header  = 'From: %s\n' % user
header += 'To: %s\n' % ','.join(receipt)
header += 'Cc: %s\n' % ','.join(cc_list)
header += 'Subject: %s\n\n' % subject
message = header + message

smtp_host = 'smtp.gmail.com'
smtp_port = 587
session = smtplib.SMTP()
session.connect(smtp_host, smtp_port)
session.ehlo()
session.starttls()
session.ehlo

print "Connecting to the server....."
try:
    session.login(user, password) 
    if (session.verify(user)):
        print "Connected to the server. Now sending mail...."
        session.sendmail(user, receipt, message)
        session.quit()
        print "Mail have been sent successfully.....!"
except smtplib.SMTPAuthenticationError:
    print "Can not connected to the Server...!"

print "Simple mail Test"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM