使用Python编写一个实现简单邮件发送功能的程序
import smtplib
from email.mime.text import MIMEText
from email.header import Header
def send_email(sender, receiver, subject, message, smtp_server, smtp_port, smtp_username, smtp_password):
try:
# 创建邮件对象
msg = MIMEText(message, 'plain', 'utf-8')
msg['From'] = Header(sender, 'utf-8')
msg['To'] = Header(receiver, 'utf-8')
msg['Subject'] = Header(subject, 'utf-8')
# 连接邮件服务器
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls() # 开启TLS加密
server.login(smtp_username, smtp_password) # 登录邮件服务器
# 发送邮件
server.sendmail(sender, receiver, msg.as_string())
# 关闭连接
server.quit()
print("邮件发送成功")
except Exception as e:
print("邮件发送失败:", str(e))
# 示例代码
if __name__ == "__main__":
sender = 'sender@example.com' # 发送者邮箱
receiver = 'receiver@example.com' # 接收者邮箱
subject = '测试邮件' # 邮件标题
message = '这是一封测试邮件' # 邮件内容
smtp_server = 'smtp.example.com' # SMTP服务器地址
smtp_port = 587 # SMTP服务器端口号
smtp_username = 'username' # 邮箱用户名
smtp_password = 'password' # 邮箱密码
send_email(sender, receiver, subject, message, smtp_server, smtp_port, smtp_username, smtp_password)
在示例代码中,我们首先定义了一个send_email函数,用于发送邮件。该函数接收发送者邮箱、接收者邮箱、邮件标题、邮件内容、SMTP服务器地址、SMTP服务器端口号、邮箱用户名、邮箱密码作为参数。
在函数内部,我们首先创建了一个MIMEText对象,用于表示邮件及其内容。然后设置邮件的发送者、接收者和标题。接下来,我们连接到SMTP服务器,并使用starttls方法开启TLS加密。然后通过login方法登录到邮件服务器。
最后,我们使用sendmail方法将邮件发送给接收者,并在发送成功后关闭连接。
在示例代码的主程序中,我们定义了发送者邮箱、接收者邮箱、邮件标题和邮件内容。然后设置了SMTP服务器地址、SMTP服务器端口号、邮箱用户名和邮箱密码。最后调用send_email函数发送邮件。
请注意,需要将示例代码中的邮箱地址、SMTP服务器地址、端口号、用户名和密码替换为您自己的信息。
