Python自动化开发——批量发邮件通知

一、完整代码及结果

1、代码

#操作excel的工具
import xlrd
import smtplib #登录邮箱,发邮件用的
from email.mime.text import MIMEText #用来包装内容
from email.header import Header #用来包装头信息

# 发送邮件
def send_email(sender_email, sender_password, recipient_email, email_subject, email_content):
    try:
        smtp_obj = smtplib.SMTP('smtp.qq.com')
        smtp_obj.login(sender_email, sender_password)

        msg = MIMEText(email_content, 'plain', 'utf-8')
        msg['From'] = sender_email  #发送者
        msg['To'] = recipient_email #接受者
        msg['Subject'] = email_subject #主题

        smtp_obj.sendmail(sender_email, recipient_email, msg.as_string())
        smtp_obj.quit()
        print("Email sent successfully.")
    except Exception as e:
        print("Error sending email:", str(e))

if __name__ == '__main__':
    # 打开工作表
    data = xlrd.open_workbook('data.xlsx')

    # 读取数据并生成相应的内容
    sheet = data.sheets()[0]  # 打开顶1个sheet
    for i in range(sheet.nrows):
        name = sheet.cell_value(i, 1)
        old_money = sheet.cell_value(i, 2)
        new_money = sheet.cell_value(i, 4)
        print(name, '---', old_money, '---', new_money)

        sender_email = 'your_email@qq.com'  # 发件人邮箱
        sender_password = 'your_password'  # 发件人邮箱密码
        recipient_email = 'recipient_email@qq.com'  # 收件人邮箱
        email_subject = '测试邮件发送'  # 邮件主题
        email_content = f'{name}你好,由于疫情原因,你的薪资由{old_money}变为{new_money}'  # 邮件内容

        # 发送邮件
        send_email(sender_email, sender_password, recipient_email, email_subject, email_content)

2、结果

二、密码查找

验证登录即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ensp是一款嵌入式网络模拟平台,可以用于模拟网络设备的运行环境。在ensp中玩转Python自动化,可以实现批量修改交换机的登录密码。 首先,我们可以使用Python的Paramiko库来连接交换机,并通过SSH协议进行远程操作。在开始之前,需要确保已经安装了Paramiko库。 接下来,首先需要创建一个函数来连接交换机。在函数中,可以指定交换机的IP地址、登录用户名和密码,并通过SSH协议进行连接。 在连接成功后,可以通过发送指令来修改交换机的登录密码。使用Paramiko库提供的SSHClient对象的`exec_command`方法,可以向交换机发送指令,并接收返回结果。 具体的操作步骤如下: 1. 导入所需的库: ```python import paramiko import time ``` 2. 创建连接函数: ```python def connect_switch(ip, username, password): ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(ip, username=username, password=password) return ssh_client ``` 3. 修改登录密码函数: ```python def change_password(ip, username, password, new_password): ssh_client = connect_switch(ip, username, password) command = f"passwd {username}\n" # 发送修改密码的指令 stdin, stdout, stderr = ssh_client.exec_command(command) stdin.write(password + "\n") # 输入旧密码 stdin.write(new_password + "\n") # 输入新密码 stdin.write(new_password + "\n") # 再次输入新密码 time.sleep(1) output = stdout.read() + stderr.read() ssh_client.close() return output ``` 4. 调用修改密码函数: ```python if __name__ == '__main__': ip = "交换机IP" username = "登录用户名" password = "登录密码" new_password = "新密码" output = change_password(ip, username, password, new_password) print(output) ``` 以上就是使用Python自动化批量修改交换机登录密码的方法。在ensp中,可以通过编写Python脚本,实现自动化的操作,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值