📅  最后修改于: 2023-12-03 15:04:37.732000             🧑  作者: Mango
在Python中,可以使用SMTP库发送电子邮件。SMTP是发送邮件的标准协议,支持发送邮件到多个收件人,支持附件和HTML内容。本文将介绍如何使用Python发送电子邮件。
Python的SMTP库包含邮件发送和接受的功能,需要导入它来发送邮件。可以使用以下代码导入SMTP库:
import smtplib
在发送电子邮件之前,必须先连接SMTP服务器。SMTP服务器负责将您的邮件传递到它所发送的收件人的SMTP服务器上。可以使用以下代码连接SMTP服务器:
smtpObj = smtplib.SMTP('smtp.example.com', 587)
在这里,"smtp.example.com"是您要连接的SMTP服务器的地址。"587"是SMTP服务器的端口号,通常使用"587"或"465"。
要在SMTP服务器上发送电子邮件,必须先登录SMTP服务器。可以使用以下代码登录SMTP服务器:
smtpObj.login('your_email_address@example.com', 'your_email_password')
在这里,'your_email_address@example.com'是您的电子邮件地址,'your_email_password'是您的电子邮件密码。您需要在这里提供正确的电子邮件地址和密码。
在登录SMTP服务器之后,可以创建邮件。可以使用以下代码创建邮件:
from email.mime.text import MIMEText
msg = MIMEText('Hello, World!')
msg['Subject'] = 'Python SMTP Test'
msg['From'] = 'your_email_address@example.com'
msg['To'] = 'recipient@example.com'
在这里,MIMEText类用于创建文本的MIME邮件对象。在这个例子中,邮件正文是“Hello, World!”。
邮件头包括主题,发件人和收件人。可以使用msg['Subject'],msg['From']和msg['To']属性设置邮件头。
在创建电子邮件之后,可以使用以下代码将电子邮件发送到SMTP服务器:
smtpObj.sendmail('your_email_address@example.com', 'recipient@example.com', msg.as_string())
在这里,'your_email_address@example.com'是您的电子邮件地址,'recipient@example.com'是接收方的电子邮件地址,msg.as_string()将电子邮件转换为字符串以便通过SMTP发送。
在完成电子邮件的发送后,需要关闭SMTP连接。可以使用以下代码关闭SMTP连接:
smtpObj.quit()
以下是完整的示例代码,演示如何发送电子邮件:
import smtplib
from email.mime.text import MIMEText
smtpObj = smtplib.SMTP('smtp.example.com', 587)
smtpObj.starttls()
smtpObj.login('your_email_address@example.com', 'your_email_password')
msg = MIMEText('Hello, World!')
msg['Subject'] = 'Python SMTP Test'
msg['From'] = 'your_email_address@example.com'
msg['To'] = 'recipient@example.com'
smtpObj.sendmail('your_email_address@example.com', 'recipient@example.com', msg.as_string())
smtpObj.quit()
请注意,本文仅介绍如何使用SMTP库发送电子邮件。在实际使用中,您可能需要在电子邮件中包含HTML内容或附件。此外,您需要了解SMTP服务器的要求和限制,以确保您的邮件已正确发送。