Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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')
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
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))
Ejemplo n.º 8
0
 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
Ejemplo n.º 9
0
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')
Ejemplo n.º 10
0
    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
Ejemplo n.º 11
0
 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
Ejemplo n.º 12
0
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)
Ejemplo n.º 13
0
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'))
Ejemplo n.º 14
0
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'))
Ejemplo n.º 15
0
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))
Ejemplo n.º 16
0
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))
Ejemplo n.º 17
0
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"
Ejemplo n.º 18
0
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)
Ejemplo n.º 19
0
    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
Ejemplo n.º 20
0
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'})
Ejemplo n.º 21
0
Archivo: views.py Proyecto: NateWr/rua
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)
Ejemplo n.º 22
0
#!/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)


Ejemplo n.º 23
0
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'])
Ejemplo n.º 24
0
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'))
Ejemplo n.º 25
0
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)
Ejemplo n.º 26
0
        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())
Ejemplo n.º 27
0
def send_error_report(sender, recipient, subject, body):
    message = email.generate_email(sender, recipient, subject, body)
    email.send_email(message)