要使用Python通过邮箱发送文件,你可以使用`smtplib`和`email`库来创建和发送邮件,并使用`MIMEText`或`MIMEBase`对象来包含文件内容。以下是一个简单的示例代码,展示了如何发送一个包含文本和附件的邮件:
python
-*- coding: utf-8 -*-
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
配置邮箱服务器信息
smtp_server = "smtp..com" 邮箱SMTP服务器地址
smtp_port = 465 SSL加密端口
sender = "" 发件人邮箱地址
password = "your_auth_code" 获取的授权码,非邮箱密码
receiver = "" 收件人邮箱地址
创建邮件对象
msg = MIMEMultipart()
msg['From'] = Header("Your Name", "utf-8") 发件人名称
msg['To'] = Header("Recipient Name", "utf-8") 收件人名称
msg['Subject'] = Header("Python Email with Attachment", "utf-8") 邮件主题
邮件正文内容
body = "This is the email body."
msg.attach(MIMEText(body, "plain", "utf-8"))
添加附件
filename = "example.txt" 附件文件名
attachment = open(filename, "rb") 打开附件文件
part = MIMEBase("application", "octet-stream")
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header("Content-Disposition", "attachment; filename= %s" % filename)
msg.attach(part)
连接服务器并发送邮件
try:
server = smtplib.SMTP_SSL(smtp_server, smtp_port)
server.login(sender, password)
server.sendmail(sender, receiver, msg.as_string())
server.quit()
print("Email sent successfully!")
except Exception as e:
print("Error: unable to send email")
print(e)
请确保替换``、`your_auth_code`和``为实际的邮箱地址和授权码。你还需要确保附件文件`example.txt`存在于你的程序运行的同一目录下,或者提供正确的文件路径。
发送邮件时,如果文件较大,可能需要对文件进行分块处理,并且要确保在`MIMEBase`对象中正确设置`Content-Transfer-Encoding`头为`base64`。
如果你需要发送的是其他类型的文件,比如图片或文档,你可以使用`MIMEText`或`MIMEBase`的适当子类,并设置正确的`Content-Type`头。
希望这能帮助你成功发送包含Python文件的邮件!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/69764.html