send_mail()函数的使用方法及示例(Python发送邮件教程)
发布时间:2024-01-10 10:20:59
send_mail()函数是一个用于Python发送邮件的方法。它可以在Python程序中调用,并通过SMTP(Simple Mail Transfer Protocol)协议将邮件发送到指定的邮箱。
下面是send_mail()函数的使用方法及示例:
1. 导入相关的模块和库:
import smtplib from email.mime.text import MIMEText from email.header import Header
2. 定义send_mail()函数:
def send_mail(from_addr, password, to_addr, subject, content):
# 创建一个MIMEText对象,将邮件内容添加到其中
message = MIMEText(content, 'plain', 'utf-8')
# 设置发件人、收件人和主题
message['From'] = Header(from_addr)
message['To'] = Header(to_addr)
message['Subject'] = Header(subject)
try:
# 创建SMTP对象,并登录发件人邮箱
smtpObj = smtplib.SMTP()
smtpObj.connect('smtp.qq.com', 25)
smtpObj.login(from_addr, password)
# 发送邮件
smtpObj.sendmail(from_addr, [to_addr], message.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件")
3. 调用send_mail()函数发送邮件:
if __name__ == '__main__':
from_addr = 'your_email@qq.com' # 发件人邮箱地址
password = 'your_password' # 发件人邮箱密码或授权码
to_addr = 'recipient_email@example.com' # 收件人邮箱地址
subject = '测试邮件' # 邮件主题
content = '这是一封测试邮件' # 邮件内容
send_mail(from_addr, password, to_addr, subject, content)
在以上示例中,我们首先导入了需要的模块和库,然后定义了一个名为send_mail()的函数。该函数接收5个参数:发件人邮箱地址、发件人邮箱密码或授权码、收件人邮箱地址、邮件主题和邮件内容。
在send_mail()函数内部,我们首先创建了一个MIMEText对象,用于存储邮件内容。然后设置了发件人、收件人和主题等相关信息。接着创建一个SMTP对象,并使用connect()方法连接到SMTP服务器,并使用login()方法登录发件人邮箱。
最后,我们使用sendmail()方法发送邮件,并将邮件内容转换为字符串,使用as_string()方法将MIMEText对象转换为字符串形式。如果邮件发送成功,则输出"邮件发送成功",否则输出"Error: 无法发送邮件"。
要发送邮件,我们需要将自己的发件人邮箱地址、密码或授权码、收件人邮箱地址、邮件主题和内容等信息填入相应的位置,然后调用send_mail()函数即可。
注意:在示例中,我们使用的是QQ邮箱作为发件邮箱,SMTP服务器地址为'smtp.qq.com',端口为25,如果你使用其他邮箱,请根据对应的SMTP服务器和端口进行修改。
以上就是send_mail()函数的使用方法及示例,希望对你有所帮助。
