mirror of
https://github.com/postgres/pgweb.git
synced 2025-08-03 15:38:59 +00:00
Generate bug-specific messsageids when generating bug reports
This makes the messageids shorter and easier to identify when linking to them in the archives.
This commit is contained in:
@ -13,7 +13,7 @@ def _encoded_email_header(name, email):
|
|||||||
return formataddr((str(Header(name, 'utf-8')), email))
|
return formataddr((str(Header(name, 'utf-8')), email))
|
||||||
return email
|
return email
|
||||||
|
|
||||||
def send_simple_mail(sender, receiver, subject, msgtxt, attachments=None, usergenerated=False, cc=None, replyto=None, sendername=None, receivername=None):
|
def send_simple_mail(sender, receiver, subject, msgtxt, attachments=None, usergenerated=False, cc=None, replyto=None, sendername=None, receivername=None, messageid=None):
|
||||||
# attachment format, each is a tuple of (name, mimetype,contents)
|
# attachment format, each is a tuple of (name, mimetype,contents)
|
||||||
# content should be *binary* and not base64 encoded, since we need to
|
# content should be *binary* and not base64 encoded, since we need to
|
||||||
# use the base64 routines from the email library to get a properly
|
# use the base64 routines from the email library to get a properly
|
||||||
@ -27,7 +27,10 @@ def send_simple_mail(sender, receiver, subject, msgtxt, attachments=None, userge
|
|||||||
if replyto:
|
if replyto:
|
||||||
msg['Reply-To'] = replyto
|
msg['Reply-To'] = replyto
|
||||||
msg['Date'] = formatdate(localtime=True)
|
msg['Date'] = formatdate(localtime=True)
|
||||||
msg['Message-ID'] = make_msgid()
|
if messageid:
|
||||||
|
msg['Message-ID'] = messageid
|
||||||
|
else:
|
||||||
|
msg['Message-ID'] = make_msgid()
|
||||||
|
|
||||||
msg.attach(MIMEText(msgtxt, _charset='utf-8'))
|
msg.attach(MIMEText(msgtxt, _charset='utf-8'))
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@ from django.db import connection
|
|||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import time
|
||||||
|
import hashlib
|
||||||
|
|
||||||
from pgweb.util.contexts import render_pgweb
|
from pgweb.util.contexts import render_pgweb
|
||||||
from pgweb.util.helpers import template_to_string
|
from pgweb.util.helpers import template_to_string
|
||||||
@ -13,6 +15,12 @@ from pgweb.core.models import Version
|
|||||||
|
|
||||||
from forms import SubmitBugForm
|
from forms import SubmitBugForm
|
||||||
|
|
||||||
|
def _make_bugs_messageid(bugid):
|
||||||
|
return "{0}-{1}@postgresql.org".format(
|
||||||
|
bugid,
|
||||||
|
hashlib.md5("{0}-{1}".format(os.getpid(), time.time())).hexdigest()[:16],
|
||||||
|
)
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def submitbug(request):
|
def submitbug(request):
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
@ -35,6 +43,7 @@ def submitbug(request):
|
|||||||
cc=form.cleaned_data['email'],
|
cc=form.cleaned_data['email'],
|
||||||
replyto='%s, %s' % (form.cleaned_data['email'], settings.BUGREPORT_EMAIL),
|
replyto='%s, %s' % (form.cleaned_data['email'], settings.BUGREPORT_EMAIL),
|
||||||
sendername="PG Bug reporting form",
|
sendername="PG Bug reporting form",
|
||||||
|
messageid=_make_bugs_messageid(bugid),
|
||||||
)
|
)
|
||||||
|
|
||||||
return render_pgweb(request, 'support', 'misc/bug_completed.html', {
|
return render_pgweb(request, 'support', 'misc/bug_completed.html', {
|
||||||
|
@ -8,7 +8,7 @@ from pgweb.mailqueue.util import send_simple_mail
|
|||||||
from pgweb.util.helpers import template_to_string
|
from pgweb.util.helpers import template_to_string
|
||||||
import re
|
import re
|
||||||
|
|
||||||
def send_template_mail(sender, receiver, subject, templatename, templateattr={}, usergenerated=False, cc=None, replyto=None, receivername=None, sendername=None):
|
def send_template_mail(sender, receiver, subject, templatename, templateattr={}, usergenerated=False, cc=None, replyto=None, receivername=None, sendername=None, messageid=None):
|
||||||
d = {
|
d = {
|
||||||
'link_root': settings.SITE_ROOT,
|
'link_root': settings.SITE_ROOT,
|
||||||
}
|
}
|
||||||
@ -16,7 +16,8 @@ def send_template_mail(sender, receiver, subject, templatename, templateattr={},
|
|||||||
send_simple_mail(sender, receiver, subject,
|
send_simple_mail(sender, receiver, subject,
|
||||||
template_to_string(templatename, d),
|
template_to_string(templatename, d),
|
||||||
usergenerated=usergenerated, cc=cc, replyto=replyto,
|
usergenerated=usergenerated, cc=cc, replyto=replyto,
|
||||||
receivername=receivername, sendername=sendername)
|
receivername=receivername, sendername=sendername,
|
||||||
|
messageid=messageid)
|
||||||
|
|
||||||
def get_client_ip(request):
|
def get_client_ip(request):
|
||||||
"""
|
"""
|
||||||
|
Reference in New Issue
Block a user