summaryrefslogtreecommitdiff
path: root/mailman/app/notifications.py
diff options
context:
space:
mode:
authorBarry Warsaw2009-01-25 13:01:41 -0500
committerBarry Warsaw2009-01-25 13:01:41 -0500
commiteefd06f1b88b8ecbb23a9013cd223b72ca85c20d (patch)
tree72c947fe16fce0e07e996ee74020b26585d7e846 /mailman/app/notifications.py
parent07871212f74498abd56bef3919bf3e029eb8b930 (diff)
downloadmailman-eefd06f1b88b8ecbb23a9013cd223b72ca85c20d.tar.gz
mailman-eefd06f1b88b8ecbb23a9013cd223b72ca85c20d.tar.zst
mailman-eefd06f1b88b8ecbb23a9013cd223b72ca85c20d.zip
Diffstat (limited to 'mailman/app/notifications.py')
-rw-r--r--mailman/app/notifications.py136
1 files changed, 0 insertions, 136 deletions
diff --git a/mailman/app/notifications.py b/mailman/app/notifications.py
deleted file mode 100644
index 9bef9998b..000000000
--- a/mailman/app/notifications.py
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright (C) 2007-2009 by the Free Software Foundation, Inc.
-#
-# This file is part of GNU Mailman.
-#
-# GNU Mailman is free software: you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation, either version 3 of the License, or (at your option)
-# any later version.
-#
-# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# GNU Mailman. If not, see <http://www.gnu.org/licenses/>.
-
-"""Sending notifications."""
-
-from __future__ import unicode_literals
-
-__metaclass__ = type
-__all__ = [
- 'send_admin_subscription_notice',
- 'send_goodbye_message',
- 'send_welcome_message',
- ]
-
-
-from email.utils import formataddr
-from lazr.config import as_boolean
-
-from mailman import Message
-from mailman import Utils
-from mailman import i18n
-from mailman.config import config
-from mailman.interfaces.member import DeliveryMode
-
-
-_ = i18n._
-
-
-
-def send_welcome_message(mlist, address, language, delivery_mode, text=''):
- """Send a welcome message to a subscriber.
-
- Prepending to the standard welcome message template is the mailing list's
- welcome message, if there is one.
-
- :param mlist: the mailing list
- :type mlist: IMailingList
- :param address: The address to respond to
- :type address: string
- :param language: the language of the response
- :type language: string
- :param delivery_mode: the type of delivery the subscriber is getting
- :type delivery_mode: DeliveryMode
- """
- if mlist.welcome_msg:
- welcome = Utils.wrap(mlist.welcome_msg) + '\n'
- else:
- welcome = ''
- # Find the IMember object which is subscribed to the mailing list, because
- # from there, we can get the member's options url.
- member = mlist.members.get_member(address)
- options_url = member.options_url
- # Get the text from the template.
- text += Utils.maketext(
- 'subscribeack.txt', {
- 'real_name' : mlist.real_name,
- 'posting_address' : mlist.fqdn_listname,
- 'listinfo_url' : mlist.script_url('listinfo'),
- 'optionsurl' : options_url,
- 'request_address' : mlist.request_address,
- 'welcome' : welcome,
- }, lang=language, mlist=mlist)
- if delivery_mode is not DeliveryMode.regular:
- digmode = _(' (Digest mode)')
- else:
- digmode = ''
- msg = Message.UserNotification(
- address, mlist.request_address,
- _('Welcome to the "$mlist.real_name" mailing list${digmode}'),
- text, language)
- msg['X-No-Archive'] = 'yes'
- msg.send(mlist, verp=as_boolean(config.mta.verp_personalized_deliveries))
-
-
-
-def send_goodbye_message(mlist, address, language):
- """Send a goodbye message to a subscriber.
-
- Prepending to the standard goodbye message template is the mailing list's
- goodbye message, if there is one.
-
- :param mlist: the mailing list
- :type mlist: IMailingList
- :param address: The address to respond to
- :type address: string
- :param language: the language of the response
- :type language: string
- """
- if mlist.goodbye_msg:
- goodbye = Utils.wrap(mlist.goodbye_msg) + '\n'
- else:
- goodbye = ''
- msg = Message.UserNotification(
- address, mlist.bounces_address,
- _('You have been unsubscribed from the $mlist.real_name mailing list'),
- goodbye, language)
- msg.send(mlist, verp=as_boolean(config.mta.verp_personalized_deliveries))
-
-
-
-def send_admin_subscription_notice(mlist, address, full_name, language):
- """Send the list administrators a subscription notice.
-
- :param mlist: the mailing list
- :type mlist: IMailingList
- :param address: the address being subscribed
- :type address: string
- :param full_name: the name of the subscriber
- :type full_name: string
- :param language: the language of the address's realname
- :type language: string
- """
- with i18n.using_language(mlist.preferred_language):
- subject = _('$mlist.real_name subscription notification')
- full_name = full_name.encode(Utils.GetCharSet(language), 'replace')
- text = Utils.maketext(
- 'adminsubscribeack.txt',
- {'listname' : mlist.real_name,
- 'member' : formataddr((full_name, address)),
- }, mlist=mlist)
- msg = Message.OwnerNotification(mlist, subject, text)
- msg.send(mlist)