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
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
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
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)
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)
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)