如何通过树莓派/Python/smtp发送电子邮件,本文用QQ邮箱示范
获得QQ邮箱登录的授权码
若想通过代码登录QQ邮箱,首先要获得其登录的smtp授权码,否则通过其密码是无法登录的
1.登录QQ邮箱,找到”设置“
2.点击进去,然后找到”账号“
3.点击进去,下拉找到smtp服务,并开启SMTP的服务
4.然后按照其开启要求发送相关短信即可
5.获得授权码,并记下,等下要用
用Python写代码
import smtplib#导入smtp模块
#自己的qq邮箱,如果你是136的话可以改成[email protected]
QQMAIL_USER = '[email protected]'
'#smtp服务的授权码,根据上面的操作就可以获得
QQMAIL_PASS = 'hylrmkechtkxddbj
#smtp的服务类型,我的是QQ,其他比如136邮箱可改成smtp.136.com,或者谷歌邮箱smtp.gmail.com
SMTP_SERVER = 'smtp.qq.com'
#这个端口一般没什么问题所有邮箱都是25,谷歌的587也可以
SMTP_PORT = 25
#接受者,我这里是我自己
recipient1='[email protected]'
#邮件主题
sub1 = 'sub'
#邮件内容
text1='this is text'
#发送函数,参数recipient是接受者了,subject是邮件主题,text是邮件内容
def send_email(recipient,subject,text):
smtpserver = smtplib.SMTP(SMTP_SERVER,SMTP_PORT)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(QQMAIL_USER,QQMAIL_PASS)
header = 'To:'+recipient+'\n'+'From:'+QQMAIL_USER
header = header + '\n' +'Subject:' + subject +'\n'
msg = header +'\n'+text+'\n\n'
smtpserver.sendmail(QQMAIL_USER,recipient,msg)
smtpserver.close()
send_email(recipient1,sub1,text1)#调用函数
最后直接运行就可以了,有问题下方留言,谢谢。