在Python中发送电子邮件通常涉及几个步骤:设置SMTP服务器信息,创建邮件内容,以及通过SMTP协议发送邮件。下面是一个简化的示例,演示了如何使用Python标准库中的smtplib和email模块来发送一封简单的电子邮件。
首先,你需要确保你的电脑上已经安装了Python,并且有一个可以发送邮件的SMTP服务器。通常,这意味着你需要一个电子邮件服务提供商(如Gmail、Outlook等),并且你的账户需要允许通过SMTP发送邮件。
import smtplib from email.mime.text import MIMEText # 设置SMTP服务器和账户信息 smtp_server = 'smtp.example.com' # SMTP服务器地址 smtp_port = 587 # SMTP服务器端口,对于Gmail通常是587,对于其他服务可能不同 smtp_username = 'your_email@example.com' # 你的电子邮件地址 smtp_password = 'your_password' # 你的电子邮件密码 # 创建邮件对象 msg = MIMEText('这是一封测试邮件的内容。') msg['Subject'] = '邮件主题' # 设置邮件主题 msg['From'] = smtp_username # 设置发件人 msg['To'] = 'recipient_email@example.com' # 设置收件人,多个收件人可以用逗号分隔 # 发送邮件 try: # 创建一个安全的SMTP连接 with smtplib.SMTP(smtp_server, smtp_port) as server: server.starttls() # 加密连接 server.login(smtp_username, smtp_password) # 登录账户 server.sendmail(smtp_username, [msg['To']], msg.as_string()) # 发送邮件 print('邮件发送成功!') except Exception as e: print(f'邮件发送失败: {e}')
在这个例子中,MIMEText用于创建邮件正文。smtplib.SMTP用于创建与SMTP服务器的连接,并通过starttls方法启用安全连接。然后,使用login方法登录到你的电子邮件账户,并通过sendmail方法发送邮件。
请注意,你需要将smtp_server、smtp_port、smtp_username和smtp_password替换为你自己的SMTP服务器和账户信息。如果你使用的是Gmail,你需要确保你的账户允许“不够安全的应用”的访问,或者使用OAuth2进行身份验证。
最后,请确保你的电子邮件服务提供商允许你通过SMTP发送邮件,并且没有对你的账户设置任何限制。有些服务可能需要你在账户设置中启用SMTP访问,或者使用特定的应用程序密码来代替你的常规密码。