• python之发邮件


    一、Python发送邮件的步骤

      前提:开通了第三方授权,可以使用SMTP服务

      1.创建一个SMTP对象:smtp = smtplib.SMTP()

      2.连接SMTP服务器,默认端口都是25:smtp.connect('smtp.163.com','25')

      3.登录自己邮箱账号:smtp.login('18910148469@163.com','lingjing2315')

      4.调用发送消息函数,参数:发件人,收件人(为列表的格式,单个收件人为字符串),消息内容:smtp.sendmail('18910148469','974644081@qq.com',msg.as_string())

      5.关闭连接:smtp.quit()

    二、邮件消息注册

      首先创建一个消息对象:

    msg = email.mime.multipart.MIMEMultipart()
    msg['from']='18910148469@163.com'
    msg['to']='974644081@qq.com;1414873973@qq.com'
    msg['subject'] = 'ajing1111'

      分别指明邮件的发件人,收件,只代表显示的问题

    三、消息内容

      首先,先定义一个字符串,来表示消息内容:

    context ='''hello world'''
    txt = email.mime.text.MIMEText(_text=content,_subtype="html")
    msg.attach(txt)

      -subtype:这个参数表示是以HTML解析的形式去发送,还是以text的形式去发送

    四、发送附件

      发送附件的步骤:

      1.先找到一个本地文件

      2.打开文件,读出文件字符串

      3.通过MIMText()类来创建一个对象attm,传入文件读出内容

      4.增加att的头部信息,并指定文件名字

      5.添加到msg消息中msg.attach(att)

    attfile = 'test.py'
    basename = os.path.basename(attfile)
    fp = open(attfile, 'rb')
    att = email.mime.text.MIMEText(fp.read(), 'html', 'utf-8')
    att["Content-Type"] = 'application/octet-stream'
    att.add_header('Content-Disposition', 'attachment',filename=('utf-8', '', basename))#three-tuple of (charset, language, value),
    # encoders.encode_base64(att)

    五、发送图片

      发送图片的步骤:

      1.本地必须存在一张图片

      2.打开图片,并读取图片内容

      3.创建发邮件相对应的图片对象imgattr = MIMEImage(fimg.read())

      4.增加图片的头信息,imgattr.add.header('Content ID','<image1>'),指定了图片的ID,图片如果想在正文中显示,必须通过HTML的格式显示出来:在前端代码中指定图片ID

      5.添加到message的信息中

    六、使用第三方库yagmail来发送邮件

      使用pip install yagmail来进行安装。

    七、程序例子

  • 相关阅读:
    Xilinx SelectIO资源的使用总结
    Altera usbblaster驱动无法安装的解决办法
    Xilinx FPGA的约束设计和时序分析总结
    OpenMANIPULATORX基本操作
    OpenMANIPULATORX ROS包安装 (Melodic)
    .xacro文件
    open_manipulator OpenCR代码解读
    OpenMANIPULATORX GUI
    ROS建模 urdf
    多机器人Gazebo仿真
  • 原文地址:https://www.cnblogs.com/huangdongju/p/8241748.html
Copyright © 2020-2023  润新知