示例#1
0
def build_subsribe_query(subscribe_id):
    try:
        subscribe = Subscribe.objects.get(pk=subscribe_id)
    except Exception:
        raise Exception("Subscribe not found")
    usersubscribes = UserSubscribes.objects.filter(subscribe=subscribe)
    subscribe.last_send_date = datetime.now()
    if usersubscribes.count() > 0:
        objects = subscribe.get_modelname().objects.all()
        data_objects = serializers.serialize("json", objects)
        message = {"objects": json.loads(data_objects)}
        mail_ids = []
        for usersub in usersubscribes:
            data_user = {"unsubscribe": usersub.unsubscribe_link, "username": usersub.user.username}
            vars = message
            vars.update({"user": data_user})
            mail = create_mailqueue(
                subject=subscribe.subject,
                template=subscribe.message,
                send_to=usersub.user.email,
                content_type=subscribe.content_type,
                message=vars,
            )
            mail_ids.append(mail.id)
        send_concrete_mailqueue.delay(mail_ids)
示例#2
0
def send_email_message(subject,template,send_to,content_type,message=None,send_from=None):
    email = create_mailqueue(subject,template,send_to,content_type,message,)
    connection = None
    try:
        connection = mail.get_connection(fail_silently=True)
        connection.open()
        msg = email.send_email(connection)
        try:
            msg.send()
            email.delete()
        except Exception:
            raise('MESSAGE %s CAN NOT SENDED'%email.id)
    finally:
        connection.close()
示例#3
0
 def create_sometime_subscribe(self,users):
     content_type = self.content_type if self.content_type == 'html' else 'plain'
     template = load_template(content_type,type='sometime')
     self.template = template
     self.save()
     if users is not None:
         message = {'message':self.message}
         mail_ids = []
         for user in users:
             data_user = {'username':user.username}
             vars = message
             vars.update({'user':data_user})
             mail = create_mailqueue(subject=self.subject,template=self.template,send_to=user.email,
                              content_type=self.content_type,message=vars)
             mail_ids.append(mail.id)
         send_concrete_mailqueue.delay(mail_ids)
     if self.delete_after_sending:
         self.delete()
     return self