def post(self): self.response.headers['Content-Type'] = 'application/json' email = self.request.get('email') services = self.request.get('services').rstrip(',') query = db.GqlQuery( "SELECT * FROM EmailSubscriber WHERE email = :1", email) number_rows = query.count() if number_rows > 0: self.response.status = 409 self.response.out.write(json.dumps({ "error": email + " is already subscribed." })) return mail = mailer.Mail() mail.send(email, "Successfully subscribed to Balanced " + services + " incidents", "You successfully subscribed to Balanced " + services + " incidents.", self.request.url) s = models.EmailSubscriber(email=email, services=services.split(',')) s.put() self.response.out.write(json.dumps({ "subscribed": "email", "services": services.split(',') }))
def send_emails(service, request_url, current_state=None, twitter_tweet=None): # This is filthy. Don't judge me bro if service == "DASH": service = "DASHBOARD" email_subscribers = models.EmailSubscriber.gql("WHERE services IN (:1)", service) if settings.DEBUG: LOGGER.info("SENDING NOTIFICATION TO [" + str(email_subscribers.count()) + "] EMAIL SUBSCRIBERS") if service in settings.NOTIFY_SERVICES: mail = mailer.Mail() for email_subscriber in email_subscribers: # Tweet if (twitter_tweet): twitter_tweet = twitter_tweet.strip() mail.send( email_subscriber.email, "Tweet from @balancedstatus", "{}".format(twitter_tweet) + "\n\nThis is an automated notification from https://status.balancedpayments.com", request_url) # UP/DOWN else: mail.send( email_subscriber.email, "Balanced {} is {}".format(service, current_state), "Balanced {} is {}.".format(service, current_state) + "\n\nThis is an automated notification from https://status.balancedpayments.com", request_url)
def send_emails(service, current_state, request_url): email_subscribers = models.EmailSubscriber.gql("WHERE services IN (:1)", service) if settings.DEBUG: LOGGER.info("SENDING NOTIFICATION TO [" + str(email_subscribers.count()) + "] EMAIL SUBSCRIBERS") mail = mailer.Mail() for email_subscriber in email_subscribers: mail.send( email_subscriber.email, "Balanced {} is {}".format(service, current_state), "Balanced {} is {}.".format(service, current_state) + "\n\n" + "This is an automated notification from https://status.balancedpayments.com", request_url)
def sendEmail(self, _usr, _coy, _typ, _row): # print("{} - {}: Sending Email for {}".format(_usr, _coy, _typ)) if self.mailerCompany is None or self.mailerCompany is not _coy: # Reuse mailer if same company self.mailer = mailer.Mail( user=_usr, reply_to=self.users[_usr]["reply_to"], sign_off_name=self.users[_usr]["sign_off_name"], row=_row, connection=self.emailConnection) self.mailerMappingDict = { "AGM": self.mailer.send_acra, "GST": self.mailer.send_gst, "IRAS": self.mailer.send_iras, "audit": self.mailer.send_audit } self.mailerCompany = _coy return self.mailerMappingDict[_typ]()