SMTP使用Gmail发送电子邮件问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SMTP使用Gmail发送电子邮件问题相关的知识,希望对你有一定的参考价值。
我有一个脚本,用SMTP发送.png文件。当我使用hotmail帐户时;
smtplib.SMTP('smtp.live.com', 587)
它没有任何问题。但是当我使用Gmail帐户时;
smtplib.SMTP('smtp.gmail.com', 587)
错误引发:SMTPServerDisconnected: Connection unexpectedly closed
我已经将smtplib.SMTP('smtp.gmail.com', 587)
改为smtplib.SMTP('localhost')
但没有奏效。我该如何修复这个gmail问题?
答案
试试这个代码,它对我来说很好,
import smtplib
## email sending function
def email_sender(input_message, email_to, client):
''' function to send email '''
to = email_to
gmail_user = '' ## email of sender account
gmail_pwd = '' ## password of sender account
smtpserver = smtplib.SMTP("smtp.gmail.com",587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(gmail_user, gmail_pwd)
header = 'To:' + to + '
' + 'From: ' + gmail_user + '
' +'Subject:site down!
'
input_message = input_message + client
msg = header + input_message
smtpserver.sendmail(gmail_user, to, msg)
smtpserver.close()
另一答案
您可以使用smtplib和电子邮件发送电子邮件,此代码在我按照此步骤后为我工作。
步骤是
- 登录Gmail。
- 单击右上角的齿轮。
- 选择设置。
- 单击“转发”和“POP / IMAP”。
- 选择“启用IMAP”。 6.单击“保存更改”
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
me = "your email"
my_password = r"your password"
you = "to email id"
msg = MIMEMultipart('alternative')
msg['Subject'] = "Alert"
msg['From'] = me
msg['To'] = you
html = '<html><body><p>Hi, I have the following alerts for you!</p></body></html>'
part2 = MIMEText(html, 'html')
msg.attach(part2)
s = smtplib.SMTP_SSL('smtp.gmail.com')
s.login(me, my_password)
s.sendmail(me, you, msg.as_string())
print s
s.quit()
以上是关于SMTP使用Gmail发送电子邮件问题的主要内容,如果未能解决你的问题,请参考以下文章