addproject
This commit is contained in:
98
base_framework/public_tools/mail_help.py
Normal file
98
base_framework/public_tools/mail_help.py
Normal file
@@ -0,0 +1,98 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
|
||||
"""
|
||||
Author: qiaoxinjiu
|
||||
Create Data: 2021/11/22 10:41
|
||||
"""
|
||||
import time
|
||||
from base_framework.public_tools.my_faker import MyFaker
|
||||
from base_framework.public_tools.pymailtm.pymailtm import MailTm
|
||||
from retrying import retry
|
||||
from base_framework.public_tools import log
|
||||
from base_framework.public_tools.runner import Runner
|
||||
|
||||
magic_faker = MyFaker()
|
||||
|
||||
|
||||
class MailHelper:
|
||||
"""
|
||||
邮件相关操作
|
||||
"""
|
||||
new_mt_mail_obj = None
|
||||
|
||||
def __init__(self):
|
||||
self.mail_account = MailTm()
|
||||
self.obj_runner = Runner()
|
||||
self.obj_log = log.get_logger()
|
||||
|
||||
@retry(stop_max_attempt_number=5, wait_fixed=5000)
|
||||
def get_ci_new_mail(self):
|
||||
"""
|
||||
| 功能说明: | 生成随机邮件地址 |
|
||||
| 返回参数: | dic | 邮件地址 |
|
||||
| 作者信息: | 作者 林于棚 | 修改时间 |
|
||||
举例说明:
|
||||
| get_ci_new_mail() |
|
||||
"""
|
||||
faker_mail = magic_faker.gen_str(min_chars=8)
|
||||
faker_num = magic_faker.create_num(start=1, end=10000)
|
||||
return faker_mail.lower()+str(faker_num)+'@citest.com'
|
||||
|
||||
@retry(stop_max_attempt_number=5, wait_fixed=5000)
|
||||
def get_new_mail_mt(self):
|
||||
"""
|
||||
| 功能说明: | https://mail.tm/zh/ 生成随机邮件地址 |
|
||||
| 返回参数: | dic | 邮件地址 |
|
||||
| 作者信息: | 作者 林于棚 | 修改时间 |
|
||||
举例说明:
|
||||
| get_new_email() |
|
||||
"""
|
||||
self.new_mt_mail_obj = self.mail_account.get_account(password='666666')
|
||||
return self.new_mt_mail_obj.address
|
||||
# obj_log.info('生成的邮件地址:{}'.format(self.new_mt_mail_obj.address))
|
||||
|
||||
# @retry(stop_max_attempt_number=5, wait_fixed=5000)
|
||||
def get_mt_mail_message(self, address=None, password='666666'):
|
||||
"""
|
||||
| 功能说明: | 获取 https://mail.tm/zh/ 生成邮件地址的信息 |
|
||||
| 输入参数: | mail_obj | self.new_mt_mail_obj |
|
||||
| 返回参数: | dic | 邮件地址 |
|
||||
| 作者信息: | 作者 林于棚 | 修改时间 |
|
||||
举例说明:
|
||||
| get_mt_mail_message() |
|
||||
"""
|
||||
mail_message = []
|
||||
first_flag = 0
|
||||
self.get_new_mail_mt()
|
||||
account = self.new_mt_mail_obj
|
||||
if account.address != address and address:
|
||||
account.address = address
|
||||
account.password = password
|
||||
account.jwt = MailTm._make_account_request("token", address, password)
|
||||
account.auth_headers = {
|
||||
"accept": "application/ld+json",
|
||||
"Content-Type": "application/json",
|
||||
"Authorization": "Bearer {}".format(account.jwt["token"])
|
||||
}
|
||||
self.obj_log.info('生成的邮件地址:{}'.format(account.address))
|
||||
self.obj_log.info('收取邮件中.............')
|
||||
for i in range(2):
|
||||
first_len = len(mail_message)
|
||||
mail_message = account.get_messages()
|
||||
last_len = len(mail_message)
|
||||
if first_len <= last_len != 0:
|
||||
continue
|
||||
elif last_len == 0 and first_flag < 1:
|
||||
first_flag += 1
|
||||
self.obj_log.info('没有收到邮件,重试中..............')
|
||||
time.sleep(4)
|
||||
else:
|
||||
self.obj_log.info('没有收任何到邮件!')
|
||||
break
|
||||
return mail_message
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
obj_mail = MailHelper()
|
||||
print(obj_mail.get_ci_new_mail())
|
||||
# print(obj_mail.get_mt_mail_message())
|
||||
Reference in New Issue
Block a user