Esempio n. 1
0
    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)
Esempio n. 2
0
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!')
Esempio n. 3
0
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 ''
Esempio n. 4
0
    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': '添加邮箱成功'})
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
    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
Esempio n. 8
0
 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()
Esempio n. 9
0
    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'))
Esempio n. 10
0
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、加入系统参数启动脚本"""
Esempio n. 11
0
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