python中如何调用yagmail模块发送邮件

亲测有效,直接拿去用吧,
注意:接收邮件的人改成你自己的邮箱账号哈,不然执行完之后自己看不到效果哦

#!/usr/local/bin/python3

import yagmail
import re

def yag_mail(email_subject, email_content, email_attachment, email_receive):
# 定义一个用来发送邮件的函数

     email_user = '[email protected]'
     # 这是你自己邮箱的账号

     Authorization_code = 'qyj123456789'
     # 这是163邮箱的第三方授权码,不是登录密码

     email_host = 'smtp.163.com'
     # 这是从邮件服务提供商获取的

     yag= yagmail.SMTP(user=email_user,
                       password=Authorization_code,
                       host=email_host,
                       port=25,
                       smtp_ssl=False)
                       
     yag.send(to=email_receive,
              subject=email_subject,
              contents= email_content,
              attachments=email_attachment)
     print("邮件已发送成功,还剩下无效的邮箱,快去处理吧!")
     
----------------------------------------------------------------------------------------
def Verify_email(mail_al_receive):
# 定义一个用来验证邮箱账号是否正确的函数

     email_rece = []
     # 定义一个空列表,一会用来接收有效的邮箱
     
     for i in mail_al_receive:
     # for循环遍历在列表里边的每一个元素【列表中的每个元素都是我们写进去的一个邮箱账号】
     
          if re.match("^[A-Za-z0-9_-]+@[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$", i) != None:
          # 判断邮箱账号是否合法,如果返回值!=None,说明邮箱是合法的
          
               email_rece.append(i)
               # 把匹配到的邮箱账号通过.append()添加到刚刚定义的空的列表email_rece中
               
          else:
          
               print("发现一个无效的邮箱:{}".format(i)
               # 如果发现邮箱账号不合法,就告诉发邮件的人,方便后续的处理

     return email_rece
     # 返回一个包含所有有效邮箱的列表
----------------------------------------------------------------------------------------

if __name__ == '__main__':
# 主函数入口

      email_subject = input("please enter email_subject: ")
      # 这个是邮件的主题

      email_content = """Haha, welcome!"""
      # 这个是邮件的内容【正文】

      email_attachment = '/root/1564116408(1).png' # input('please enter the path of the attachment: ')
      # 这个是输入附件所在的路径,就是你要附加的发送的文件的路径

      email_all_receive = ['fdsakj', '[email protected]']
      # 这个是你都要给谁发邮件,写成一个列表【邮箱账号可能会输入有误,所以需要定义一个函数来验证邮箱账号是否合法】

      email_receive = []
      # 定义一个空的列表用来接收有效的邮箱账号

      email_receive = Verify_email(email_all_receive)
      # 调用判断邮箱账号是否合法的函数,并且把返回的值给定义的空列表email_receive

      yag_mail(email_subject, email_content, email_attachment, email_receive)
      # 调用发送邮件的函数

python中如何调用yagmail模块发送邮件_第1张图片
python中如何调用yagmail模块发送邮件_第2张图片

你可能感兴趣的:(python中如何调用yagmail模块发送邮件)