要想实现一个能够发送带有文本、图片、附件的python程序,首先要熟悉两大模块:
email以及smtplib
然后对于MIME(邮件扩展)要有一定认知,因为有了扩展才能发送附件以及图片这些媒体或者非文本信息
最后一个比较细节的方法就是MIMEMultipart,要理解其用法以及对应参数所实现的功能区别
发送邮件三部曲:
创建协议对象
连接邮件服务器
登陆并发送邮件
from email.header import Header
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
import mimetypes
from email.mime.multipart import MIMEMultipart
import os
import smtplib
from email import Encoders as email_encoders
class Message(object):
def __init__(self, from_addr, to_addr, subject="", html="", text=None, cc_addr=[], attachment=[]):
self.from_addr = from_addr
self.subject = subject
if to_addr:
if isinstance(to_addr, list):
self.to_addr = to_addr