SMTP (Simple Mail Transfer Protocol) 是用于电子邮件传输的标准协议之一。SMTP是一个客户端服务器协议,它包括从发送邮件的客户端到接收邮件的服务器之间的交互。
Python内置了一个SMTP模块,可以使用SMTP 25协议发送电子邮件。在本篇文章中,我们将介绍如何使用Python SMTP模块发送电子邮件。
一、连接SMTP服务器
在Python中使用SMTP发送邮件之前,我们需要先连接SMTP服务器。我们可以使用Python内置的smtplib模块来连接SMTP服务器。
import smtplib smtp_obj = smtplib.SMTP('smtp.gmail.com', 587) smtp_obj.ehlo() smtp_obj.starttls() smtp_obj.login('your_email@gmail.com', 'your_password')
上面的代码用于连接Gmail的SMTP服务器。首先,我们使用smtplib.SMTP()
函数连接SMTP服务器。 然后,我们使用ehlo()
函数(或HELO命令)与服务器进行通信。接下来,我们使用starttls()
函数来 开启TLS加密连接。最后,我们使用login()
函数进行SMTP身份验证。
二、发送电子邮件
一旦我们与SMTP服务器建立连接并进行身份验证,我们就可以开始发送电子邮件。以下是使用Python SMTP模块发送电子邮件的示例代码:
from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.image import MIMEImage msg = MIMEMultipart() msg['From'] = 'your_email@gmail.com' msg['To'] = 'recipient_email@example.com' msg['Subject'] = 'Subject of Email' message = 'Here is the body of the email' msg.attach(MIMEText(message)) with open('image.png', 'rb') as f: img_data = f.read() image = MIMEImage(img_data, name='image.png') msg.attach(image) smtp_obj.sendmail('your_email@gmail.com', 'recipient_email@example.com', msg.as_string())
上面的示例代码演示了如何使用Python SMTP模块发送电子邮件。我们创建了一个MIMEMultipart对象并设置发件人、收件人和主题。 然后使用MIMEText()
函数将消息正文添加到MIMEMultipart对象中。接着,我们使用open()
函数 打开图片文件并将图片附加到MIMEMultipart对象中。最后,我们使用sendmail()
函数发送电子邮件。
三、关闭SMTP连接
发送完电子邮件后,我们需要使用quit
函数关闭SMTP服务器连接。
smtp_obj.quit()
以上是利用Python SMTP 25发送电子邮件的基本流程。在实际应用中,我们还可以设置其他参数,比如添加附件和HTML内容等。 希望这篇文章能够帮助你了解如何在Python中使用SMTP发送电子邮件!