使用Python发送邮件要使用SMTP(简单邮件传输协议),SMTP也是一个建立在TCP(传输控制协议)提供的可靠数据传输服务的基础上的应用级协议,它规定了邮件的发送者如何跟发送邮件的服务器进行通信的细节,而Python中的smtplib
模块将这些操作简化成了几个简单的函数,并使用 email
库来创建和格式化邮件。
1. 导入所需的库
1 | import smtplib |
2. 配置 SMTP 服务器的连接信息
1 | smtp_server = 'smtp.example.com' |
3. 创建邮件内容
1 | subject = 'Test Email' |
MIMEMultipart
类表示的是一个多部分邮件消息,可以包含多个部分,例如文本、HTML、附件等。而 MIMEText
类则表示的是单一部分的邮件消息,只包含文本内容。
msg.attach()
方法用于将 MIME
子部件附加到多部分消息中。在这个特定的例子中,MIMEText(body, 'plain')
创建了一个纯文本类型的 MIME
子部件,表示邮件的主体内容。然后,msg.attach()
方法将这个 MIME
子部件添加到了多部分消息对象 msg
中,以便将其作为邮件的一部分发送出去。如果想一次添加多个内容,需要多次调用 msg.attach()
方法,每次附加一个 MIME
子部件。
4. 连接 SMTP 服务器并发送邮件
1 | e |
使用 with
语句可以确保在代码块执行完毕后自动调用 server.quit()
方法来关闭 smtplib.SMTP
对象的连接。
这样做的好处是确保在使用完 smtplib.SMTP
对象后,及时释放资源并关闭连接,防止资源泄漏和连接泄露,同时也提高了代码的可读性和简洁性。
这个示例演示了如何发送一个简单的文本邮件。你可以根据需要添加附件、HTML 内容等。另外,为了安全起见,建议不要在代码中明文存储邮箱密码,而是使用环境变量或者其他安全的方式来存储和获取密码。
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !