def get(self, user_id): user = g.user_info["username"] db = DB() status, result = db.select_by_id("user", user_id) if status is True and result: # 生成12位随机密码 password = ''.join( random.sample(string.ascii_letters + string.digits, 12)) send_mail(result["mail"], "Saltshaker 重置密码", "新密码:" + password) # 离散hash password_hash = custom_app_context.encrypt(password) result["password"] = password_hash insert_status, insert_result = db.update_by_id( "user", json.dumps(result, ensure_ascii=False), user_id) db.close_mysql() if insert_status is not True: logger.error("Reset %s password error: %s" % (user_id, insert_result)) return {"status": False, "message": insert_result}, 500 audit_log(user, user_id, "", "user", "reset") return {"status": True, "message": ""}, 201 else: db.close_mysql() logger.error("Select user error: %s" % result) return {"status": False, "message": result}, 500
def auto_send_mail(job, mail): user_id = job.user_id testcases_ids = eval(job.testcases) testcase_scenes_ids = eval(job.testcase_scenes) testcase_time_id = get_testcase_time_id(user_id) post_request(testcases_ids, testcase_scenes_ids, testcase_time_id) get_report(testcase_time_id) if mail: if mail.email_method == 1: send_mail(mail.subject, mail.to_user_list.split(','), user_id=user_id, testcase_time_id=testcase_time_id) elif mail.email_method == 2: send_excel(mail.subject, mail.to_user_list.split(','), testcase_time_id=testcase_time_id) else: print('auto_send_mail:错误的邮件发送方式')
def post(self): testcase_time_id = request.args.get('testcase_time_id') user_id = session.get('user_id') subject, to_user_list, email_method = request_get_values( 'subject', 'to_user_list', 'email_method') to_user_list = to_user_list.split(',') print('TestCaseReportSendMail testcase_time_id:', testcase_time_id, subject, to_user_list, email_method) if email_method == '1': send_mail(subject, to_user_list, user_id=user_id, testcase_time_id=testcase_time_id) elif email_method == '2': send_excel(subject, to_user_list, testcase_time_id=testcase_time_id) return redirect( url_for('testcase_report_blueprint.testcase_report_list'))
def lost_password(request): if request.method == 'POST': try: user = User.objects.get(username=request.POST['username']) lostpassword = LostPassword.objects.create(user=user, key=new_key()) message = 'To change your password, click on the following link:\n http://%s%s' % (get_current_site(request), reverse('change_password',kwargs={'key':lostpassword.key})) send_mail(settings.DEFAULT_FROM_EMAIL, user.email, 'your ekkli password', message) return HttpResponseRedirect('/login') except User.DoesNotExist: message = 'Unknown user' else: message = '' return render_to_response('lost_password.html', {'message': message})
def deliver(self, instance): if instance.recipient and instance.recipient.email: try: send_mail('*****@*****.**', instance.recipient.email, 'Email from ekkli', instance.text) instance.delivered_at = datetime.now() instance.save() except Exception as inst: instance.delivered_at = None instance.failed = True instance.fail_reason = inst instance.save() print inst elif not instance.recipient: group = instance.entity.discussion.group members = GroupProfile.objects.filter(group=group)[0].get_group_members() for member in members: for s in Subscription.objects.all(): if s.user == member and s.followed_object == instance.entity.discussion \ and instance.acting_user != member: notification = Notification(text=instance.text, entity=instance.entity, recipient=member) notification.save() else: return
from email.mime.text import MIMEText from email.header import Header import smtplib from common import send_mail from common import find_file import os # 找到用例并执行用例 # test_dir = 'D:\\test_project\\test_case' test_dir = './test_case/' # 用例地址 discover = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py') if __name__ == '__main__': # runner = unittest.TextTestRunner() # runner.run(discover) now = time.strftime('%Y-%m-%d %H_%M_%S') filename = './report/' + now + 'result.html' ft = open(filename, 'wb') runner = HTMLTestRunner.HTMLTestRunner(stream=ft, title='测试报告', description='用例执行情况') runner.run(discover) ft.close() # -------找到最新的测试报告 result_dir = 'D:\\test_project\\report' # 报告地址 a = find_file.new_report(result_dir) # -------定于发送邮件 send_mail.send_mail(a)