Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python smtplib

作者:顺我者未必能活   发布日期:2025-07-13   浏览:45

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# 发送邮件的函数
def send_email(smtp_server, port, sender_email, receiver_email, subject, body, password):
    # 创建一个MIME多部分消息对象
    message = MIMEMultipart()
    message["From"] = sender_email
    message["To"] = receiver_email
    message["Subject"] = subject

    # 添加邮件正文
    message.attach(MIMEText(body, "plain"))

    try:
        # 连接到SMTP服务器
        server = smtplib.SMTP(smtp_server, port)
        server.starttls()  # 启用TLS加密
        server.login(sender_email, password)  # 登录发送邮箱

        # 发送邮件
        server.sendmail(sender_email, receiver_email, message.as_string())
        print("邮件发送成功")
    except Exception as e:
        print(f"邮件发送失败: {e}")
    finally:
        server.quit()

# 示例调用
smtp_server = "smtp.example.com"
port = 587
sender_email = "your_email@example.com"
receiver_email = "recipient_email@example.com"
subject = "测试邮件"
body = "这是一封测试邮件。"
password = "your_password"

send_email(smtp_server, port, sender_email, receiver_email, subject, body, password)

解释说明:

  1. 导入模块:我们导入了smtplib用于发送邮件,以及email.mime.text.MIMETextemail.mime.multipart.MIMEMultipart用于构建邮件内容。
  2. 创建邮件对象:使用MIMEMultipart()创建一个多部分消息对象,并设置发件人、收件人和主题。
  3. 添加邮件正文:使用MIMEText将邮件正文添加到消息对象中。
  4. 连接SMTP服务器:使用smtplib.SMTP()连接到SMTP服务器,并启用TLS加密。
  5. 登录邮箱:使用server.login()方法登录发件人的邮箱。
  6. 发送邮件:使用server.sendmail()方法发送邮件。
  7. 异常处理:使用try-except块捕获并处理可能的异常。
  8. 关闭连接:无论是否发生异常,最后都会调用server.quit()关闭SMTP连接。

请根据实际情况修改smtp_serverportsender_emailreceiver_emailsubjectbodypassword等参数。

上一篇:selenium with python

下一篇:python进制转换代码

大家都在看

python时间格式

python开发windows应用程序

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python的for i in range

npm config set python

python代码简单

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站