def querypage(lang_code): if request.method == 'POST': print 'adadfasdfasdf' send_email(request.form) return redirect(url_for('index')) return render_template('querypage.html', lang_code=lang_code)
def register(): if request.method == 'POST': username = request.form['username'] email = request.form['email'] name = request.form['name'] phone_number = request.form['phone_number'] password = request.form['password'] if User.query.filter(User.username==username).first(): flash('User already exists. Please log in.') if User.query.filter(User.email==email).first(): flash('Email already exists. Please log in.') if User.query.filter(User.phone_number==phone_number).first(): flash('Phone number already exists.') pw_hash = bcrypt.generate_password_hash(request.form['password']) user = User(username=username, pw_hash=pw_hash,email=email,name=name, phone_number=phone_number) db.session.add(user) db.session.commit() token = generate_confirmation_token(user.email) confirm_url = url_for('users.confirm_email', token=token, _external=True) html = render_template('users/email_activate.html', confirm_url=confirm_url) subject = "Please confirm your email" send_email(user.email, subject, html) flash('User successfully registered. Please log in.') return redirect(url_for('users.login')) return render_template('users/register.html')
def add_post(): blog_dir = current_app.config['BLOG_POSTS_DIR'] posts = [post for post in os.listdir(blog_dir)\ if not Post.query.get(Post.get_id(post))] new_posts_ids = [Post.get_id(post) for post in posts] Post._parse_post_and_commit(blog_dir, posts) #邮件通知关注者有更新 for follower in Follower.query.all(): send_email(follower.email, u"您关注的博客有新更新啦!", 'email/new_posts', posts=[Post.query.get(id) for id in new_posts_ids], name=follower.name, follower_id=follower.id)
def post(self): form = RegisterUserForm() print "enter registerview" if not form.validate_on_submit(): return form.errors, 422 pwd = base64.decodestring(form.password.data) user = User( email=form.email.data, password=pwd, firstName=form.firstName.data, lastName=form.lastName.data, phone=form.phone.data, association=form.association.data, ) logentry = Log( datetime.datetime.utcnow(), "Test door", user.firstName + " " + user.lastName, user.email, "User registered " + user.firstName + " " + user.lastName + " " + user.email, "User registered", "L1", 1, "Web based", ) try: db.session.add(logentry) db.session.commit() db.session.add(user) db.session.commit() except IntegrityError: return make_response(jsonify({"error": "eMail already registered"}), 400) # if activted send email if form.sendWelcomeMail.data != None: print "sendWelcomeMail is " + str(form.sendWelcomeMail.data) if form.sendWelcomeMail.data == 1: print "try to send welcome mail" try: send_email( "Welcome to %s. You successfully registered" % "RoseGuarden", MAIL_USERNAME, [user.email], render_template("welcome_mail.txt", user=user), render_template("welcome_mail.html", user=user), ) except: print "unable to send mail" return "", 201 return "", 201
def register(): form = RegisterForm() if form.validate_on_submit(): user = User(email=form.email.data, username=form.username.data) user.password = form.password.data user.save() token = user.generate_confirmation_token() send_email(current_user.email, "Confirm your email", "email/confirm", user=current_user, token=token) # send_async_email(current_user.email, "Confirm your email", "email/confirm", # user=current_user, token=token) flash("A confirmation email has been sent to your email.") return redirect(url_for("login")) return render_template("register.html", form=form)
def send_collections_email_task(success, customer_email, sp_id): tm = TaskManager() json = tm.get_subprocess_data(sp_id) file_name = json['file_name'] return tm.process_task(sp_id, 'SENDING EMAIL', success, lambda : send_email(COLLECTIONS_EMAIL_TITLE, COLLECTIONS_EMAIL_BODY, EMAIL_FROM, customer_email, file_name, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', json))
def send_invoice_email_task(success, sp_id): tm = TaskManager() json = tm.get_subprocess_data(sp_id) customer_email = json['customer']['email'] file_name = json['pdf_file_name'] return tm.process_task(sp_id, 'SENDING EMAIL', success, lambda : send_email(INVOCE_EMAIL_TITLE, INVOICE_EMAIL_BODY, EMAIL_FROM, customer_email, file_name, 'application/pdf', json))
def post(self): form = LostPasswordForm() if not form.validate_on_submit(): return form.errors, 422 user = User.query.filter_by(email=form.email.data).first() if user is None: return "", 401 new_password = controller.id_generator(12) user.password = flask_bcrypt.generate_password_hash(new_password) db.session.commit() send_email( "%s: A new password has been generated" % "RoseGuarden", MAIL_USERNAME, [user.email], render_template("lostpassword_mail.txt", user=user, password=new_password), render_template("lostpassword_mail.html", user=user, password=new_password), ) return "", 201
def register(): if request.method == 'POST' and g.form.validate_on_submit() != False: user = User(username=g.form.username.data, email=g.form.email.data, password=g.form.password.data, confirmed=False) print 'done' db.session.add(user) db.session.commit() token = generate_confirmation_token(user.email) confirm_url = url_for('confirm_email', token=token, _external=True) html = render_template('user/activate.html', confirm_url=confirm_url) subject = "Please confirm your email" send_email(user.email, subject, html) flash('You have signed up successfully! Check your mail box for a confirmation email.', 'success') return redirect(url_for('index')) elif request.method == 'POST' and g.form.validate_on_submit() == False: flash(u'Looks like you type something wrong, please try again!', 'warning') return render_template('index.html', reg_errors=g.form.errors) print 'startup fail' return render_template('index.html')
def post(self): form = RegisterUserForm() print 'enter registerview' if not form.validate_on_submit(): return form.errors, 422 pwd = base64.decodestring(form.password.data) user = User(email=form.email.data, password=pwd, firstName=form.firstName.data, lastName=form.lastName.data, phone=form.phone.data, association=form.association.data) logentry = Action( datetime.datetime.utcnow(), config.NODE_NAME, user.firstName + ' ' + user.lastName, user.email, 'User registered ' + user.firstName + ' ' + user.lastName + ' ' + user.email, 'User registered', 'L2', 1, 'Web based') try: db.session.add(logentry) db.session.commit() db.session.add(user) db.session.commit() except IntegrityError: return make_response( jsonify({'error': 'eMail already registered'}), 400) # if activted send email if form.sendWelcomeMail.data != None: print 'sendWelcomeMail is ' + str(form.sendWelcomeMail.data) if form.sendWelcomeMail.data == 1: print 'try to send welcome mail' try: send_email( "Welcome to %s. You successfully registered" % 'RoseGuarden', config.MAIL_USERNAME, [user.email], render_template("welcome_mail.txt", user=user), render_template("welcome_mail.html", user=user)) except: print 'unable to send mail' return '', 201 return '', 201
def post(self): form = LostPasswordForm() if not form.validate_on_submit(): return form.errors, 422 user = User.query.filter_by(email=form.email.data).first() if user is None: return '', 401 new_password = security.generator_password(12) user.password = flask_bcrypt.generate_password_hash(new_password) db.session.commit() send_email( "%s: A new password has been generated" % 'RoseGuarden', config.MAIL_USERNAME, [user.email], render_template("lostpassword_mail.txt", user=user, password=new_password), render_template("lostpassword_mail.html", user=user, password=new_password)) return '', 201
def add_products(): title = 'WELCOME ' + g.user.username + '!' if request.method == 'POST' and g.add_prod_form.validate_on_submit() != False: u = User.query.filter_by(username=g.user.username).first() p = Products(p_name=g.add_prod_form.p_name.data, p_price=g.add_prod_form.p_price.data, p_descr=g.add_prod_form.p_descr.data, p_picture=g.add_prod_form.p_picture.data, p_size=g.add_prod_form.p_size.data, p_stock=g.add_prod_form.p_stock.data, users=u) print 'u finish adding product' u = User.query.filter_by(username=g.user.username).first() db.session.add(p) db.session.commit() html = render_template('products/new_products.html', p=p) subject = "You have added a new product" send_email(current_user.email, subject, html) flash('You have added a product successfully! Check your mail box for a confirmation email.', 'success') return redirect(url_for('index')) elif request.method == 'POST' and g.form.validate_on_submit() == False: flash(u'Looks like you type something wrong, please try again!', 'warning') return render_template('products/add_products.html', reg_errors=g.form.errors) return render_template("products/add_products.html", title=title)
def after_login(resp): if resp.email is None or resp.email == "": flash('Invalid login. Please try again.') return redirect(url_for('login')) user = User.query.filter_by(email=resp.email).first() if user is None: nickname = resp.nickname if nickname is None or nickname == "": nickname = resp.email.split('@')[0] nickname = User.make_unique_nickname(nickname) user = User(nickname=nickname, email=resp.email, role=ROLE_USER) db.session.add(user) db.session.commit() remember_me = False if 'remember_me' in session: remember_me = session['remember_me'] session.pop('remember_me', None) send_email(resp.email, 'Welcome to Poligraphed', 'mail/new_user') login_user(user, remember=remember_me) return redirect(request.args.get('next') or url_for('index'))
def send_invoice_email_task(success, sp_id): tm = TaskManager() json = tm.get_subprocess_data(sp_id) customer_email = json['customer']['email'] file_name = json['pdf_file_name'] return tm.process_task( sp_id, 'SENDING EMAIL', success, lambda: send_email(INVOCE_EMAIL_TITLE, INVOICE_EMAIL_BODY, EMAIL_FROM, customer_email, file_name, 'application/pdf', json))
def send_collections_email_task(success, customer_email, sp_id): tm = TaskManager() json = tm.get_subprocess_data(sp_id) file_name = json['file_name'] return tm.process_task( sp_id, 'SENDING EMAIL', success, lambda: send_email( COLLECTIONS_EMAIL_TITLE, COLLECTIONS_EMAIL_BODY, EMAIL_FROM, customer_email, file_name, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', json))
def job_email(job, build, setting, ifSuccess=True): #host_name在下面赋值了,所以一定要加global指示,否则如果只引用,不改变,可以不加global global host_name if host_name == "": try: (host_name,errno) = process.get_run_output("hostname") host_name = host_name.replace("\r\n","") except: pass title = job.name if build.version != "": title += " version " + build.version if host_name != "": title += " build on " + host_name if build.success: title += " successful." else: title += " fail, code:" + build.code if build.phrase != "": title += ", phrase:" + build.phrase text= "Please visit Topo Builder to get this build detail, The id is:" + str(build.id) if setting.server_url != "": text += ": " + setting.server_url + "/jobmng/" + str(job.id) try: if ifSuccess and build.success and job.success_email != "": email.send_email("*****@*****.**", job.success_email, setting.smtp_server, setting.smtp_port,setting.smtp_username, setting.smtp_password, title,text, tls=setting.smtp_tls) if (not ifSuccess) and (not build.success) and (job.fail_email != ""): email.send_email("*****@*****.**", job.fail_email, setting.smtp_server, setting.smtp_port,setting.smtp_username, setting.smtp_password, title,text, tls=setting.smtp_tls) except: print "send email fail"
def forget(): title='Home' if request.method =='POST' and g.forget_form.validate_on_submit() != False: user = User.query.filter_by(email=g.forget_form.email.data).first() #generate a random password chars = string.ascii_letters + string.digits rnd = random.SystemRandom() tmp = ''.join(rnd.choice(chars) for i in range(8)) #update and commit database user.password = generate_password_hash(tmp) db.session.commit() html = render_template('user/temp_pwd.html', temp_pwd=tmp) subject = "E-Liquid: Here is your temporary passsword." send_email(user.email, subject, html) return redirect(url_for('index')) elif request.method == 'POST' and g.forget_form.validate_on_submit() == False: return render_template('user/forget.html', error=g.forget_form.errors) return render_template('user/forget.html', form=g.forget_form)
def post(self): form = RegisterUserForm() print 'enter registerview' if not form.validate_on_submit(): return form.errors, 422 pwd = base64.decodestring(form.password.data) user = User(email=form.email.data, password=pwd, firstName=form.firstName.data, lastName=form.lastName.data, phone=form.phone.data, association=form.association.data) logentry = Action(datetime.datetime.utcnow(), config.NODE_NAME, user.firstName + ' ' + user.lastName, user.email, 'User registered ' + user.firstName + ' ' + user.lastName + ' ' + user.email, 'User registered', 'L2', 1, 'Web based') try: db.session.add(logentry) db.session.commit() db.session.add(user) db.session.commit() except IntegrityError: return make_response(jsonify({'error': 'eMail already registered'}), 400) # if activted send email if form.sendWelcomeMail.data != None: print 'sendWelcomeMail is ' + str(form.sendWelcomeMail.data) if form.sendWelcomeMail.data == 1: print 'try to send welcome mail' try: send_email("Welcome to %s. You successfully registered" % 'RoseGuarden', config.MAIL_USERNAME, [user.email], render_template("welcome_mail.txt", user=user), render_template("welcome_mail.html", user=user)) except: print 'unable to send mail' return '', 201 return '', 201
def register_command(): data = request.get_json() text_body = u'Спасибо за регистрацию на Хакатоне BirthHack!\n\n' + data[ 'teamName'].encode( 'utf-8' ) + u', ждем вас на Хакатон 14.04 в 12:00 в корпусе 1С на Тимирязевской. Захватите с собой ноутбук и, конечно же, хорошее настроение;)\nОтправить появившиеся вопросы вы можете на наш адрес - [email protected], мы с удовольствием ответим на них.\n\nС уважением,\nкоманда BirthHack.' # text_body = u'Благодарим за регистрацию в хакатоне!\n' + u'Ваша команда: ' + data['teamName'] + u'\nСостав:\n' \ # + '\n'.join([x['name'] for x in data['people']]) + u'\nПо всем вопросам можно писать на этот ' \ # u'адрес\n\nКоманда хакатона birth hack. ' with open('output.txt', 'a') as output: output.write("\n\n============================================\n") output.write(data['teamName'].encode('utf-8')) output.write('\n--------------------\n') for i in data['people']: output.write(i['name'].encode('utf-8')) output.write('\n') output.write(i['email'].encode('utf-8')) output.write('\n') output.write(i['phone'].encode('utf-8')) output.write('\n') output.write(i['univercity'].encode('utf-8')) output.write('\n--------------------\n') output.write(str(data['skills'])) output.write('\n') output.write(data['anotherSkills'].encode('utf-8')) output.write('\n') output.write(data['advice'].encode('utf-8')) send_email("Регистрация на BirthHack", sender='*****@*****.**', recipients=[data['people'][0]['email']], text_body=text_body) send_email("Регистрация на BirthHack", sender='*****@*****.**', recipients=['*****@*****.**'], text_body=str(data)) return jsonify({'status': 'success'})
def email_users(request, group, submission_id=None, user_id=None): submission = get_object_or_404(models.Book, pk=submission_id) editors = logic.get_editors(submission) authors = submission.author.all() onetaskers = submission.onetaskers() to_value="" sent = False if request.POST: print "sS" attachment = request.FILES.get('attachment') subject = request.POST.get('subject') body = request.POST.get('body') to_addresses = request.POST.get('to_values').split(';') cc_addresses = request.POST.get('cc_values').split(';') bcc_addresses = request.POST.get('bcc_values').split(';') to_list=logic.clean_email_list(to_addresses) cc_list=logic.clean_email_list(cc_addresses) bcc_list=logic.clean_email_list(bcc_addresses) if attachment: attachment = handle_file(attachment, submission, 'other', request.user, "Attachment: Uploaded by %s" % (request.user.username)) if to_addresses: if attachment: send_email(subject=subject, context={}, from_email=request.user.email, to=to_list, bcc=bcc_list,cc=cc_list, html_template=body, book=submission, attachment=attachment) else: send_email(subject=subject, context={}, from_email=request.user.email, to=to_list,bcc=bcc_list,cc=cc_list, html_template=body, book=submission) message ="E-mail with subject '%s' was sent." % (subject) return HttpResponse('<script type="text/javascript">window.alert("'+message+'")</script><script type="text/javascript">window.close()</script>') if not group == "all" and user_id: if group == "editors": try: editor = models.User.objects.get(pk=user_id) if editor in editors: to_value="%s;" % (editor.email) else: messages.add_message(request, messages.ERROR, "This editor is not an editor of this submission") except models.User.DoesNotExist: messages.add_message(request, messages.ERROR, "This editor was not found") elif group == "authors": author = get_object_or_404(models.Author, pk=user_id) authors = submission.author.all() if author in authors: to_value="%s;" % (author.author_email) else: messages.add_message(request, messages.ERROR, "This author is not an author of this submission") elif group == "onetaskers": user = get_object_or_404(models.User, pk=user_id) if user in onetaskers: to_value="%s;" % (user.email) else: messages.add_message(request, messages.ERROR, "This onetasker was not found") elif group =="all" and user_id: messages.add_message(request, messages.ERROR, "Cannot use the user field on this page because of the 'all' in the url. Try replacing it with other email groups: 'authors' or 'editors' or 'onetaskers'") group_name=group if not group_name == "editors" and not group_name == "all" and not group_name == "authors" and not group_name == "onetaskers": messages.add_message(request, messages.ERROR, "Group type does not exist. Redirected to page of all groups") return redirect(reverse('email_users', kwargs={'group':'all','submission_id': submission.id})) source = "/email/get/%s/submission/%s/" % (group_name,submission_id) template = 'core/email.html' context = { 'submission': submission, 'from': request.user, 'to_value':to_value, 'source': source, 'group': group_name, 'user_id':user_id, 'sent':sent, } return render(request, template, context)
#!/usr/bin/env python3 import email import os import reports if __name__ == "__main__": path = "supplier-data/descriptions/" pdf = reports.generate_pdf(path) reports.generate_report('/tmp/processed.pdf', "Updated on ", pdf) sender = "*****@*****.**" receiver = "/home/student" subject = "Upload Successful" body = "All the items were uploaded to the website. (See attachment for more details)" attachment = "/tmp/processed.pdf" message = email.generate_email(sender, receiver, subject, body, attachment) email.send_email(message)
import database as db import sheets as sh import email as em import datetime #get last modified date, a datetime.date object last_modified_date_db = db.get_last_modified_date() last_modified_date_sh = sh.get_last_modified_date() if last_modified_date_db != last_modified_date_sh : db.wipe_roster() duties = sh.get_duties() #list of something for duty in duties: db.insert_duty(duty['date'], duty['duty'], duty['name']) #send out emails db.get_notifications() for note in notifications: em.send_email(note['email_address'], \ note['name'],\ note['duty'],\ note['date'])
def resend_confirm(): toke = current_user.generate_confirmation_token() send_email(user.email, 'Confirm your account', 'auth/email/confirm', user=user, token=token) flash('A new confirmation email has been sent to you by email.') return redirect(url_for('main.index'))
def sent_modify_password_mail(stdId, pawd): user_email = str(stdId) + "@fudan.edu.cn" subject = "Your new password for dandanda" html = render_template("modify_password.html", password=pawd) send_email(subject, user_email, html)
mixer.music.load( "C:/Users/wolfp/Desktop/Sasha/modified/sounds/eatmyshorts.wav") mixer.music.play() while mixer.music.get_busy(): pygame.time.Clock().tick(1) elif 'listen here' in command: mixer.init(frequency=30000) mixer.music.load( "C:/Users/wolfp/Desktop/Sasha/modified/sounds/listening.mp3") mixer.music.play() while mixer.music.get_busy(): pygame.time.Clock().tick(1) elif 'victory' in command: mixer.init(frequency=30000) mixer.music.load( "C:/Users/wolfp/Desktop/Sasha/modified/sounds/yay.mp3") mixer.music.play() while mixer.music.get_busy(): pygame.time.wait(5) mixer.quit() talk("ready when you are") while True: cmd(listenForCmd()) send_email(listenForCmd())
def send_error_report(sender, recipient, subject, body): message = email.generate_email(sender, recipient, subject, body) email.send_email(message)