python发送邮件yamail
python发邮件的教程的,主要用的都是smtplib库,yamail。yamail相当简单。
简单示例:
import yagmail yag = yagmail.SMTP(user='user@163.com',password='1234',host='smtp.163.com') contents = ['这里是内容'] yag.send('target@qq.com','主题:这是一个主题',contents)
yag.close()
- yagmail.SMTP()参数
yagmail.SMTP()里面的几个重要参数!user和password顾名思义啦,就是你自己的邮箱账号和密码
但是这个问题就来了,平时登陆邮箱一般账号密码登陆有些时候好像是要打验证码的呀,这样python就传了个账号和密码真的能把邮件发出去吗?然此密码非彼密码,用的密码是邮箱中的授权码,就是专门授权给机器登陆的密码。一般邮箱中,进入设置,然后POP3/SMTP/IMAP设置,打开服务就可以设置授权码了。 - #163、qq邮箱为授权码,一般公司邮箱是登录密码
-
send()参数
yag.send(to=args.to,subject=args.subject,contents=args.contents,attachments=args.attachments)args.to 是收件人邮箱(给多个目标发邮件只需创建一个列表,将邮箱放在列表中即可)
args.subject 是主题
args.contents 是邮箱正文
args.attachments 是附件(传入文件路径)
发送多个人
# 发送邮件 yag.send(['aa@126.com','bb@qq.com','cc@gmail.com'], 'subject', contents)
带附件发送
# 发送邮件
yag.send('aaaa@126.com', '发送附件', contents, ["d://log.txt","d://baidu_img.jpg"])
问题:
使用yagmail发送邮件时,直接使用邮箱密码,提示:smtplib.SMTPAuthenticationError: (535,
qq邮箱授权码:https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
smtplib.SMTPAuthenticationError: (535, 'Error: authentication failed, system busy') --密码错误

浙公网安备 33010602011771号