资讯详情

自动化测试,每日一个小练习记录

由于疫情原因,家庭办公需要每天发邮件打卡,所以定期自动发邮件 我的思路:

  1. 定时:cron
  2. 发送邮件:smtp

这是第一次写,中间有很多复制粘贴,修改了很多次才成功,报告了很多错误,但错误的信息没有记录下来

import email import smtplib  # 负责发邮件 from apscheduler.schedulers.blocking import BlockingScheduler import datetime import warnings warnings.filterwarnings('ignore') # 创建邮件 def create_email(sender_name, receiver_name, email_Subject, email_text):     message = MIMEMultipart()     message.attach(MIMEText(email_text, 'plain', 'utf-8'))     # 产生发件人名称     message['From'] = Header(sender_name, 'utf-8')     # 生成收件人名称     # message['To'] = Header(receiver_name, 'utf-8')     message['To'] = receiver_name     # 产生邮件主题     message['Subject'] = Header(email_Subject, 'utf-8')     # 返回邮件     return message # 发送邮件 def send_email(sender, password, receiver, msg, mail_host = "smtp.126.com"):     # 函数输入邮箱、密码、收件人和邮件内容     try:         server = smtplib.SMTP_SSL(mail_host)  # 发件人邮箱里的SMTP服务器         server.connect(mail_host, 465) # 需要先把邮箱POP3/SMTP服务开启         server.ehlo()         #登录您的帐户         server.login(sender, password)  # 括号对应于发件人的邮箱账号和邮箱密码         #发送邮件          server.sendmail(sender, receiver.split(, msg.as_string())  # 括号对应于发件人邮箱账号、收件人邮箱账号(列表)、邮件内容         print("邮件发送成功"   datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))         # 关闭SMTP对象         server.quit()     # 小知识点:加上as e  try except 可以通过as e以错误打印的形式,如果没有,系统报告的错误将被捕获和处理,你看不到的     except Exception as e:         # 打印错误         print(e)         print(‘邮件发送失败’  datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))  # 发送工作邮件 def send_work_email():     print('已发送工作邮件') # 这是当时找不到报错加上的 你可以删除     # 发件人邮箱     sender = "xxxxxxxx@126.com" # 我用的是126邮箱     sender_name = "xsm<xxxxxxxx@126.com>"     # 邮箱授权码,请注意,这是邮箱密码!!     mail_license = "KBQWPHTIQICCRBQD" # 这是我的邮箱授权码,可以登录邮箱查看     # 收件人邮箱(前面的昵称必须是英文的)     receiver_name = "longxxxxx@163.com,lixxxxx@h-partners.com,xuxxxx@h-partners.com" # 可以多人     # 邮件主题     subject_content = """xxxx_居家办公_上班签到"""     # 邮件正文     body_content = """各位领导,早上好:      xxxxx发送工作登录邮件"""     message = create_email(sender_name=sender_name,receiver_name=receiver_name,email_Subject=subject_content,email_text=body_content)     send_email(sender=sender,password=mail_license,receiver=receiver_name,msg=message) # 下班下班邮件 def send_rest_email():     print('已下班下班邮件')  # 这是当时找不到报错加上的 你可以删除     # 发件人邮箱     sender = "xxxxx@126.com"     sender_name = "xsm<xxxxx@126.com>"     mail_license = "KBQWPHTIQICCRBQD" # 再次提醒 这是我的授权码     receiver_name = "longjietan@163.com,lishuai24@h-partners.com,xuwei36@h-partners.com"      # 邮件主题     subject_content = """xxx_居家办公_下班签到"""     # 邮件正文     body_content = """各位领导,晚上好:     xxx下班后发邮件签到"""     message = create_email(sender_name=sender_name,receiver_name=receiver_name,email_Subject=subject_content,email_text=body_content)     send_email(sender=sender,password=mail_license,receiver=receiver_name,msg=message)          if __name__ == '__main__':     # BlockingScheduler     scheduler = BlockingScheduler()     print(启动定时任务发送邮件,7:30 和 20:30 分别发送上下班邮件')     scheduler.add_job(send_work_email, 'cron', day_of_week='mon-fri', hour=7, minute=30, end_date='2022-12-31')     scheduler.add_job(send_rest_email, 'cron', day_of_week='mon-fri', hour=20, minute=30, end_date='2022-12-31')     scheduler.start()  

标签: xsm吸收薄膜电容器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司