예제 #1
0
def send_mail(request):
    logging.info(request.POST)
    recipient = request.POST['recipient']
    ej_id = request.POST['ej_id']

    logging.info('fake email to %s'%(recipient)) 
    logging.info('ej_id %s'%ej_id)



    ej  = EMailJob.get_by_id(int(ej_id))
    if ej is None:
        return HttpResponse('missing ej')
 
    try:
        email = EmailMessage(ej.data)

        email.sender = cfg.getConfigString('ENROLL_EMAIL',None)
        email.reply_to = cfg.getConfigString('ENROLL_REPLY_TO',None)
        email.to = recipient
        email.check_initialized()

        logging.info('sending...')
        email.send()
        logging.info('send ok')
    except Exception,e:
        logging.info(e)
        logging.info("can't init/send email! %s"%sys.exc_info()[1])
        return HttpResponse("can't init/send email - %s"%sys.exc_info()[1])
예제 #2
0
def email_template_test_send(request, template_id):
    et = EMailTemplate.get_by_id(int(template_id))
    if et  is None:
        raise Http404

    if request.method == 'POST':
        form = EMailAddressForm(request.POST)
        if form.is_valid():
            to_a = form.cleaned_data['address']
            logging.info('test send template id %d, to: %s', et.key().id(), to_a)
            
            try:
                email = EmailMessage(et.data)
                email.sender = getConfig('DEFAULT_SENDER')
                email.to = to_a
                email.check_initialized()

                if getConfigBool("ENABLE_MAIL_TEST",False):
                    logging.info('sending...')
                    email.send()
                else:
                    logging.info('disabled')
        

            except:
                logging.info("can't init email! %s"%sys.exc_info()[1])
                return HttpResponse("can't init email - %s"%sys.exc_info()[1])


            return redirect('..')
    else:
        form = EMailAddressForm()
 
    return render_to_response('emails/email_template_test_send.html', RequestContext(request, { 'form' : form, 'et':et}))
예제 #3
0
def test_send(request, et_id):
    et  = EMailTemplate.get_by_id(int(et_id))
    if et is None:
        raise Http404

    if request.method == 'POST':
        form = EMailTestForm(request.POST)
        if form.is_valid():
            try:
                email = EmailMessage(et.data)

                email.sender = cfg.getConfigString('ENROLL_EMAIL',None)
                email.reply_to = cfg.getConfigString('ENROLL_REPLY_TO',None)
                email.to = form.cleaned_data['email']
                email.check_initialized()

                logging.info('sending...')
                email.send()
                logging.info('send ok')

                et.valid = True 
                et.save()

            except:
                logging.info("can't init/send email! %s"%sys.exc_info()[1])
                return HttpResponse("can't init/send email - %s"%sys.exc_info()[1])


            return redirect('../..')
    else:
        form = EMailTestForm()
 
    return render_to_response('admin/emailtemplate_testsend.html', RequestContext(request, { 'form': form, 'et':et }) ) 
예제 #4
0
def send_mail_as_noreply(address,
                         subject,
                         msg=None,
                         html=None,
                         attachments=None):
    logging.info(u"Sending email to %s: [%s] %s" % (address, subject, msg))
    try:
        mail = EmailMessage()
        mail.sender = NO_REPLY_SENDER
        mail.to = address
        mail.subject = subject

        if attachments:
            mail.attachments = attachments

        if html:
            mail.html = html
        elif msg:
            mail.body = msg
        else:
            mail.body = "---"  # mail.body cannot be empty string, raises exception

        mail.check_initialized()
        mail.send()
    except Exception, e:
        logging.error("Email sending failed: %s" % e.message)
예제 #5
0
    def process_exception(self, request, exception):
        logging.exception('exception!')
        message = EmailMessage()
        message.sender = settings.DEFAULT_FROM_EMAIL
        message.to = [admin[1] for admin in settings.ADMINS]
        message.subject = 'exception at %s' % request.path
        message.body = """
URL: %(url)s
Exception:
%(traceback)s

---

User: %(user)s 
Email: %(email)s

---

REQUEST META:
%(META)s
        """ % {
            'url': request.build_absolute_uri(request.get_full_path()),
            'traceback': traceback.format_exc(),
            'user': request.user,
            'email': request.user.email if request.user.is_authenticated() else None,
            'META': request.META
        }
        message.check_initialized()
        message.send()
        
        return None
예제 #6
0
def signup_email(email_to, subject, body):
    message = EmailMessage()
    message.sender = '*****@*****.**'
    message.to = [email_to]
    message.subject = subject
    message._add_body('text/html', body)
    message.check_initialized()
    message.send()
예제 #7
0
def fire_email_subjob(request,subjob_key):

    if not getConfigBool('ENABLE_MAIL_JOBS',False):
        logging.info('ENABLE_MAIL_JOBS != True, ignore') 
        return HttpResponse('disabled')
        


    sub_job = EMailSubJob.get(subjob_key)
    if sub_job is None:
        logging.info('no sub_job')
        raise Http404

    job = EMailJob.get(sub_job.parent_key())
    if job is None:
        logging.info('no job')
        raise Http404


    job_data = EMailJobData.all().ancestor(job).get()
    if job_data is None:
        logging.info('no job_data')
        raise Http404

    try:
        email = EmailMessage(job_data.data)
        email.sender = job_data.sender
        email.to = job_data.sender
        email.check_initialized()
    except:
        logging.info("can't init email! %s"%sys.exc_info()[1])
        sub_job.status = 'error'
        sub_job.status_info = "can't init email message - %s"%sys.exc_info()[1]
        sub_job.save()
        return HttpResponse('error')



    logging.info('processing mail sub job:%s'%sub_job)
    sub_job.status = 'send'
    sub_job.save()

    for e in sub_job.emails:
        logging.info('sending email to %s'%e)
        try:
            email.to = e
            email.send() 
            sub_job.emails_done.extend([e])
        except:
            logging.info("can't init email! %s"%sys.exc_info()[1])
            sub_job.emails_error.extend([e])

    sub_job.status = 'done'
    sub_job.save()
    logging.info('result:%s'%sub_job)
    
    return HttpResponse('ok')
예제 #8
0
 def make_mail_message(sender, to, subject, body):
     EMAIL_REGEX = re.compile(r"[^@]+@[^@]+\.[^@]+")
     email = None
     if EMAIL_REGEX.match(to):
         email = EmailMessage()
         email.sender = sender
         email.to = to
         email.subject = subject
         email.body = body
         email.check_initialized()
     return email
예제 #9
0
    def post(self):
        name = self.request.get('name')
        surname = self.request.get('surname')
        email = self.request.get('email')
        phone = self.request.get('phone')
        message = self.request.get('message')

        body = 'User %s,%s with email %s has sent you a message - %s' % (name,surname,email,message)

        my_mail = EmailMessage(sender='*****@*****.**',to='*****@*****.**',subject='Hi',body=body)

        #send email

        my_mail.check_initialized()
        my_mail.send()
예제 #10
0
def parse_email(request, file_key):
    data = get_blob_data(file_key)
    if data is None:
        raise Http404

    r = ""
    email = EmailMessage(data)
#    fix_encoding(email)     
    email.check_initialized()
    email.sender = getConfig("MAIL_TEST_FROM")
    email.to = getConfig("MAIL_TEST_TO")

    if getConfigBool("ENABLE_MAIL_TEST",False):
        logging.info('sending email....')
        email.send()

    r = email.to_mime_message()

    return HttpResponse('parse ok - %s'%r)
예제 #11
0
파일: models.py 프로젝트: moefang/nacelle
    def send(self):

        """
        Build and send an email message from this model instance
        """

        # create new email message
        new_email = EmailMessage()

        # set sender address
        new_email.sender = self.get_sender()

        # set to addresses
        new_email.to = self.to

        # set cc addresses
        if self.cc:
            new_email.cc = self.cc

        # set bcc addresses
        if self.bcc:
            new_email.bcc = self.bcc

        # set reply to address
        if self.reply_to:
            new_email.reply_to = self.reply_to
        else:
            new_email.reply_to = self.get_sender()

        # set email subject
        new_email.subject = self.subject

        # set plaintext body
        if self.body_plain:
            new_email.body = self.body_plain

        # set html body
        if self.body_html:
            new_email.html = self.body_html

        # check that the email has been properly initialized and send
        new_email.check_initialized()
        new_email.send()
예제 #12
0
파일: util.py 프로젝트: WAYbetter/waybetter
def send_mail_as_noreply(address, subject, msg=None, html=None, attachments=None):
    logging.info(u"Sending email to %s: [%s] %s" % (address, subject, msg))
    try:
        mail = EmailMessage()
        mail.sender = NO_REPLY_SENDER
        mail.to = address
        mail.subject = subject

        if attachments:
            mail.attachments = attachments

        if html:
            mail.html = html
        elif msg:
            mail.body = msg
        else:
            mail.body = "---" # mail.body cannot be empty string, raises exception

        mail.check_initialized()
        mail.send()
    except Exception, e:
        logging.error("Email sending failed: %s" % e.message)