def emailRegistration(self, recipient, token): logger.debug("emailRegistration()") CONFIG_GROUP_ADMIN = get_udp_ns_fieldname(CONFIG_ADMIN) app_title = session[SESSION_INSTANCE_SETTINGS_KEY]["settings"]["app_name"] activation_link = url_for( "dealer_views_bp.dealer_registration_state_get", stateToken=token, _external=True, _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"]) subject = "Welcome to the {app_title}".format(app_title=session[SESSION_INSTANCE_SETTINGS_KEY]["settings"]["app_name"]) # Send Activation Email to the user message = """ Welcome to the {app_title}! Click this link to activate your account <br /> <a href='{activation_link}'>{activation_link}</a>). """.format(app_title=app_title, activation_link=activation_link) Email.send_mail(subject=subject, message=message, recipients=[recipient]) # Send Activation Email to the Admin subject_admin = "Registration Activation request for user {user}".format(user=request.form.get('email')) message_admin = """ A new user has registered. His request is awaiting your approval. Click this link to log into your account <br /> <a href='{activation_link}'>{activation_link}</a> to review the request """.format( activation_link=url_for( "dealer_views_bp.workflow_approvals_get", _external=True, _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"])) return self.emailAllMembersOfGroup(group_name=CONFIG_GROUP_ADMIN, subject=subject_admin, message=message_admin)
def handle(event, context): reports_scraper = Reports() email = Email(settings=settings.EMAIL) print('Scraping reports') reports = reports_scraper.scrape() print('Found:', [r['file_url'] for r in reports]) print('Sending emails to', email.email_to) for report in reports: subject, text, attachment = prep_email(report) email.send(subject, text, attachment) print('Done!')
def ecommerce_emailWorkFlowRequest(group_id): logger.debug("emailWorkFlowRequest()") okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) activation_link = url_for( "ecommerce_views_bp.ecommerce_approvals_get", _external=True, _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"]) # Send Activation Email to the Admin subject_admin = "A workflow request was received" message_admin = """\ <p><h1>A new request for access was received.</h1><br> The request is awaiting your approval.<br><br> Click this link to log into your account and review the request<br><br> <a href='{activation_link}'>{activation_link}</a> </p> """.format(activation_link=activation_link) # Find All members that will be notified recipients = [] user_list = okta_admin.get_user_list_by_group_id(group_id) for user in user_list: recipients.append({"address": user["profile"]["email"]}) if recipients: email_send = Email.send_mail(subject=subject_admin, message=message_admin, recipients=recipients) return email_send else: return ''
def put(self, request): """实现添加邮箱逻辑""" # 接收参数 json_dict = json.loads(request.body.decode()) email = json_dict.get('email') # 校验参数 if not email: return http.HttpResponseBadRequest('缺少email参数') if not re.match(r'^[a-z0-9][\w\.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$', email): return http.HttpResponseBadRequest('参数email有误') # 赋值email字段 try: request.user.email = email request.user.save() except Exception as e: return http.JsonResponse({ 'code': RETCODE.DBERR, 'errmsg': '添加邮箱失败' }) # 发送验证邮件 ret = Email.send_email(request, email) print(">>>>>>>>发送邮件>>>>>>", ret) # 响应添加邮箱结果 return http.JsonResponse({'code': RETCODE.OK, 'errmsg': '添加邮箱成功'})
def emailLogin(recipient, username): logger.debug("emailRegistration()") subject = "Your Username was Found" message = """ You have requested to retrieve your username. <br /><br /><br />Your Username is: {username} <br /><br /><br />If you did not request to retrieve your username, please contact us at your earliest convenience. """.format(username=username) test = Email.send_mail(subject=subject, message=message, recipients=recipient) logger.debug(test)
def ecommerce_email_registration(recipient, token): logger.debug("ecommerce_email_registration()") app_title = session[SESSION_INSTANCE_SETTINGS_KEY]["settings"]["app_name"] activation_link = url_for( "gbac_registration_bp.gbac_registration_state_get", stateToken=token, _external=True, _scheme=session[SESSION_INSTANCE_SETTINGS_KEY]["app_scheme"]) subject = "Welcome to the {app_title}".format(app_title=session[SESSION_INSTANCE_SETTINGS_KEY]["settings"]["app_name"]) message = """ Thank you for Applying for {app_title}! <br /> <br />Click this link to activate your account. <br /><br /> <a href='{activation_link}'>Click Here to Activate Account</a> """.format(app_title=app_title, activation_link=activation_link) test = Email.send_mail(subject=subject, message=message, recipients=[recipient]) logger.debug(test)
def emailAllMembersOfGroup(self, group_name, subject, message): logger.debug("emailAllMembersOfGroup()") okta_admin = OktaAdmin(session[SESSION_INSTANCE_SETTINGS_KEY]) # Find the Admin Group group_list = okta_admin.get_groups_by_name(group_name) for group in group_list: if group["profile"]["name"] == group_name: group_id = group["id"] # Find All members that will be notified recipients = [] user_list = okta_admin.get_user_list_by_group_id(group_id) for user in user_list: recipients.append({"address": user["profile"]["email"]}) if recipients: email_send = Email.send_mail(subject=subject, message=message, recipients=recipients) return email_send
def send_email(self, user_id): users = User.find(where='id=?', args=user_id) paies = (self.grid_data.get((self.select_grid_row, 1)) or 0, self.grid_data.get((self.select_grid_row, 2)) or 0, self.grid_data.get((self.select_grid_row, 3)) or 0, self.grid_data.get((self.select_grid_row, 4)) or 0, self.grid_data.get((self.select_grid_row, 5))) if len(users) > 0: user = users[0] sender = (user.name, user.email) cont = mail_template % (sender[0], paies[4], paies[0], paies[1], paies[2], paies[3]) Email(cont, None, None, sender[1], subject='经费报销', sender_text='', to_text=sender[1]).send()
def get(self, request): """实现邮箱验证逻辑""" # 接收参数 token = request.GET.get('token') # 校验参数:判断token是否为空和过期,提取user if not token: return http.HttpResponseBadRequest('缺少token') # 验证邮箱url是否有效 user = Email.verify_email(token) if not user: return http.HttpResponseBadRequest('无效的token') # 修改email_active的值为True try: user.email_active = True user.save() except Exception as e: return http.HttpResponseServerError('激活邮件失败') # 返回邮箱验证结果 return redirect(reverse('users:usercenter'))
from utils.config import REPORT_PATH def create_test_suite(): test_list_path = "../testcase" test_unit = unittest.TestSuite() discover = unittest.defaultTestLoader.discover(test_list_path, pattern="test_*.py") for test_suite in discover: for test_case in test_suite: test_unit.addTest(test_case) print(test_case) return test_unit all_test = create_test_suite() now_time = time.strftime("%Y%m%d%H%M%S", time.localtime()) report = REPORT_PATH + '\\' + now_time + 'report.html' with open(report, "wb") as outfile: runner = HTMLTestRunner.HTMLTestRunner(stream=outfile, title=u"PC端测试报告", description=u"用例执行情况:", verbosity=2) runner.run(all_test) e = Email(path=report, message="详情请下载后打开查看测试报告结果") e.send() """TODO:1、搭建docker+selenium环境,使用无界面模式运行; 2、使用多线程 3、加入系统参数启动脚本"""
from utils.jsonClassEncoder import JsonClassEncoder from utils.email import Email from utils.util import cors_preflight from datetime import datetime, timedelta from flask import Blueprint import os import glob from utils.auth import jwt REQUESTAPI_BLUEPRINT = Blueprint('REQUESTAPI', __name__, url_prefix='') API = Namespace('requests', description='requests') jsonClassEncoder = JsonClassEncoder() emailservice = Email() UploadFolder = os.path.join(app.root_path, 'attachments') @API.route('', methods=['GET', 'POST', 'OPTIONS']) class RequestResource(Resource): @staticmethod @REQUESTAPI_BLUEPRINT.route('/requests/test') @jwt.requires_auth def get(): return jsonify("its working!") , 200 @staticmethod @REQUESTAPI_BLUEPRINT.route('/requests/upload/<requestid>', methods=['GET','POST']) @jwt.requires_auth