def sendMail(request, hardwareid): hardware = get_object_or_404(Hardware, id=hardwareid) user = request.user profile = user.get_profile() if hardware.owner != user: if user.email != "" and profile.mail_confirmed: if request.method == "POST": form = SendmailForm(request.POST) if form.is_valid(): logentries = EmailLog.objects.filter(sender=user) now = datetime.now() logentries = logentries.filter(date__gte=(now - timedelta(days=7))) if len(logentries) > 10: messages.add_message(request, messages.ERROR, "Du hast bereits einige Mails diese Woche verschickt. Bitte mach doch eine Pause.") return HttpResponseRedirect(reverse(displayHardware, args=[hardware.id, hardware.slug])) usermails = logentries.filter(receiver=hardware.owner) if len(usermails) > 2: messages.add_message(request, messages.ERROR, "Du hast bereits einige Mails an diese/n User verschickt. Bitte mach doch eine Pause.") return HttpResponseRedirect(reverse(displayHardware, args=[hardware.id, hardware.slug])) today = logentries.filter(date=now) if len(logentries) > 4: messages.add_message(request, messages.ERROR, "Du hast bereits einige Mails heute verschickt. Bitte mach doch eine Pause.") return HttpResponseRedirect(reverse(displayHardware, args=[hardware.id, hardware.slug])) log = EmailLog() log.sender = user log.hardware = hardware log.receiver = hardware.owner log.date = now log.save() headers = {'Reply-To':user.email} # From-header from_email = '*****@*****.**' # Return-Path header subject = "[hardware für alle] Hardwareanfrage eines Benutzers/einer Benutzerin" accounts = SocialAccount.objects.filter(user=request.user) accountlist = [] for account in accounts: accountlist.append(account) c = Context({"user":user, "hardware":hardware, "text":form.cleaned_data["text"], "usage":form.cleaned_data["usage"], "accountlist":accountlist}) body = render_to_string("hardware/requestmail.html", c) EmailMessage(subject, body, from_email, [hardware.owner.email], headers=headers).send() messages.add_message(request, messages.SUCCESS, "E-Mail an den Besitzer wurde verschickt.") return HttpResponseRedirect(reverse(displayHardware, args=[hardware.id, hardware.slug])) else: form = SendmailForm() context = {"form":form, "hardware":hardware} return render_to_response('hardware/sendmail.html',context , RequestContext(request)) else: return render_to_response('hardware/sendmail.html', {"invalidmail":True} , RequestContext(request)) else: return render_to_response('hardware/sendmail.html', {"ownhardware":True} , RequestContext(request))