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')    --密码错误

 

 

posted @ 2019-04-29 16:49  milkty  阅读(1102)  评论(0)    收藏  举报