简单了解python 邮件模块的使用方法

 更新时间:2019年07月24日 14:11:58   作者:可可的私房菜  
这篇文章主要介绍了简单了解python 邮件模块的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

我们在开发程序的时候,有时候需要开发一些自动化的任务,执行完之后,将结果自动的发送一份邮件,python发送邮件使用smtplib模块,是一个标准包,直接import导入使用即可,代码如下:

import smtplib    
from email.mime.text import MIMEText
email_host = 'smtp.163.com'   #邮箱地址
email_user = 'xxxx@163.com' # 发送者账号
email_pwd = 'xxxx'    # 发送者密码
maillist ='511402865@qq.com'
#收件人邮箱,多个账号的话,用逗号隔开
me = email_user
msg = MIMEText('邮件发送测试内容')  # 邮件内容
msg['Subject'] = '邮件测试主题'  # 邮件主题
msg['From'] = me  # 发送者账号
msg['To'] = maillist  # 接收者账号列表
smtp = smtplib.SMTP(email_host,port=25) # 连接邮箱,传入邮箱地址,和端口号,smtp的端口号是25
smtp.login(email_user, email_pwd)  # 发送者的邮箱账号,密码
smtp.sendmail(me, maillist, msg.as_string())
# 参数分别是发送者,接收者,第三个是把上面的发送邮件的内容变成字符串
smtp.quit() # 发送完毕后退出smtp
print ('email send success.')

下面是发送带附件的邮件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
username='xxx@xx.com'
email_host = 'smtp.163.com'
passwd='123456'
recv=['511402865@qq.com',]
title='邮件标题'
content='发送邮件测试'
msg = MIMEMultipart()
file='a.txt'
att = MIMEText(open(file,encoding='utf-8').read())
att["Content-Type"] = 'application/octet-stream'
att["Content-Disposition"] = 'attachment; filename="%s"'%file
msg.attach(att)
msg.attach(MIMEText(content))#邮件正文的内容
msg['Subject'] = title # 邮件主题
msg['From'] = username # 发送者账号
msg['To'] = recv # 接收者账号列表
#smtp = smtplib.SMTP_SSL(eail_host,port=456)#qq邮箱
smtp = smtplib.SMTP_SSL(eail_host,port=25)#其他邮箱
smtp.login(username,passwd)
smtp.sendmail(username,recv,msg.as_string())
smtp.quit()

当然,我们可以封装成一个函数,使用的时候,直接调用函数,传入邮箱账号密码,收件人,发件人,标题和内容即可。

  import smtplib      
  from email.mime.text import MIMEText
  def send_mail(username,passwd,recv,title,content,mail_host='smtp.163.com',port=25):
    '''
    发送邮件函数,默认使用163smtp
    :param username: 邮箱账号 xx@163.com
    :param passwd: 邮箱密码
    :param recv: 邮箱接收人地址,多个账号以逗号隔开
    :param title: 邮件标题
    :param content: 邮件内容
    :param mail_host: 邮箱服务器
    :param port: 端口号
    :return:
    '''
    msg = MIMEText(content)  # 邮件内容
    msg['Subject'] = title  # 邮件主题
    msg['From'] = username  # 发送者账号
    msg['To'] = recv  # 接收者账号列表
    smtp = smtplib.SMTP(mail_host,port=port) # 连接邮箱,传入邮箱地址,和端口号,smtp的端口号是25
    smtp.login(username, passwd)  # 发送者的邮箱账号,密码
    smtp.sendmail(username, recv, msg.as_string())
    # 参数分别是发送者,接收者,第三个是把上面的发送邮件的内容变成字符串
    smtp.quit() # 发送完毕后退出smtp
    print ('email send success.')
     
email_user = 'xxxx@163.com' # 发送者账号
email_pwd = 'xxxxx'    # 发送者密码
maillist ='511402865@qq.com'
title = '测试邮件标题'
content = '这里是邮件内容'
send_mail(email_user,email_pwd,maillist,title,content)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python 控制台单行刷新,多行刷新实例

    python 控制台单行刷新,多行刷新实例

    今天小编就为大家分享一篇python 控制台单行刷新,多行刷新实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Pyscript使用本地Pyodide配置步骤

    Pyscript使用本地Pyodide配置步骤

    PyScript是“一个用于在 HTML(如 PHP)中交错 Python 的系统,这篇文章主要介绍了Pyscript使用本地Pyodide配置方法,需要的朋友可以参考下
    2022-12-12
  • django创建超级用户时指定添加其它字段方式

    django创建超级用户时指定添加其它字段方式

    这篇文章主要介绍了django创建超级用户时指定添加其它字段方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 排序算法之插入排序法解析

    排序算法之插入排序法解析

    这篇文章主要介绍了排序算法之插入排序法解析,插入排序法是一种简单但有效的排序算法,其基本思想是将一个待排序的元素逐个插入到已经排好序的元素序列中,直至所有元素都被插入完成,从而得到一个有序序列,需要的朋友可以参考下
    2023-07-07
  • 如何使用Python实现PPT批量转图片

    如何使用Python实现PPT批量转图片

    这篇文章主要为大家详细介绍了如何使用Python开发一个带有图形界面的PPT批量转图片工具,文中的示例代码讲解详细,有需要的小伙伴可以了解下
    2025-02-02
  • 如何用Python读取pdf中的文字与表格

    如何用Python读取pdf中的文字与表格

    这篇文章主要介绍了如何在Python中安装和使用PyPDF2和pdfplumber库来处理PDF文件,包括安装步骤、库的使用方法以及它们在提取文本和表格方面的不同优势,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-11-11
  • python实现简单中文词频统计示例

    python实现简单中文词频统计示例

    本篇文章主要介绍了python实现简单中文词频统计示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Python 命令行参数sys.argv

    Python 命令行参数sys.argv

    命令行参数是通过sys.argv[]来获取的,sys.argv[0]是代码文件本身的路径,因此参数是从1开始的。比如设置参数为: spe
    2008-09-09
  • Python实现将DOC文档转换为PDF的方法

    Python实现将DOC文档转换为PDF的方法

    这篇文章主要介绍了Python实现将DOC文档转换为PDF的方法,涉及Python调用系统win32com组件实现文件格式转换的相关技巧,需要的朋友可以参考下
    2015-07-07
  • 经验丰富程序员才知道的15种高级Python小技巧(收藏)

    经验丰富程序员才知道的15种高级Python小技巧(收藏)

    本文将介绍15个简洁的Python技巧,向着简洁更高效,学习易懂出发,具说只有经验丰富程序员才知道的15种高级Python小技巧,喜欢的朋友快来看看吧
    2021-10-10

最新评论