[python][工具类]Python发送电子邮件工具类

 这段Python代码定义了一个名为 BaseSendMail 的函数,用于发送电子邮件。

import time
import globalvarmodel.global_var_model as gl
import smtplib
from email.mime.text import MIMEText
        
def BaseSendMail(strSendusername,strPassword,port,listTousers,strsubject,msgcontent,isShowtouser):
    nowtime=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
    msg=MIMEText(msgcontent,'plain','utf-8')
    msg['Subject']=strsubject+" Time:"+nowtime 
    msg['From']=strSendusername
    if(isShowtouser):
        msg['To']=",".join(listTousers)
    server=smtplib.SMTP_SSL(gl.smtphost, port)
    server.login(strSendusername, strPassword)
    server.sendmail(strSendusername , listTousers, msg.as_string())
    server.quit()
    print("发送完成")

下面是该函数的详细解释:

  1. 函数定义了多个参数:

    • strSendusername: 发件人的邮箱地址。
    • strPassword: 发件人邮箱的密码。
    • port: SMTP服务器的端口号。
    • listTousers: 一个包含收件人邮箱地址的列表。
    • strsubject: 邮件的主题。
    • msgcontent: 邮件的内容。
    • isShowtouser: 一个布尔值,用于决定是否在邮件中显示所有收件人的地址。
  2. 函数首先获取当前时间,并格式化为 年-月-日 时:分:秒 的形式。

  3. 创建一个 MIMEText 对象,用于设置邮件内容和编码方式。邮件内容为 msgcontent,编码为 utf-8

  4. 设置邮件的主题,将时间信息添加到主题之后。

  5. 设置邮件的发件人地址。

  6. 如果 isShowtouserTrue,则将收件人地址列表中的所有地址用逗号分隔后设置为邮件的收件人地址。

  7. 连接到SMTP服务器,使用 smtplib.SMTP_SSL 并指定服务器地址和端口号。

  8. 使用发件人邮箱和密码登录SMTP服务器。

  9. 发送邮件,使用 sendmail 方法,传入发件人地址、收件人地址列表和邮件内容字符串。

  10. 关闭SMTP服务器连接。

  11. 打印 "发送完成" 表示邮件发送操作已经完成。

请注意,这段代码中使用了 globalvarmodel.global_var_model 模块,该模块可能包含一些全局变量,如 smtphost,但在提供的代码片段中没有显示这部分内容。此外,代码中没有异常处理机制,实际使用时可能需要添加异常处理来确保邮件发送过程中的错误能够被妥善处理。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

awonw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值