summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormailman1998-03-20 17:59:51 +0000
committermailman1998-03-20 17:59:51 +0000
commitcbaf655c487515bf43ffd203c19225d1d460c138 (patch)
treef405ca33dfb45b31f846e4476a92289910feb774
parentbee5eb485b0584ea4dd9df29c767d4deeaa694e8 (diff)
downloadmailman-cbaf655c487515bf43ffd203c19225d1d460c138.tar.gz
mailman-cbaf655c487515bf43ffd203c19225d1d460c138.tar.zst
mailman-cbaf655c487515bf43ffd203c19225d1d460c138.zip
-rw-r--r--Mailman/Deliverer.py41
-rw-r--r--modules/mm_deliver.py41
2 files changed, 56 insertions, 26 deletions
diff --git a/Mailman/Deliverer.py b/Mailman/Deliverer.py
index 53d2056dc..e37e74a56 100644
--- a/Mailman/Deliverer.py
+++ b/Mailman/Deliverer.py
@@ -1,4 +1,4 @@
-import string, os, sys
+import string, os, sys, tempfile
import mm_cfg, mm_message, mm_err
# Text for various messages:
@@ -10,6 +10,16 @@ Your message entitled:
was successfully received by %s.
'''
+## CHANGETEXT = '''[PSA SIG maillist member: Your mailing list is being migrated to a new
+## maillist mechanism which offers more control both to the list members and
+## to the administrator. Info about getting at the new features is detailed
+## below. We will be switching over to the new list immediately after the
+## subscriptions are transferred, and besides this message (and barring
+## unforseen bugs^H^H^H^H circumstances), the changeover should be fairly
+## transparent. Bon voyage! Ken Manheimer, klm@python.org.]
+
+## '''
+
SUBSCRIBEACKTEXT = '''Welcome to the %s@%s mailing list!
If you ever want to unsubscribe or change your options (eg, switch to
@@ -104,26 +114,29 @@ class Deliverer:
if not(len(recipients)):
return
to_list = string.join(recipients)
+ tempfile.tempdir = '/tmp'
+
+## If this is a digest, or we ask to remove them,
+## Remove old To: headers. We're going to stick our own in there.
+## Also skip: Sender, return-receipt-to, errors-to, return-path, reply-to,
+## (precedence, and received).
-# If this is a digest, or we ask to remove them,
-# Remove old To: headers. We're going to stick our own in there.
-# Also skip: Sender, return-receipt-to, errors-to, return-path, reply-to,
-# (precidence, and received).
if remove_to:
# Writing to a file is better than waiting for sendmail to exit
- tmp_file_name = '/tmp/%smailman.%d.digest' % (tmpfile_prefix,
- os.getpid())
+ tempfile.template = tmpfile_prefix +'mailman-digest.'
for item in msg.headers:
if (item[0:3] == 'To:' or
item[0:5] == 'X-To:'):
msg.headers.remove(item)
msg.headers.append('To: %s\n' % self.GetListEmail())
- else:
- tmp_file_name = '/tmp/%smailman.%d' % (tmpfile_prefix, os.getpid())
+ else:
+ tempfile.template = tmpfile_prefix + 'mailman.'
msg.headers.append('Errors-To: %s\n' % self.GetAdminEmail())
- tmp_file = open(tmp_file_name, 'w+')
- tmp_file.write(string.join(msg.headers,''))
+ tmp_file_name = tempfile.mktemp()
+ tmp_file = open(tmp_file_name, 'w+')
+
+ tmp_file.write(string.join(msg.headers,''))
# If replys don't go to the list, then they should go to the
# real sender
if self.reply_goes_to_list:
@@ -161,13 +174,15 @@ class Deliverer:
header = ''
welcome = ''
- body = SUBSCRIBEACKTEXT % (self.real_name, self.host_name,
+## body = (CHANGETEXT +
+## SUBSCRIBEACKTEXT % (self.real_name, self.host_name,
+ body = (SUBSCRIBEACKTEXT % (self.real_name, self.host_name,
self.GetScriptURL('listinfo'),
self.real_name, self.host_name,
password,
self.GetListEmail(),
header,
- welcome)
+ welcome))
self.SendTextToUser(subject = 'Welcome To "%s"! %s' % (self.real_name,
digest_mode),
diff --git a/modules/mm_deliver.py b/modules/mm_deliver.py
index 53d2056dc..e37e74a56 100644
--- a/modules/mm_deliver.py
+++ b/modules/mm_deliver.py
@@ -1,4 +1,4 @@
-import string, os, sys
+import string, os, sys, tempfile
import mm_cfg, mm_message, mm_err
# Text for various messages:
@@ -10,6 +10,16 @@ Your message entitled:
was successfully received by %s.
'''
+## CHANGETEXT = '''[PSA SIG maillist member: Your mailing list is being migrated to a new
+## maillist mechanism which offers more control both to the list members and
+## to the administrator. Info about getting at the new features is detailed
+## below. We will be switching over to the new list immediately after the
+## subscriptions are transferred, and besides this message (and barring
+## unforseen bugs^H^H^H^H circumstances), the changeover should be fairly
+## transparent. Bon voyage! Ken Manheimer, klm@python.org.]
+
+## '''
+
SUBSCRIBEACKTEXT = '''Welcome to the %s@%s mailing list!
If you ever want to unsubscribe or change your options (eg, switch to
@@ -104,26 +114,29 @@ class Deliverer:
if not(len(recipients)):
return
to_list = string.join(recipients)
+ tempfile.tempdir = '/tmp'
+
+## If this is a digest, or we ask to remove them,
+## Remove old To: headers. We're going to stick our own in there.
+## Also skip: Sender, return-receipt-to, errors-to, return-path, reply-to,
+## (precedence, and received).
-# If this is a digest, or we ask to remove them,
-# Remove old To: headers. We're going to stick our own in there.
-# Also skip: Sender, return-receipt-to, errors-to, return-path, reply-to,
-# (precidence, and received).
if remove_to:
# Writing to a file is better than waiting for sendmail to exit
- tmp_file_name = '/tmp/%smailman.%d.digest' % (tmpfile_prefix,
- os.getpid())
+ tempfile.template = tmpfile_prefix +'mailman-digest.'
for item in msg.headers:
if (item[0:3] == 'To:' or
item[0:5] == 'X-To:'):
msg.headers.remove(item)
msg.headers.append('To: %s\n' % self.GetListEmail())
- else:
- tmp_file_name = '/tmp/%smailman.%d' % (tmpfile_prefix, os.getpid())
+ else:
+ tempfile.template = tmpfile_prefix + 'mailman.'
msg.headers.append('Errors-To: %s\n' % self.GetAdminEmail())
- tmp_file = open(tmp_file_name, 'w+')
- tmp_file.write(string.join(msg.headers,''))
+ tmp_file_name = tempfile.mktemp()
+ tmp_file = open(tmp_file_name, 'w+')
+
+ tmp_file.write(string.join(msg.headers,''))
# If replys don't go to the list, then they should go to the
# real sender
if self.reply_goes_to_list:
@@ -161,13 +174,15 @@ class Deliverer:
header = ''
welcome = ''
- body = SUBSCRIBEACKTEXT % (self.real_name, self.host_name,
+## body = (CHANGETEXT +
+## SUBSCRIBEACKTEXT % (self.real_name, self.host_name,
+ body = (SUBSCRIBEACKTEXT % (self.real_name, self.host_name,
self.GetScriptURL('listinfo'),
self.real_name, self.host_name,
password,
self.GetListEmail(),
header,
- welcome)
+ welcome))
self.SendTextToUser(subject = 'Welcome To "%s"! %s' % (self.real_name,
digest_mode),