python发邮件脚本
‘壹’ 如何使用python发送包含正文和附件的邮件
fromemail.HeaderimportHeader
fromemail.MIMETextimportMIMEText
fromemail.
importsmtplib,datetime
#创建一个带附件的实例
msg=MIMEMultipart()
#构造附件
att=MIMEText(open('d:\tc201.rar','rb').read(),'base64','gb2312')
att["Content-Type"]='application/octet-stream'
att["Content-Disposition"]='attachment;filename="tc201.rar"'
msg.attach(att)
#加邮件头
msg['to']='[email protected]'
msg['from']='[email protected]'
msg['subject']=Header('冒烟测试结果('+str(datetime.date.today())+')',
'gb2312')
#发送邮件
server=smtplib.SMTP('smtp.xxx.com')
server.sendmail(msg['from'],msg['to'],
msg.as_string())
server.close
‘贰’ 如何通过python自动发邮件
通过Python自动发送邮件可以利用内置的`smtplib`库或更高级封装库`yagmail`。以下是基本步骤指南和使用`smtplib`库的示例代码。
### 使用 `smtplib` 库发送邮件的基本步骤
1. **导入模块**
python
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
2. **设置邮件内容**
使用`MIMEMultipart`创建邮件对象,添加发件人、收件人、主题和正文。
python
msg = MIMEMultipart()
msg['From'] = '发件人邮箱地址'
msg['To'] = '收件人邮箱地址'
msg['Subject'] = '邮件主题'
# 邮件正文(纯文本)
body = '这是邮件正文'
msg.attach(MIMEText(body, 'plain', 'utf-8'))
3. **添加附件(如需)**
读取文件并作为附件添加到邮件中。
python
with open('附件路径', 'rb') as f:
attachment = MIMEApplication(f.read(), _subtype='pdf')
attachment.add_header('Content-Disposition', 'attachment', filename='附件名.pdf')
msg.attach(attachment)
4. **连接SMTP服务器并身份验证**
选择合适的SMTP服务器和端口连接,输入邮箱地址和密码或授权码。
python
server = smtplib.SMTP_SSL('smtp.qq.com', 465) # 其他服务商使用相应SMTP服务器和端口
server.login('发件人邮箱地址', '授权码或密码') # 使用授权码而非原始密码
5. **发送邮件**
使用`server.sendmail`函数发送邮件。
python
server.sendmail(msg['From'], msg['To'], msg.as_string())
6. **断开连接**
结束与SMTP服务器的连接。
python
server.quit()
### 使用 `yagmail` 库简化发送邮件
首先,使用`pip install yagmail`安装库。
使用`yagmail`发送邮件示例:
python
import yagmail
# 初始化yagmail客户端
yag = yagmail.SMTP(user='发件人邮箱地址', password='授权码')
# 发送邮件
contents = ['邮件正文']
to = ['收件人邮箱地址']
subject = '邮件主题'
yag.send(to=to, subject=subject, contents=contents)
# 如果有附件,可以直接在contents中添加文件路径
attachments = ['附件路径']
yag.send(to=to, subject=subject, contents=contents, attachments=attachments)
确保你已获取合适的SMTP服务地址、端口信息及授权码,邮件服务通常支持SSL加密,SMTP_SSL端口为465。调整示例代码以匹配实际需求。
‘叁’ 用Python代码给夜曲编程发送一封邮件,并附上你的成绩单图片
为了用Python代码给夜曲编程发送一封邮件,需了解并运用smtplib和email两个Python内置模块。首先,smtplib模块扮演着关键角色,负责实现邮件的连接、登录与发送过程。通过调用相应函数,我们能够实现邮件的顺利投递。
在使用smtplib时,我们通常需要先创建一个SMTP对象,然后使用它来连接邮件服务器,接着进行登录操作。登录成功后,就可以利用该对象发送邮件了。登录细节包括邮件服务器的地址、端口号以及可能需要的账号和密码。
另一方面,email模块则负责邮件内容的整合,包括收发件人、正文和附件等信息。借助email.mime和email.utils等子模块,可以方便地构建邮件的头部信息,定义邮件主题、发件人、收件人等。
构建邮件正文和附件同样依赖于email模块。通过email.mime.multipart.MIMEMultipart实例,可以创建一个包含正文和附件的邮件。正文可以是纯文本、HTML格式或附件链接等。而附件需要使用email.mime.base.MIMEBase或相关子类进行封装,然后添加到邮件中。
在代码实现中,我们需要指定发件人和收件人地址,设置邮件主题,编写邮件正文,选择是否添加附件,并确保邮件格式正确。通过精心构造的代码,邮件将按照设定的参数发送到指定邮箱。
使用Python发送邮件的过程涉及多个步骤,包括服务器连接、登录验证、邮件内容构建和最终的邮件发送。smtplib和email模块提供了强大的工具,使得这一过程变得相对简单。在完成邮件发送后,别忘了检查邮件是否成功送达,并确认其内容是否符合预期。