소스 검색

report_push: 邮件发送增加重试

Signed-off-by: Binren Zhnag <zhangbr@elab-plus.com>
Binren Zhnag 5 년 전
부모
커밋
ca872019b2
2개의 변경된 파일48개의 추가작업 그리고 18개의 파일을 삭제
  1. 7 6
      email_util.py
  2. 41 12
      report_push.py

+ 7 - 6
email_util.py

@@ -29,7 +29,7 @@ class EmailUtil(object):
     # 测试环境
     url_test = "http://gatewaytest.elab-plus.com/elab-marketing-sms//mail/sendEmailForReport"
 
-    url = url_online
+    url = url_dev
 
     # 消息头数据
     headers = {
@@ -84,7 +84,9 @@ class EmailUtil(object):
                             content,
                             receiver,
                             mail_excel,
-                            file_name
+                            file_name,
+                            url,
+                            header
                            ):
 
         with open(mail_excel, 'rb') as f:
@@ -99,8 +101,8 @@ class EmailUtil(object):
                     "time": ""
                 }
             )
-            self.headers['Content-Type'] = m.content_type
-            r = requests.post(self.url, data=m, verify=False, headers=self.headers)
+            header['Content-Type'] = m.content_type
+            r = requests.post(url, data=m, verify=False, headers=header)
             if r and r.json()['success']:
                 return True
 
@@ -112,6 +114,5 @@ class EmailUtil(object):
 
 if __name__ == '__main__':
     send_email = EmailUtil()
-    result = send_email.send_mail_by_admin('移动案场订阅日报', '的数据报告已经准备完成', '15773153135@163.com', r'D:\elab\elab_mvp\resources\84_1500.xlsx', '84_1500.xlsx')
+    result = send_email.send_mail_by_admin('移动案场订阅日报', '的数据报告已经准备完成', '15773153135@163.com', r'D:\elab-code\elab_mvp\resources\module.xlsx', 'module.xlsx')
     print(result)
-    send_email.send_test()

+ 41 - 12
report_push.py

@@ -462,6 +462,29 @@ class ReportPush(object):
 
     mails = ['1285211525@qq.com', 'liutt@elab-plus.com']
 
+    # 线上
+    url_online = "http://dm-api.elab-plus.cn/elab-marketing-sms//mail/sendEmailForReport"
+
+    # 开发环境
+    url_dev = "http://43.254.221.77:5555/elab-marketing-sms//mail/sendEmailForReport"  # 接口地址
+
+    # 测试环境
+    url_test = "http://gatewaytest.elab-plus.com/elab-marketing-sms//mail/sendEmailForReport"
+
+    url = url_dev
+
+    # 消息头数据线上
+    headers_online = {
+        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36',
+        'Referer': url_online,
+    }
+
+    # 开发环境
+    headers_dev = {
+        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36',
+        'Referer': url_dev,
+    }
+
     def report_push(self, task_key):
         message = {}
         try:
@@ -479,15 +502,18 @@ class ReportPush(object):
                 try:
                     if value[2]:
                         # for mail in self.mails:
-                        result = email_util.send_mail_by_admin(title, content, value[1], value[2], value[3])
+                        result = email_util.send_mail_by_admin(title, content, value[1], value[2], value[3], self.url_online, self.headers_online)
                         if result:
                             log_data = [value[0], value[1], value[2], 1, 'success!!!']
                         else:
-                            result = email_util.send_mail_by_admin(title, content, value[1], value[2], value[3])
+                            result = email_util.send_mail_by_admin(title, content, value[1], value[2], value[3], self.url_dev, self.headers_dev)
                             if not result:
                                 log_data = [value[0], value[1], value[2], -1, '第二次发送失败']
                 except Exception as e:
-                    log_data = [value[0], value[1], value[2], -1, str(e)]
+                    result = email_util.send_mail_by_admin(title, content, value[1], value[2], value[3], self.url_dev,
+                                                           self.headers_dev)
+                    if not result:
+                        log_data = [value[0], value[1], value[2], -1, str(e)]
                     print(str(e))
                 logs.append(log_data)
             message[3] = '邮件发送成功'
@@ -518,16 +544,19 @@ class ReportPush(object):
                 log_data = []
                 try:
                     if value[2]:
-                        for mail in self.mails:
-                            result = email_util.send_mail_by_admin(title, content, mail, value[2], value[3])
-                            if result:
-                                log_data = [value[0], value[1], value[2], 1, 'success!!!']
-                            else:
-                                result = email_util.send_mail_by_admin(title, content, mail, value[2], value[3])
-                                if not result:
-                                    log_data = [value[0], value[1], value[2], -1, '第二次发送失败']
+                        # for mail in self.mails:
+                        result = email_util.send_mail_by_admin(title, content, value[1], value[2], value[3], self.url_online, self.headers_online)
+                        if result:
+                            log_data = [value[0], value[1], value[2], 1, 'success!!!']
+                        else:
+                            result = email_util.send_mail_by_admin(title, content, value[1], value[2], value[3], self.url_dev, self.headers_dev)
+                            if not result:
+                                log_data = [value[0], value[1], value[2], -1, '第二次发送失败']
                 except Exception as e:
-                    log_data = [value[0], value[1], value[2], -1, str(e)]
+                    result = email_util.send_mail_by_admin(title, content, value[1], value[2], value[3], self.url_dev,
+                                                           self.headers_dev)
+                    if not result:
+                        log_data = [value[0], value[1], value[2], -1, str(e)]
                     print(str(e))
                 logs.append(log_data)
             message[3] = '邮件发送成功'