python教程

python发送邮件示例代码

我的站长站 2023-07-27 人阅读

添加附件函数:

def add_att(msg, file_path, filename):
    att = MIMEText(open( file_path,'rb').read(),'base64','utf-8') # rb以二进制方式读取
    att["Content-Type"] = 'application/octet-stream'
    att.add_header('Content-Disposition', 'attachment', filename = filename)
    #将附件添加到MIMEMultipart中
    msg.attach(att)

发送方法:

def send_email_test():
    mail = {
        'host':'smtp.XXXXX.com',
        'user':'XXX@XXX.com',
        'password':'******'
        }
    sender = mail['user']
    receivers = '111@111.com'  #单个收件人
                # receivers = '111@111.com,222@222.com'  #多个收件人
    subject = '邮件来了'
    nickname = '我是昵称'
    message = MIMEMultipart()
    message['From'] = '%s <%s>' % (Header(nickname , 'UTF-8'), sender)
    message['To'] = Header(receivers, 'gb2312')
    message['Subject'] = Header(subject).encode()
    message['Message-id'] = email.utils.make_msgid()
    message["Accept-Language"]="zh-CN"
    message["Accept-Charset"]="ISO-8859-1,utf-8"
    msg = '''
       <html>
           <h2>Hello</h2>
       </html>
    '''
    html = MIMEText(msg, _subtype='html', _charset='UTF-8') # 发送HTML邮件
    message.attach(html)    # 添加
# 添加当前目录下附件1.xlsx作为邮件附件
    file_path = os.path.join('附件1.xlsx')  
    file_name = '邮件显示附件名.xlsx'
    add_att(message , file_path , file_name)
    smtp = smtplib.SMTP()  # 使用 SSL 连接smtp服务器,否则使用.SMTP
    smtp.connect(mail['host'], 25)  # 主机, 端口, 如果使用SSL为465, 否则 25
    smtp.login(mail['user'], mail['password'])  # 用户名, 密码
    smtp.sendmail(sender, receivers, message.as_string())  # 单个收件人
    # smtp.sendmail(sender, receivers.split(','), message.as_string())  # 多个收件人
    smtp.quit()
    print('完成邮件发生任务')
相关推荐
  • 邮件发送
  • QQ邮箱+PHPMailer邮件发送API接口源码
    QQ邮箱+PHPMailer邮件发送API接口源码

    源码介绍QQ邮箱+PHPMailer邮件发送API接口源码,QQ邮箱SMTP服务+PHPMailer框架开发的邮件发送API接口源码。API接口源码截图源码使用方法请求示例:请求格式:GET请求链接:https:/www.wdzzz.com/email.h...

    php源码 48 8个月前
  • 苹果CMSV10开启邮件发送功能

    苹果cmsv10在用户注册过程中需要通过邮件验证用户是否为机器人,我们可以通过配置smtp邮件服务器来完成邮件的发送。苹果cms10内置了smtp邮箱功能组件,我们只需要填写我们的smtp发件服务器信息即可向用户推送邮件。QQ邮箱、126邮箱、163邮箱等常用邮箱...

    苹果cms教程 385 2年前
  • 帝国CMS二次开发新订单新反馈信息新投稿发邮件通知管理员

    一、设置管理员邮件地址和发邮参数 后台,系统设置,系统参数设置 基本属性标签:管理员邮箱。以后的通知邮件都会发到这一邮箱 FTP/EMAIL标签:如果主机支持mail函数,

    帝国cms教程 738 10年前
最新更新