使用python发送邮件的两种方式

简介: python中发送邮件主要使用的库是> smtplib安装命令也比较简单;> pip install smtplib编码实现发送邮件:1、引入库:```pythonimport smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddr```

python中发送邮件主要使用的库是

>  smtplib


安装命令也比较简单;

> pip install smtplib


编码实现发送邮件:

1、引入库:

```

import smtplib

from email.mime.text import MIMEText

from email.utils import formataddr

```

2、定义发送函数;接收主题和内容参数

```


def mail(subject,text):

       #self.my_sender='**@163.com'    # 发件人邮箱账号

       #self.my_pass = '****'           # 发件人邮箱密码(当时申请smtp给的口令)

       my_sender='***@qq.com'    # 发件人邮箱账号

       my_pass = '*****'           # 发件人邮箱密码(当时申请smtp给的口令)

       my_user='****@qq.com'      # 收件人邮箱账号

       try:

           msg=MIMEText(text,'HTML','utf-8')

           msg['From']=formataddr([my_sender,my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号

           msg['To']=formataddr([my_user,my_user])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号

           msg['Subject']= subject                # 邮件的主题,也可以说是标题

           #server=smtplib.SMTP("smtp.163.com", 25)  # 发件人邮箱中的SMTP服务器,端口是80

           server=smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是80

           server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码

           server.sendmail(my_sender,[my_user,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件

           server.quit()# 关闭连接

           print('发送成功')

       except Exception:# 如果 try 中的语句没有执行

           print('发送失败\t\n')

```

属性说明参考注释既可;


3、调用函数;

 

> mail(‘测试邮件’,'测试信息。。。。')


------------------


python中发送接收邮件还有一个库

> zmail


这个库相对于上面的更简单,不过只支持python3


zmail的优点有:

```python

自动查找服务器地址及其端口

自动使用合适的协议登录

自动将python字典转换为MIME对象(带附件)

自动添加邮件标题和本地名称,以避免服务器拒绝您的邮件

轻松自定义邮件标题

支持HTML作为邮件内容

```

安装方式也比较简单:

> pip install zmail


使用方式如下:

> 以下是源码,配置自己的参数后,可直接使用;使用比较简单,不做过多说明;



```python

#! /env/bin/python3

# -*- coding: UTF-8 -*-

import zmail


mail_server = zmail.server(username='your mailbox@qq.com',password='your password')

mail = mail_server.get_latest()


print("邮件主题:", mail['Subject'])

print("邮件发送时间:", mail['Date'])

print("发送者:", mail['From'])

print("接收者:", mail['To'])

print("内容:\n", mail['content_text'])


#获取指定id的邮件

mail = mail_server.get_mail(30)

zmail.show(mails=mail)

#获取所有邮件

mails = mail_server.get_mails(start_time='2022-04-24',end_time='2022-04-25')

for mail in mails:

   print('-'*20)

   zmail.show(mail)


#发送邮件(带附件)

file_path = 'D://temp/1.jpg'

mail_info = {

   'subject': '邮件主题',  

   'content_text': '测试发送邮件',

   'attachments': file_path,

}

mail_server.send_mail('revice@qq.com',mail_info)

```

相关文章
|
6月前
|
数据安全/隐私保护 Python
Python实现邮件发送(含详细设置方法),并总结自己遇到的错误
Python实现邮件发送(含详细设置方法),并总结自己遇到的错误
|
3月前
|
前端开发 JavaScript Java
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
本文介绍了一个结合SpringBoot和Python的实用功能,旨在监控iPhone 15的库存状态并通过邮件提醒用户。系统采用SpringBoot监听苹果官网API,解析JSON数据判断是否有货,并展示最近的库存记录。此外,还能自动触发Selenium+Python脚本实现自动化购买。文中详细介绍了技术栈、接口分析、邮件配置及自动化脚本的设置方法。该项目不仅适用于熟悉后端开发的人员,也适合回顾Layui和Jquery等前端技术。
53 0
【实操】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
|
1月前
|
Python
python使用smtp发送邮件
python使用smtp发送邮件
19 0
|
3月前
|
数据安全/隐私保护 Python
如何使用Python自动发送邮件?
如何使用Python自动发送邮件?
76 1
|
4月前
|
监控 网络协议 网络安全
SMTP操作使用详解并通过python进行smtp邮件发送示例
SMTP操作使用详解并通过python进行smtp邮件发送示例
132 3
|
5月前
|
Python
python发送邮件
python发送邮件
45 1
|
5月前
|
数据安全/隐私保护 Python
如何使用 Python 发送邮件
如何使用 Python 发送邮件
|
5月前
|
网络安全 数据安全/隐私保护 Python
Python SMTP发送邮件
Python SMTP发送邮件
|
5月前
|
Windows Python
每日自动发邮件(Python +QQ邮箱 + Windows 10定时任务)
每日自动发邮件(Python +QQ邮箱 + Windows 10定时任务)
每日自动发邮件(Python +QQ邮箱 + Windows 10定时任务)
|
4月前
|
机器学习/深度学习 数据采集 自然语言处理
Python基于词袋模型特征和TFIDF特征进行支持向量机模型中文邮件分类项目实战
Python基于词袋模型特征和TFIDF特征进行支持向量机模型中文邮件分类项目实战