Beispiel #1
0
 def _send(to, subject, message):
     if MAIL_SERVER == 'logging':
         from gluon.tools import Mail
         mail = Mail()   
         mail.settings.server = MAIL_SERVER
         mail.settings.sender = MAIL_SENDER
         mail.settings.login = MAIL_LOGIN
         return mail.send(to=to, subject=subject, message=message)
     else:
         import smtplib
         from email.MIMEText import MIMEText
         from email.Utils import formatdate
         
         msg = MIMEText(message)
         msg['Subject'] = subject
         msg['From'] = MAIL_SENDER
         msg['To'] = to
         msg['Date'] = formatdate()
         
         s = smtplib.SMTP(MAIL_SERVER)
         try:
             s.sendmail(MAIL_SENDER, [to], msg.as_string())
             return True
         finally:
             s.close()
         return False
Beispiel #2
0
def approve_tender():
    tid=request.args(0)
    sid=request.args(1)
    db(db.bidding.item_id==sid).update(Status='Rejected')
    db(db.bidding.id ==tid).update(Status='Approved')
    db(db.item_info.id ==sid).update(Status='Work In Progress')
    tend_list= db(db.bidding.id==tid).select(db.bidding.ALL)
    for e in tend_list:
        val=e.UserID
        pass
    user_list=db(db.auth_user.id==val).select(db.auth_user.ALL)
    for e in user_list:
        val=e.email
        pass
    print val
    mail = Mail()
    mail.settings.server = 'smtp.gmail.com:587'
    mail.settings.sender = '*****@*****.**'
    mail.settings.tls = True
    mail.settings.login = '******'
    msg='Congratulations!!! your Tender ID ' +tid +' has been approved. Contact respective office for further details'
    mail.send(val,'Approval of tender',msg)

    session.b=tid
    redirect(URL('adminshow_tender'))
    return dict(mid=mid)
Beispiel #3
0
def aumentar_resolucao_backtrack_virtualbox():
	response.title = 'Aumentar a resolução do Back Track 5 no Virtual Box'
	response.meta.keywords = 'resolução,tela,screen,backtrack,virtualbox,linux'
	from gluon.tools import Recaptcha
	use_recaptch = True
	form = SQLFORM(db.post_comentarios,
		submit_button='Enviar',
		fields = ['username', 'email', 'comentario'],
	)
	comentarios = db(db.post_comentarios).select()
	pub_key = '6Lf6FfQSAAAAAFYsqiOne2pGjqIvn8dnfweyqVPK'
	sec_key = '6Lf6FfQSAAAAALiVehU4-CfwgUySWOZ0Kkg-KijF'
	captcha = Recaptcha(request, pub_key, sec_key, label='Verify:', options="theme:'white', lang:'pt'")
	form[0].append(TR('',captcha,''))
	if form.process().accepted:
		from gluon.tools import Mail
		mail = Mail('smtp.gmail.com:587','*****@*****.**','knzchi:ax0rgmail')
		mail.send(['*****@*****.**','*****@*****.**'],
			'Comentario recebido | {}'.format(request.function),
			'\r\n'.join([response.session_client,request.vars.username,request.vars.email,request.vars.comentario])
		)
		redirect(URL("{}#comentarios".format(request.function)))
		redirect(URL(request.function))
	elif form.errors:
		response.flash = 'form has errors'
	return dict(form=form,comentarios=comentarios)
Beispiel #4
0
def tux():
	response.title = 'Avatares do Tux'
	import os
	import random
	from gluon.tools import Recaptcha
	response.meta.keywords = 'tux, mascote, pinguim, penguin, avatar, linux, debian, ubuntu'
	list_tux = os.listdir('/home/www-data/web2py/applications/init/static/images/tux_avatar')
	tux_imgs = []
	for item in range(12):
		tux_imgs.append(random.choice(list_tux))
	use_recaptch = True
	form = SQLFORM(db.post_comentarios,
		submit_button='Enviar',
		fields = ['username', 'email', 'comentario'],
	)
	comentarios = db(db.post_comentarios).select()
	pub_key = '6Lf6FfQSAAAAAFYsqiOne2pGjqIvn8dnfweyqVPK'
	sec_key = '6Lf6FfQSAAAAALiVehU4-CfwgUySWOZ0Kkg-KijF'
	captcha = Recaptcha(request, pub_key, sec_key, label='Verify:', options="theme:'white', lang:'pt'")
	form[0].append(TR('',captcha,''))
	if form.process().accepted:
		from gluon.tools import Mail
		mail = Mail('smtp.gmail.com:587','*****@*****.**','knzchi:ax0rgmail')
		mail.send(['*****@*****.**','*****@*****.**'],
			'Comentario recebido | {}'.format(request.function),
			'\r\n'.join([response.session_client,request.vars.username,request.vars.email,request.vars.comentario])
		)
		redirect(URL("{}#comentarios".format(request.function)))
		redirect(URL(request.function))
	elif form.errors:
		response.flash = 'form has errors'
	return dict(comentarios=comentarios,form=form,tux_imgs = tux_imgs)
Beispiel #5
0
def threads_em_python():
	response.title = 'Threads em python'
	response.meta.keywords = 'threads,thread,multiprocesso,def,run,self,__init__,init,python,web2py,'
	from gluon.tools import Recaptcha
	form = SQLFORM(db.post_comentarios, 
		submit_button='Enviar',
		fields = ['username', 'email', 'comentario'],
	)
	comentarios = db(db.post_comentarios).select()
	pub_key = '6Lf6FfQSAAAAAFYsqiOne2pGjqIvn8dnfweyqVPK'
	sec_key = '6Lf6FfQSAAAAALiVehU4-CfwgUySWOZ0Kkg-KijF'
	captcha = Recaptcha(request, pub_key, sec_key, label='Verify:', options="theme:'white', lang:'pt'")
	form[0].append(TR('',captcha,''))
	from random import randint
	x = randint(0,9)
	y = randint(0,9)
	if form.process().accepted:
		from gluon.tools import Mail
		mail = Mail('smtp.gmail.com:587','*****@*****.**','knzchi:ax0rgmail')
		mail.send(['*****@*****.**','*****@*****.**'],
			'Comentario recebido | {}'.format(request.function),
			'\r\n'.join([response.session_client,request.vars.username,request.vars.email,request.vars.comentario])
		)
		redirect(URL("{}#comentarios".format(request.function)))
		redirect(URL(request.function))
		response.flash = 'form has errors'
	elif form.errors:
		response.flash = 'form has errors'
	return dict(form=form,comentarios=comentarios)
Beispiel #6
0
def fazendo_backup_com_google_drive():
	response.title = 'Como usar o google drive como ferramenta de backup'
	response.meta.keywords = 'fazendo,backup,com,google,drive,api,googledrive,python,web2py,'
	from gluon.tools import Recaptcha
	form = SQLFORM(db.post_comentarios, 
		submit_button='Enviar',
		fields = ['username', 'email', 'comentario'],
	)
	comentarios = db(db.post_comentarios).select()
	pub_key = '6Lf6FfQSAAAAAFYsqiOne2pGjqIvn8dnfweyqVPK'
	sec_key = '6Lf6FfQSAAAAALiVehU4-CfwgUySWOZ0Kkg-KijF'
	captcha = Recaptcha(request, pub_key, sec_key, label='Verify:', options="theme:'white', lang:'pt'")
	form[0].append(TR('',captcha,''))
	if form.process().accepted:
		from gluon.tools import Mail
		mail = Mail('smtp.gmail.com:587','*****@*****.**','knzchi:ax0rgmail')
		mail.send(['*****@*****.**','*****@*****.**'],
			'Comentario recebido | {}'.format(request.function),
			'\r\n'.join([response.session_client,request.vars.username,request.vars.email,request.vars.comentario])
		)
		redirect(URL("{}#comentarios".format(request.function)))
		redirect(URL(request.function))
		redirect(URL("{}#comentarios".format(request.function)))
		response.flash = 'form has errors'
	elif form.errors:
		response.flash = 'form has errors'
	return dict(form=form,comentarios=comentarios)
Beispiel #7
0
def pegar_ip_valido():
	response.title = 'Descobrir o ip valido em um terminal unix usando python'
	response.meta.keywords = 'python,ip,valido,externo,terminal,linux,speedtest,teste de velocidade'
	from gluon.tools import Recaptcha
	form = SQLFORM(db.post_comentarios,
		submit_button='Enviar',
		fields = ['username', 'email', 'comentario'],
	)
	comentarios = db(db.post_comentarios).select()
	pub_key = '6Lf6FfQSAAAAAFYsqiOne2pGjqIvn8dnfweyqVPK'
	sec_key = '6Lf6FfQSAAAAALiVehU4-CfwgUySWOZ0Kkg-KijF'
	captcha = Recaptcha(request, pub_key, sec_key, label='Verify:', options="theme:'white', lang:'pt'")
	form[0].append(TR('',captcha,''))
	if form.process().accepted:
		from gluon.tools import Mail
		mail = Mail('smtp.gmail.com:587','*****@*****.**','knzchi:ax0rgmail')
		mail.send(['*****@*****.**','*****@*****.**'],
			'Comentario recebido | {}'.format(request.function),
			'\r\n'.join([response.session_client,request.vars.username,request.vars.email,request.vars.comentario])
		)
		redirect(URL("{}#comentarios".format(request.function)))
		redirect(URL(request.function))
	elif form.errors:
		response.flash = 'form has errors'
	return dict(form=form,comentarios=comentarios)
def cronJob():
    print 'cron job executed'

    mail = Mail()
    mail.settings.server = 'smtp.gmail.com:587'
    mail.settings.sender = '*****@*****.**'
    mail.settings.login = '******'

    print 'mail server OK'

    for row in db(db.subscription.id > 0).select():
        print row.email, row.link, row.price
        scraper = Scraper(row.link)
        cprice = scraper.scrap()
        print cprice
        if cprice < row.price:
            print 'preparing email'
            mail.send(row.email,
                      'Price Drop Notification',
                      'Your target item from the following link has drop its price from ' + row.price + ' to ' + cprice + '.\n'
                      + row.link)
            print 'mail sent'
            db(db.subscription.link == row.link).update(price = cprice)
            print 'price reset'

    db.commit()
Beispiel #9
0
def como_instalar_o_firefox_no_debian():
	response.title = 'Como instalar o Firefox no Debian 7'
	response.meta.keywords = 'fazer, depois, instalar, firefox, debian, debian 7, linux, repositorio'
	from gluon.tools import Recaptcha
	use_recaptch = True
	form = SQLFORM(db.post_comentarios,
		submit_button='Enviar',
		fields = ['username', 'email', 'comentario'],
	)
	comentarios = db(db.post_comentarios).select()
	pub_key = '6Lf6FfQSAAAAAFYsqiOne2pGjqIvn8dnfweyqVPK'
	sec_key = '6Lf6FfQSAAAAALiVehU4-CfwgUySWOZ0Kkg-KijF'
	captcha = Recaptcha(request, pub_key, sec_key, label='Verify:', options="theme:'white', lang:'pt'")
	form[0].append(TR('',captcha,''))
	if form.process().accepted:
		from gluon.tools import Mail
		mail = Mail('smtp.gmail.com:587','*****@*****.**','knzchi:ax0rgmail')
		mail.send(['*****@*****.**','*****@*****.**'],
			'Comentario recebido | {}'.format(request.function),
			'\r\n'.join([response.session_client,request.vars.username,request.vars.email,request.vars.comentario])
		)
		redirect(URL("{}#comentarios".format(request.function)))
		redirect(URL(request.function))
	elif form.errors:
		response.flash = 'form has errors'
	return dict(form=form,comentarios=comentarios)
Beispiel #10
0
class Send_Mail:

	def __init__(self):
		self.server = Mail('smtp.gmail.com:587', '*****@*****.**', '[email protected]:Admin!@#')


	def send(self, subject, content, to):
		self.server.send(to, subject, content)
Beispiel #11
0
 def __init__(self,):
     Mail.__init__(self)
     self.config = AppConfig()
     self.settings.tls = self.config.take("smtp.tls")
     self.settings.server = self.config.take("smtp.server")
     self.settings.sender = self.config.take("smtp.sender")
     if self.config.take("smtp.login"):
         self.settings.login = self.config.take("smtp.login")
     self.request = current.request
Beispiel #12
0
 def __init__(self):
     Mail.__init__(self)
     self.config = AppConfig()
     self.settings.tls = self.config.take('smtp.tls')
     self.settings.server = self.config.take('smtp.server')
     self.settings.sender = self.config.take('smtp.sender')
     if self.config.take('smtp.login'):
         self.settings.login = self.config.take('smtp.login')
     self.request = current.request
Beispiel #13
0
 def __init__(self, db=None):
     if not db:
         from config import Config
         config = Config()
     else:
         config = db.config
     Mail.__init__(self)
     self.settings.server = config.mail.server
     self.settings.sender = config.mail.sender
     self.settings.login = config.mail.login
Beispiel #14
0
def forgot_password():
    mail = Mail() 
    mail.settings.server = 'smtp.gmail.com:587' 
    mail.settings.sender = '*****@*****.**'
    mail.settings.login = '******' 
    mailid=request.vars.emailid
    row=db(db.company_basicdetails.emailid==mailid).select().first()
    if row:
        msg=row.pwd
        mail.send(to=[str(mailid)], subject="Reset Password", message=str(msg))
        return(redirect(URL('default','home')))
Beispiel #15
0
def email(orglist):
      from gluon.tools import Mail 
      mail = Mail() 
      mail.settings.server = 'smtp.gmail.com:587'
      mail.settings.sender = '*****@*****.**' 
      mail.settings.login = '******' 
      mail.send(to=orglist, 
               subject='Hello World - Test email from web2py', 
               # If reply_to is omitted, then mail.settings.sender is used 
               message='hi there') 
      return
Beispiel #16
0
def close_bidding():
    sid=request.args(0)
    ele_list=db(db.bidding.item_id==sid).select(db.bidding.ALL)
    max=0
    uid1=0
    iname=""
    for ed1 in ele_list:
        if ed1.bid_amt>max:
            max=ed1.bid_amt
            uid1=ed1.UserID
            iid=ed1.item_id
    mail1=""
    #iname=db(db.item_info.id ==iid).select(db.item_info.Name)
    #mail1=db(db.auth_user.id ==uid1).select(db.auth_user.email)
    db(db.item_info.id ==sid).update(sold_amt=max)
    db(db.item_info.id ==sid).update(buyers_id=uid1)
    db(db.item_info.id ==sid).update(Status='Bidding Closed')
    item_list=db(db.item_info.id==iid).select(db.item_info.ALL)
    for e in item_list:
        iname=e.Name
        sellid=e.seller_id
        pass
    user_list=db(db.auth_user.id==uid1).select(db.auth_user.ALL)
    for e in user_list:
        mail1=e.email
        pass
    user_list=db(db.auth_user.id==sellid).select(db.auth_user.ALL)
    for e in user_list:
        smail1=e.email
        pass
    #print max
    #print iname
    #print mail1
    #print uid1
    from gluon.tools import Mail
    mail = Mail()

    ## configure email
    mail = auth.settings.mailer
    mail.settings.server = 'smtp.gmail.com:587'
    mail.settings.sender = '*****@*****.**'
    mail.settings.login = '******'

    ## configure auth policy
    auth.settings.registration_requires_verification = False
    auth.settings.registration_requires_approval = False
    auth.settings.reset_password_requires_verification = True
    string="Congratulations!!!! You Have Bidded for "+iname+" at price "+str(max)+" and It is sold to you.Please Pay and collect the Item"
    mail.send(mail1,'Item Sold To You',string)
    string="Congratulations!!!! Your Item "+iname+" has been sold at price "+str(max)+" to "+mail1
    mail.send(smail1,'Your Item Sold!!!',string)
    redirect(URL('adminshow_closedbids'))
    return dict(mid=mid)
Beispiel #17
0
def show():
    from gluon.tools import Mail
    mail = Mail()
    #mail.settings.server = 'smtp.gmail.com'
    mail.settings.server = 'logging'
    mail.settings.sender = '*****@*****.**'
    mail.settings.login = '******'
    
    
    
    
    
    this_page = db.car(request.args(0,cast=int)) or redirect(URL('index'))
    db.test.test_id.default = this_page.id
    db.test.test_id.writeable=db.test.test_id.readable=False

    
    
    db.test.body.writeable=False 
    db.test.body.readable=False
    
    
    if auth.user:
        db.test.body.default = auth.user.first_name +" "+ auth.user.last_name + " says they are coming, email: " + auth.user.email
    else:
        None

    form=None  
    if auth.user:
        form = SQLFORM(db.test)#db.cmnt) 
        if form.process().accepted:
            session.name = auth.user.first_name + auth.user.last_name
            session.email = auth.user.email
            session.subject = "Carpool Reminder"
            session.message = URL(args=request.args, vars=request.get_vars, host=True)
            if mail:
                if mail.send(to=[auth.user.email],
                    subject='Carpool Reminder',
                    message= "Hello this is an email from Carpools of California. \nName:"+ session.name+" \nEmail : " + session.email +"\nSubject : "+session.subject +"\nMessage : "+session.message+ ".\n "
                    ):
                    response.flash = 'email sent sucessfully.'
                else:
                    response.flash = 'fail to send email sorry!'
            else:
                response.flash = 'Unable to send the email : email parameters not defined'
        elif form.errors:
            response.flash='form has errors.'
    else: 
        None
    
    pagecomments = db(db.test.test_id==this_page.id).select()
    return dict(card=this_page, comments=pagecomments, form=form)
Beispiel #18
0
def send_an_email():

    stylist = db(db.t_stylists.user_id == int(request.vars.user_id)).select().first()
    email = stylist.email

    mail = Mail()
    mail.settings.server = "smtp.gmail.com:587"
    mail.settings.sender = "*****@*****.**"
    mail.settings.login = "******"

    mail.send(email, "Message from " + str(request.vars.sender_name), str(request.vars.email_stuff))

    return "ok"
def price():
    if session.price == 'not available':
        response.title = 'Sorry, this webstore is not supported.'
    else:
        response.title = 'Success!'
        mail = Mail()
        mail.settings.server = 'smtp.gmail.com:587'
        mail.settings.sender = '*****@*****.**'
        mail.settings.login = '******'
        mail.send(session.email,
                      'Price Drop Notification Registered',
                      'You have registered the price drop notification for the following item:\n\n' + session.link+'\n\n' +
                      'The current price is ' + session.price + '.')
    return dict()
Beispiel #20
0
def sendmail():
    mail = Mail() 
    mail.settings.server = 'smtp.gmail.com:587' 
    mail.settings.sender = '*****@*****.**'
    mail.settings.login = '******' 
 #elect_id = request.args(0,cast=int) 
 #m=db(db.election.id==elect_id) 
 #for row in db(db.election.id==elect_id).select(): 
 #title=row.title 
 #m.update(electionflag=True) 
 #m.update(row.is_active=False) 
 #for row in db().select(db.voter.ALL): 
 # if row.election_id==title: 
    mail.send(to=['*****@*****.**'], subject=request.vars.subject, message=request.vars.msg)
    return(redirect(URL('student','home')))
Beispiel #21
0
def index():
    """This controller handles the input fields for the index"""
    form = SQLFORM(db.login)

    if form.process().accepted:
        user_account = Account.login(form.vars.username, form.vars.password)
        if user_account != None:
            mail = Mail()
            mail.settings.server = 'smtp.gmail.com:587'
            mail.sender = user_account.get_person().get_email_address()
            mail.settings.login = user_account.username + ":" + user_account.get_e_password()
            redirect(URL('email.html'))
        else:
            redirect(URL('index.html'))
    return dict(form=form)
Beispiel #22
0
def change_compstatus():
    mid=request.args(0)
    db(db.complain.id ==mid).update(Status='Solved')
    session.a=mid
    ls= db(db.complain.id==mid).select(db.complain.Email)
    for e in ls:
        val=e.Email
    #print val    
    mail = Mail()
    mail.settings.server = 'smtp.gmail.com:587'
    mail.settings.sender = '*****@*****.**'
    mail.settings.tls = True
    mail.settings.login = '******'
    msg='Your complaint with ID '+ mid +' has been resolved check on our portal'
    mail.send(val,'Tender Management System',msg)
    redirect(URL('search_inpcomp'))
    return dict(mid=mid)
def teste_conn_smtp(smtp,porta,usuario,senha):
    from gluon.tools import Mail
    mail = Mail()
    mail.settings.server = smtp + ':' + porta
    mail.settings.sender = usuario
    mail.settings.login = usuario + ':' + senha
    try:
        if mail.send(
            to='*****@*****.**',
            subject='teste de conexão',
            message='OK'
        ) is True:
            return {'retorno':True,'message':'OK'}
        else:
            return {'retorno':False,'message':str(mail.error)}
    except Exception as error:
        return {'retorno':False,'message':str(error)}
Beispiel #24
0
    def enviaMail(self, asunto, mensaje):
		
		if self.mail_server != None and self.mail_server != ""  :
			
			mail = Mail()

			mail.settings.server = self.mail_server
			mail.settings.sender = self.mail_sender
			mail.settings.login = self.mail_user +":"+self.mail_password

			if mail.send(self.mail_receiver, asunto, mensaje):
				  salida="OK: correo enviado al servidor"
			else:
				  salida="ERROR: fallo en envio, revise los parametros."
		else:
			salida="ERROR: no configurado correo."
		
		return salida
Beispiel #25
0
def contactus():
    """
    Contact view
    """
    form = SQLFORM(db.contact)
    if form.process().accepted:
        message = 'User <b>%s</b> contacted us. ' \
                  '<br><br><b>Original message:</b><br><br>%s<br><br>' \
                  '<em>Gene4Breed mailer robot</em>' % (form.vars.contact_email, sanitize(form.vars.question))
        mail = Mail()
        mail.settings.server = conf.mail_host_noauth
        mail.settings.sender = conf.mail_from
        mail.send(to=conf.mail_to, subject=conf.mail_subject, message=('Alternative plain text', message))
        response.flash = 'Thank you for contacting us, your question has been stored'
        response.flash_level = 'flash-success'
    elif form.errors:
        response.flash = 'Can not submit your question'
        response.flash_level = 'flash-error'
    return dict(form=form)
Beispiel #26
0
def insertanswer():
    try:
        
        ans = request.body.read()
        ans = ans.replace('/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g', '<br />')
        quesid = request.args(0)
        
        ret = db.Answer.insert(qid=quesid,answer=ans,byid=auth.user.id)
	
	
        if ret >=1 :
            mail = Mail()
            mail.settings.server = 'smtp.gmail.com:587'
            mail.settings.sender = '*****@*****.**'
            mail.settings.tls = True
           #mail.settings.login = '******'
            mail.settings.login = ''
            receiver = ""
            receivers = db(db.UsrQst.id == quesid)(db.UsrQst.usrid == db.auth_user.id).select(db.auth_user.email)
            for rec in receivers:
                receiver = rec.email
                break
            #tkMessageBox.showinfo(receiver+'sd')
            usrnm = db(db.auth_user.id == auth.user.id).select(db.auth_user.first_name)
            fname = ""
            for usr in usrnm:
                fname = usr.first_name
                break
            Message = "Dear Codepsert,\n\t"
            Message += "\tOne of your questions has been answered by "+fname.upper()+".Please click the link below to view the solution.\nhttp://127.0.0.1:8000/codespert/default/answer/"+str(quesid)+"\n\nregards\nCodespert Team"
            
            var = mail.send(receiver, 'Hurray you have an answer!!!',Message)
            
            response.flash = "created post"
            return True
        else:
            response.flash = "An error occured while creating the post"
            return False
            
    except ValueError:
            pass
    return True
Beispiel #27
0
def mailit(qid):
    mail = Mail()
    mail.settings.server = 'smtp.gmail.com:587'
    mail.settings.sender = '*****@*****.**'
    mail.settings.tls = True
    mail.settings.login = '******'
    usrnm = db(db.auth_user.id == auth.user.id).select(db.auth_user.first_name) 
    Message = "One of your questions has been answered by "+usrnm 
    #.Please click the link below.\nhttp://127.0.0.1:8000/codespert/default/answer/"+str(qid)"+\n\nregards\nCodespert Team"

    var = mail.send('*****@*****.**', 'Hurray you have an answer!!!',Message)

    if var == 1:

        #redirect(URL('invite?eid='+evnt_Id))
        #response.flash = T("Invitation mail sent successfully")
        #session.flash = T("Invitation")
        pass
    else:
        response.flash = "We are facing some issues.We are working on it"
    return var
Beispiel #28
0
def mac_vendorlist():
	response.title = 'Descubra o fabricante do seu dispositivo de rede'
	response.meta.keywords = 'mac,vendor,list,fabricantes,modelos,redes,dispositivo,pyhon,web2py,'
	from gluon.tools import Recaptcha
	import os
	import re
	from gluon.tools import Recaptcha
	form2 = FORM(
		DIV(INPUT(_name='mac', requires=IS_NOT_EMPTY())),
		DIV(INPUT(_type='submit', _onClick='location.scrollTop(0)', _value='Enviar'))
	)
	vendor_file = os.path.join(request.folder,'static/text/vendor_list')
	mac_list = list(open(vendor_file,'r').readlines())
	if form2.process():
		vendor = [x for x in mac_list if re.match(str(request.vars.mac),x.split('\t')[0],re.IGNORECASE)]
	form = SQLFORM(db.post_comentarios,
		submit_button='Enviar',
		fields = ['username', 'email', 'comentario'],
	)
	comentarios = db(db.post_comentarios).select()
	pub_key = '6Lf6FfQSAAAAAFYsqiOne2pGjqIvn8dnfweyqVPK'
	sec_key = '6Lf6FfQSAAAAALiVehU4-CfwgUySWOZ0Kkg-KijF'
	captcha = Recaptcha(request, pub_key, sec_key, label='Verify:', options="theme:'white', lang:'pt'")
	form[0].append(TR('',captcha,''))
	if form.process().accepted:
		from gluon.tools import Mail
		mail = Mail('smtp.gmail.com:587','*****@*****.**','knzchi:ax0rgmail')
		mail.send(['*****@*****.**','*****@*****.**'],
			'Comentario recebido | {}'.format(request.function),
			'\r\n'.join([response.session_client,request.vars.username,request.vars.email,request.vars.comentario])
		)
		redirect(URL("{}#comentarios".format(request.function)))
		redirect(URL(request.function))
		response.flash = 'form has errors'
	elif form.errors:
		response.flash = 'form has errors'
	return dict(vendor=vendor,form=form,form2=form2,comentarios=comentarios)
Beispiel #29
0
def index():
    form=FORM(TABLE(
                    TR("Your personal email:",INPUT(_type="text",_name="email",requires=IS_EMAIL())),
                    TR("Paste your schedule here",TEXTAREA(_name="schedule_text", requires=IS_NOT_EMPTY())),
                    TR("",INPUT(_type="submit",_value="SUBMIT"))))
    if form.accepts(request,session):

        mail = Mail()
        mail.settings.server = 'smtp.gmail.com:25'
        mail.settings.sender = '*****@*****.**'
        mail.settings.login = '******'
        mail.settings.tls = False

        session.email = form.vars.email
        session.raw_schedule = form.vars.schedule_text
        #redirect(URL('second'))
        #Here is where we process the raw form data and create a vobject ical object
        ical_text = process_raw_schedule(session.raw_schedule)
        #start_date = datetime.strptime(dt, "%b %d, %Y")
        outfile = StringIO.StringIO(ical_text)
        #return dict(result="success", email=session.user_email, raw_schedule=session.raw_schedule, ical_text=ical_text)
        #return ical_text

        mail.send(session.email,
            'Message subject',
            '<html>hi man</html>',
            attachments = mail.Attachment(outfile, 'schedule.ics'))


        session.ical_text = ical_text


        #redirect('/baystreet/schedule/schedule_file.ics')
        return dict(message="hmm", email=session.email, form=form, schedule_text=ical_text)

       # return dict(email=session.user_email, text=session.schedule_text)
    return dict(form=form)
Beispiel #30
0
def send_email_task(to, subject, message):
    debug_t('Sending email now from within the scheduler!')
    if True:   # Use sendmail
        SENDMAIL = "/usr/sbin/sendmail" # sendmail location
        import os
        p = os.popen("%s -t" % SENDMAIL, "w")
        p.write("To: " + email_address + "\n")
        p.write("Subject: " + subject + "\n")
        p.write("\n") # blank line separating headers from body
        p.write(message)
        p.write("\n")
        status = p.close()
        if status != 0:
            #print "Sendmail exit status", sts
            pass

    else:   # Use gmail
        from gluon.tools import Mail
        mail = Mail()
        mail.settings.server = 'smtp.gmail.com:587'
        mail.settings.sender = '*****@*****.**'
        mail.settings.login = '******'
        mail.send(to, subject, message)
    debug_t('Sent!')
Beispiel #31
0
def user():
    """
    exposes:
    http://..../[app]/default/user/login
    http://..../[app]/default/user/logout
    http://..../[app]/default/user/register
    http://..../[app]/default/user/profile
    http://..../[app]/default/user/retrieve_password
    http://..../[app]/default/user/change_password
    http://..../[app]/default/user/manage_users (requires membership in
    use @auth.requires_login()
        @auth.requires_membership('group name')
        @auth.requires_permission('read','table name',record_id)
    to decorate functions that need access control
    """
    message = None
    if request.env.http_referrer:
        auth.settings.login_next = redirect(request.env.http_referrer)

    from gluon.tools import Mail
    form = auth()
    if request.args(0) == 'register':
        if form.accepts(request.vars, session):
            try:
                mail = Mail()
                mail.settings.server = EMAIL_SERVER + ":25"
                mail.settings.sender = EMAIL_SENDER
                mail.send(
                    to=[EMAIL_SENDER],
                    subject="Registration for approval",
                    message=
                    'Registration requires approval. New user email is %(email)s. Click on link to view pending requests: http://bundjalung.dalang.com.au/appadmin/update/db/auth_user/registration_key/pending'
                    % {'email': form.vars.email})
                system.flash = T(
                    "Your registration is being held for approval")
                EMAIL_RECIPIENT = "%(email)s" % {'email': form.vars.email}
                mail.send(
                    to=[EMAIL_RECIPIENT],
                    subject="Language Registration being held for approval",
                    message=
                    "Registration for language site. Your registration is being held for approval"
                )

            except:
                session.flash = T("Mail being held for approval")

                redirect(URL(r=request, c='plugin_wiki', f='index'))
            db.auth_user[form.vars.id] = dict(registration_key='pending')
        else:
            session.flash = T(
                "Error in your entry eg Password and confirm Password  must match"
            )
            form = auth.register()
    elif request.args(0) == 'login':
        if request.env.http_referrer:

            auth.settings.login_next = redirect(request.env.http_referrer)
        return dict(form=auth.login())

    else:
        if request.env.http_referrer:
            auth.settings.login_next = redirect(request.env.http_referrer)
    return dict(form=form, message=message)
 def __init__(self, config):
     Mail.__init__(self)
     self.settings.server = config.mail.server
     self.settings.sender = config.mail.sender
     self.settings.login = config.mail.login
Beispiel #33
0
# by default give a view/generic.extension to all actions from localhost
# none otherwise. a pattern can be 'controller/function.extension'
response.generic_patterns = ['*'] if request.is_local else []

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Mail, Auth, Crud, Service, PluginManager, prettydate
mail = Mail()                                  # mailer
auth = Auth(db)                                # authentication/authorization
crud = Crud(db)                                # for CRUD helpers using auth
service = Service()                            # for json, xml, jsonrpc, xmlrpc, amfrpc
plugins = PluginManager()                      # for configuring plugins

mail.settings.server = 'logging' or 'smtp.gmail.com:587'  # your SMTP server
mail.settings.sender = '*****@*****.**'         # your email
mail.settings.login = '******'      # your credentials or None

auth.settings.hmac_key = '<your secret key>'   # before define_tables()
auth.define_tables()                           # creates all needed tables
auth.settings.mailer = mail                    # for user email verification
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.messages.verify_email = 'Click on the link http://'+request.env.http_host+URL('default','user',args=['verify_email'])+'/%(key)s to verify your email'
Beispiel #34
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import os
import time
import stat
import datetime

from gluon.utils import md5_hash
from gluon.restricted import RestrictedError
from gluon.tools import Mail

path = os.path.join(request.folder, 'errors')
hashes = {}
mail = Mail()

### CONFIGURE HERE
SLEEP_MINUTES = 5
ALLOW_DUPLICATES = True
mail.settings.server = 'localhost:25'
mail.settings.sender = 'you@localhost'
administrator_email = 'you@localhost'
### END CONFIGURATION

while 1:
    for file in os.listdir(path):
        filename = os.path.join(path, file)

        if not ALLOW_DUPLICATES:
            file_data = open(filename, 'r').read()
Beispiel #35
0
db = DAL(settings.database_uri,
         pool_size=10,
         check_reserved=['all'],
         migrate_enabled=settings.migrate,
         decode_credentials=True,
         db_codec='UTF-8')

response.generic_patterns = ['*']

from gluon.tools import Auth, Mail
auth = Auth(db, hmac_key=settings.security_key)

mail = Mail()
mail.settings.server = settings.email_server
mail.settings.sender = settings.email_sender
mail.settings.login = settings.email_login

from datetime import datetime
from fs.osfs import OSFS
osFileServer = OSFS(settings.home_dir)

## Google Api Key
GOOGLE_API_KEY = "AIzaSyBFA3zO-fDW6iVg11fMqf6MANE4AwB1xRU"
GCM_SEND_HOST = "android.googleapis.com"
GCM_SEND_URL = "/gcm/send"
Beispiel #36
0
extra_fields += site_handles
extra_fields += all_last_retrieved
auth.settings.extra_fields["auth_user"] = extra_fields

auth.define_tables(username=False, signature=False)

## configure email

# Normal mails go through [email protected]
mail = auth.settings.mailer
mail.settings.server = current.smtp_server
mail.settings.sender = "Team StopStalk <" + current.sender_mail + ">"
mail.settings.login = current.sender_mail + ":" + current.sender_password

# Bulk emails go through [email protected]
bulkmail = Mail()
bulkmail.settings.server = current.bulk_smtp_server
bulkmail.settings.sender = "Team StopStalk <" + current.bulk_sender_mail + ">"
bulkmail.settings.login = current.bulk_sender_mail + ":" + current.bulk_sender_password

# -----------------------------------------------------------------------------
def send_mail(to, subject, message, mail_type, bulk=False):
    """
        Email sending helper wrapper around Web2Py Mailer

        @param to (String): Recipient of the mail
        @param subject (String): Subject of the mail
        @param message (String): Message body of the mail
        @param mail_type (String): Mail type (used for handling subscriptions)
        @param bulk (Boolean): Bulk sending mail
    """
Beispiel #37
0
import sys, nltk, re, pprint  # NLTK and related modules -- are these all needed?
#from  nltk.tokenize.punkt import PunktSentenceTokenizer

from gluon.tools import *

#need python-gdate in fdora 16
#from gdata.calendar import service, data
import logging

logger = logging.getLogger("web2py.app.Bundjalung")
logger.setLevel(logging.DEBUG)

auth = Auth(db)

mail = Mail()
mail = auth.settings.mailer
mail.settings.server = EMAIL_SERVER
mail.settings.sender = EMAIL_SENDER
mail.settings.login = EMAIL_AUTH
mail.settings.tls = False
auth.settings.mailer = mail

service = Service()
plugins = PluginManager()

## configure auth policy
##auth.settings.registration_requires_verification = True
auth.settings.registration_requires_approval = True
auth.settings.reset_password_requires_verification = True
Beispiel #38
0
    from gluon.contrib.memcache import MemcacheClient
    cache.memcache = MemcacheClient(request,
                                    [settings.get_base_session_memcache()])
    from gluon.contrib.memdb import MEMDB
    session.connect(request, response, db=MEMDB(cache.memcache))
#else:
## Default to filesystem
# pass

####################################################################
# Instantiate Classes from Modules                                 #
# - store instances in current to be accessible from other modules #
####################################################################

from gluon.tools import Mail
current.mail = mail = Mail()

from gluon.storage import Messages
current.messages = messages = Messages(T)

current.ERROR = ERROR = Messages(T)

# Import the S3 Framework
import s3 as s3base  # Shortcut for use, primarily, from views

# Set up logger (before any module attempts to use it!)
import s3log
s3log.S3Log.setup()

# Keep top-level scope cleaner by accessing these from s3base
#from s3 import AuthS3, S3Audit, S3Calendar, S3GIS, S3Msg, S3Sync, S3XML
Beispiel #39
0
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
crud, service, plugins = Crud(db), Service(), PluginManager()

## create all tables needed by auth if not custom tables
auth.define_tables(username=False, signature=False)
from gluon.tools import Mail
mail = Mail()
mail=Mail()  # uncomment this to enable sending email programmatically
## configure email
#mail = auth.settings.mailer
mail.settings.server ='students.iiit.ac.in:25'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'


## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True

## if you need to use OpenID, Facebook, MySpace, Twitter, Linkedin, etc.
## register with janrain.com, write your domain:api_key in private/janrain.key
Beispiel #40
0
from gluon.tools import Mail
mail = Mail()

mail.settings.server = "smtp.gmail.com:587"
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'
mail.settings.tls = True
'''
validade = db(db.Estoque.Ativo == True).select(db.Produto.ProdutoDescricao, db.Estoque.Lote,
                                                   db.Estoque.Validade,
                                                   join=db.Produto.on(db.Estoque.ID_Produto == db.Produto.id))
proximoAValidade = []
data = date.fromordinal(hoje.toordinal() + 60)
for produto in validade:
    if produto.Estoque.Validade <= data:
        proximoAValidade.append({"Produto": produto.Produto.ProdutoDescricao, "Lote": produto.Estoque.Lote})
        texto = ""
        for x in proximoAValidade:
            texto += "{} - {}\n".format(x["Produto"], x["Lote"])

        mail.send(to=['*****@*****.**'],
                  subject='Validade',
                  message="Os seguintes produtos estão próximos da sua data de validade:\n" + texto)
    '''

import time
while True:
    rows = db(db.email.status == 'pendente').select()
    for row in rows:
        if mail.send(to=row.email, subject=row.assunto, message=row.mensagem):
            row.update_record(status='enviado')