写了一个爬取学校教务网获取成绩的小工具,每五分钟进行一次查询,如果发现有新成绩出现就用邮件通知自己,邮件服务器使用的腾讯企业邮箱。
爬虫写的比较顺利,但发邮件的部分出了一些问题,在自己的Linux环境下运行没问题,在云服务器上却连接不到smtp服务器,代码大概是这样的:
import smtplib
from email.mime.text import MIMEText
def sendEmail(toEmail,toUser,subject,content):
msg=MIMEText(content,'plain','utf-8')
msg['From']='xxx'
msg['To']=toUser
msg['Subject']=subject
server='smtp.exmail.qq.com'
server=smtplib.SMTP(server,25)
server.set_debuglevel(1)
server.login('xxx@xx.com','xxx')
server.sendmail('xxx@xx.com',toEmail,msg.as_string())
server.quit()
查了好多资料均无果,最后发现有人连接的时候用了SSL,然后抱着试一试的心态改成这样:
server=smtplib.SMTP_SSL(server,465)
然后就一切正常了。