def message_json(request, **kwargs): if request.method != 'POST': raise Http404 if 'message' not in request.POST or 'subject' not in request.POST: raise Http404 creator = "" if 'creator' in request.POST: creator = request.POST['creator'] message = format_email({'message': request.POST['message'], 'subject': request.POST['subject'], 'creator' : creator}) return HttpResponse(message, mimetype="text/plain")
def send_mail(self, addr=None, message=None): retval = '' if not addr: addr = self.toemail if not addr: return False addr = addr.strip() if addr == 'all': # TODO: implement this raise NotImplementedError subject = self.subject.strip() if type(subject) == type(""): subject = unicode(subject) if message is None or message == "": message = format_email({'message' : self.message, 'subject' : subject, 'creator' : self.creator}) if not message: return False logentries = Logs.objects.filter(news_id=self.id, source="E", error=False) for recipiement in addr.split(','): if logentries.filter(action__icontains=recipiement): # don't resend message #continue subject = "%s: %s" % (__("Correction"), subject) try: send_mail(subject, message, formataddr((self.creator,self.sender)), [recipiement],fail_silently=False) # For legacy charset ... Don't use! #email = EmailMessage(subject, message, # formataddr((self.creator,self.sender)), # [recipiement]) #email.encoding = 'iso-8859-1' #email.send() addLogEntry(self, _('Email sent successfully to %(recipiement)s' % { 'recipiement' : recipiement}), error=False, source='E') except Exception as error: retval += "Failed emailing to %s: %s\n" % (recipiement, error) if retval == '': return True else: return retval