Example #1
0
def send_registration_email_to_new_user(user, emailOptions=REGISTRATION_EMAIL_SPEC):
    """
	Sends a registration email to ``user``.
	"""
    user = get_user(user)

    registrationEmail = SendGridEmailMessage(to=[user.username], **emailOptions)
    registrationEmail.sendgrid_headers.setCategory("Registration")
    response = registrationEmail.send()

    return response
Example #2
0
def send_registration_email_to_new_user(user,
                                        emailOptions=REGISTRATION_EMAIL_SPEC):
    """
	Sends a registration email to ``user``.
	"""
    user = get_user(user)

    registrationEmail = SendGridEmailMessage(to=[user.email], **emailOptions)
    registrationEmail.sendgrid_headers.setCategory("Registration")
    registrationEmail.sendgrid_headers.setUniqueArgs({"user_id": user.id})
    response = registrationEmail.send()

    return response
Example #3
0
 def emit(self, record):
     trace = None
     if record.exc_info:
         trace = traceback.format_exc()
     kwargs = {
         'logger_name': record.name,
         'level': record.levelno,
         'msg': record.getMessage(),
         'trace': trace
     }
     from django_db_logger.models import StatusLog
     log = StatusLog.objects.create(**kwargs)
     body = record.getMessage(
     ) + " ===========> Check Record no %s" % log.id
     try:
         email = SendGridEmailMessage('Error Level %s' % record.levelno,
                                      body, config.SUPPORT_EMAIL,
                                      [config.ERROR_EMAIL])
         email.send()
     except Exception as e:
         pass
Example #4
0
def send_simple_email(request):
	if request.method == 'POST':
		form = EmailForm(request.POST)
		if form.is_valid():
			subject = request.POST["subject"]
			message = request.POST["message"]
			from_email = request.POST["sender"]
			recipient_list = request.POST["to"]
			recipient_list = [r.strip() for r in recipient_list.split(",")]
			category = request.POST["category"]
			# https://docs.djangoproject.com/en/dev/ref/forms/fields/#booleanfield
			html = getattr(request.POST, "html", False)
			enable_gravatar = getattr(request.POST, "enable_gravatar", False)
			enable_click_tracking = getattr(request.POST, "enable_click_tracking", False)
			add_unsubscribe_link = getattr(request.POST, "add_unsubscribe_link", False)
			
			sendGridEmail = SendGridEmailMessage(
				subject,
				message,
				from_email,
				recipient_list,
			)
			if html:
				sendGridEmail.content_subtype = "html"
				
			if category:
				logger.debug("Category {c} was given".format(c=category))
				sendGridEmail.sendgrid_headers.setCategory(category)
				sendGridEmail.update_headers()
				
			filterSpec = {}
			if enable_gravatar:
				logger.debug("Enable Gravatar was selected")
				filterSpec["gravatar"] = {
					"enable": 1
				}
				
			if enable_gravatar:
				logger.debug("Enable click tracking was selected")
				filterSpec["clicktrack"] = {
					"enable": 1
				}
				
			if add_unsubscribe_link:
				logger.debug("Add unsubscribe link was selected")
				# sendGridEmail.sendgrid_headers.add
				filterSpec["subscriptiontrack"] = {
					"enable": 1,
					"text/html": "<p>Unsubscribe <%Here%></p>",
				}
				
			if filterSpec:
				filterutils.update_filters(sendGridEmail, filterSpec, validate=True)
				
			logger.debug("Sending SendGrid email {e}".format(e=sendGridEmail))
			response = sendGridEmail.send()
			logger.debug("Response {r}".format(r=response))
			return HttpResponseRedirect('/')
	else:
		form = EmailForm()

	c = { "form": form }
	c.update(csrf(request))
	return render_to_response('main/send_email.html', c)
Example #5
0
def send_simple_email(request):
    if request.method == 'POST':
        form = EmailForm(request.POST)
        if form.is_valid():
            subject = request.POST["subject"]
            message = request.POST["message"]
            from_email = request.POST["sender"]
            recipient_list = request.POST["to"]
            recipient_list = [r.strip() for r in recipient_list.split(",")]
            categoryData = request.POST["category"]
            categories = parse_csv_string(categoryData)
            # https://docs.djangoproject.com/en/dev/ref/forms/fields/#booleanfield
            html = getattr(request.POST, "html", False)
            enable_gravatar = getattr(request.POST, "enable_gravatar", False)
            enable_click_tracking = getattr(request.POST,
                                            "enable_click_tracking", False)
            add_unsubscribe_link = getattr(request.POST,
                                           "add_unsubscribe_link", False)

            sendGridEmail = SendGridEmailMessage(
                subject,
                message,
                from_email,
                recipient_list,
            )
            if html:
                sendGridEmail.content_subtype = "html"

            if categories:
                logger.debug("Categories {c} were given".format(c=categories))
                # The SendGrid Event API will POST different data for single/multiple category messages.
                if len(categories) == 1:
                    sendGridEmail.sendgrid_headers.setCategory(categories[0])
                elif len(categories) > 1:
                    sendGridEmail.sendgrid_headers.setCategory(categories)
                sendGridEmail.update_headers()

            filterSpec = {}
            if enable_gravatar:
                logger.debug("Enable Gravatar was selected")
                filterSpec["gravatar"] = {"enable": 1}

            if enable_gravatar:
                logger.debug("Enable click tracking was selected")
                filterSpec["clicktrack"] = {"enable": 1}

            if add_unsubscribe_link:
                logger.debug("Add unsubscribe link was selected")
                # sendGridEmail.sendgrid_headers.add
                filterSpec["subscriptiontrack"] = {
                    "enable": 1,
                    "text/html": "<p>Unsubscribe <%Here%></p>",
                }

            if filterSpec:
                filterutils.update_filters(sendGridEmail,
                                           filterSpec,
                                           validate=True)

            logger.debug("Sending SendGrid email {e}".format(e=sendGridEmail))
            response = sendGridEmail.send()
            logger.debug("Response {r}".format(r=response))
            return HttpResponseRedirect("/")
    else:
        form = EmailForm()

    c = {"form": form}
    c.update(csrf(request))
    return render_to_response('main/send_email.html', c)
Example #6
0
def send_simple_email(request):
	if request.method == 'POST':
		form = EmailForm(request.POST)
		if form.is_valid():
			subject = form.cleaned_data["subject"]
			message = form.cleaned_data["message"]
			from_email = form.cleaned_data["sender"]
			recipient_list = form.cleaned_data["to"]
			recipient_list = [r.strip() for r in recipient_list.split(",")]
			categoryData = form.cleaned_data["categories"]
			categories = parse_csv_string(categoryData)
			html = form.cleaned_data["html"]
			enable_gravatar = form.cleaned_data["enable_gravatar"]
			enable_click_tracking = form.cleaned_data["enable_click_tracking"]
			add_unsubscribe_link = form.cleaned_data["add_unsubscribe_link"]

			if html:
				sendGridEmail = SendGridEmailMultiAlternatives(
					subject,
					message,
					from_email,
					recipient_list,
				)
				sendGridEmail.attach_alternative(message, "text/html")
			else:
				sendGridEmail = SendGridEmailMessage(
					subject,
					message,
					from_email,
					recipient_list,
				)
				
			if categories:
				logger.debug("Categories {c} were given".format(c=categories))
				# The SendGrid Event API will POST different data for single/multiple category messages.
				if len(categories) == 1:
					sendGridEmail.sendgrid_headers.setCategory(categories[0])
				elif len(categories) > 1:
					sendGridEmail.sendgrid_headers.setCategory(categories)
				sendGridEmail.update_headers()
				
			filterSpec = {}
			if enable_gravatar:
				logger.debug("Enable Gravatar was selected")
				filterSpec["gravatar"] = {
					"enable": 1
				}
				
			if enable_gravatar:
				logger.debug("Enable click tracking was selected")
				filterSpec["clicktrack"] = {
					"enable": 1
				}
				
			if add_unsubscribe_link:
				logger.debug("Add unsubscribe link was selected")
				# sendGridEmail.sendgrid_headers.add
				filterSpec["subscriptiontrack"] = {
					"enable": 1,
					"text/html": "<p>Unsubscribe <%Here%></p>",
				}
				
			if filterSpec:
				filterutils.update_filters(sendGridEmail, filterSpec, validate=True)
				
			logger.debug("Sending SendGrid email {e}".format(e=sendGridEmail))
			response = sendGridEmail.send()
			logger.debug("Response {r}".format(r=response))

			if response == 1:
				msg = "Your message was sent"
				msgType = messages.SUCCESS
			else:
				msg = "The was en error sending your message"
				msgType = messages.ERROR
			messages.add_message(request, msgType, msg)

			return HttpResponseRedirect("/")
	else:
		form = EmailForm()

	c = { "form": form }
	c.update(csrf(request))
	return render_to_response('main/send_email.html', c)