diff -u mailman/Mailman/HTMLFormatter.py vhost/Mailman/HTMLFormatter.py
--- mailman/Mailman/HTMLFormatter.py
+++ vhost/Mailman/HTMLFormatter.py
@@ -382,7 +382,8 @@
d = {
'' : self.GetMailmanFooter(),
'' : self.real_name,
- '' : self._internal_name,
+ '' : self.local_part,
+ '' : self.internal_name(),
'' : Utils.websafe(self.description),
'' :
'' + BR.join(self.info.split(NL)) + '',
diff -u mailman/Mailman/MailList.py vhost/Mailman/MailList.py
--- mailman/Mailman/MailList.py
+++ vhost/Mailman/MailList.py
@@ -253,7 +253,7 @@
# Using "local_part" here works for both site wide lists on
# the default url host and for vhost lists on the vhost url host.
return Utils.ScriptURL(scriptname, self.web_page_url, absolute) + \
- '/' + self.local_part
+ '/' + self._internal_name
def GetOptionsURL(self, user, obscure=0, absolute=0):
url = self.GetScriptURL('options', absolute)
diff -u mailman/Mailman/Archiver/Archiver.py vhost/Mailman/Archiver/Archiver.py
--- mailman/Mailman/Archiver/Archiver.py
+++ vhost/Mailman/Archiver/Archiver.py
@@ -162,7 +162,7 @@
if hostname == mm_cfg.DEFAULT_URL_HOST:
- fullname = self.local_part
+ fullname = self._internal_name
else:
- fullname = os.path.join(hostname, self.local_part)
+ fullname = os.path.join(hostname, self._internal_name)
url = mm_cfg.PUBLIC_ARCHIVE_URL % {
'listname': fullname,
'hostname': hostname
diff -u mailman/Mailman/Handlers/Decorate.py vhost/Mailman/Handlers/Decorate.py
--- mailman/Mailman/Handlers/Decorate.py
+++ vhost/Mailman/Handlers/Decorate.py
@@ -221,7 +221,7 @@
d = SafeDict({'real_name' : mlist.real_name,
'list_name' : mlist.local_part,
# For backwards compatibility
- '_internal_name': mlist.local_part,
+ '_internal_name': mlist._internal_name,
'host_name' : mlist.host_name,
'web_page_url' : mlist.web_page_url,
'description' : mlist.description,
diff -u lib/bin/postfix-to-mailman.py vhost/bin/postfix-to-mailman.py
--- mailman/bin/postfix-to-mailman.py
+++ vhost/bin/postfix-to-mailman.py
@@ -111,6 +111,11 @@
'mailman_destination_recipient_limit=1 '
'in main.cf?')
sys.exit(EX_USAGE)
+ try:
+ l,d = local.split('#',2)
+ local = '%s@%s' % (l,d)
+ except ValueError:
+ l,d = local, None
# Redirect required addresses to
if local in ('postmaster', 'abuse', 'mailer-daemon'):
@@ -140,8 +145,9 @@
'-subscribe',
'-unsubscribe',
):
- if local.endswith(ext):
- mlist = local[:-len(ext)]
+ if l.endswith(ext):
+ mlist = l[:-len(ext)]
+ if d: mlist = '%s@%s' % (mlist,d)
func = ext[1:]
break