| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
| |
List-Post: et al headers.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
2919 and 2369 headers are added.
- List-Id: is always added
- List-Post:, List-Help:, List-Subscribe:, List-Unsubscribe:, and
List-Archive: are only added to posting messages.
- X-List-Administrivia: is only added to message Mailman creates and
sends out of its own accord.
|
| |
|
|
| |
"L'homme moderne" <moderne@homme-moderne.org>
|
| |
|
|
|
|
| |
-r/--regular-members-file. I'd like eventually for -n to be
equivalent to --dry-run, but also this makes add_members a little more
like list_members. Closes SF bug #219658.
|
| |
|
|
|
| |
on body lines. Also, add `confirm' as an administrivia test. Closes
SF bug #454857.
|
| | |
|
| |
|
|
| |
None, which obviously can't be .split(). This is more robust.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
better.
Barry - dgc's mm-handler isn't prepared to handle 2.1; it's using the
old structure for aliases. Not surprisingly. However, since it's
referenced in the docs as a sendmail solution, it'll probably surprise
some people who try it, when things go majorly foobar (even the wrapper
script name is wrong.)
Ok. Diff against cvs again. Handles the VERP tokens just fine.
If I wasn't *still* here fiddling at 7am it'd probably be a tad more
elegant, but it work.
:)
|
| | |
|
| |
|
|
|
|
| |
With the new wrapper script and list types, contrib/qmail-to-mailman.py
needed a little bump to be able to automatically manage mailing lists
with -join, -leave, etc. suffixes.
|
| | |
|
| | |
|
| |
|
|
| |
file doesn't exist. Need to catch that.
|
| |
|
|
|
| |
email host name, if there is no mapping in the VIRTUAL_HOSTS table,
use DEFAULT_EMAIL_HOST instead of the url-host. Closes SF bug #530949.
|
| |
|
|
| |
text, not as pickles.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
skipping or processing loops. They usually mean MIME boundary
problems, which legit email rarely has.
|
| | |
|
| | |
|
| |
|
|
| |
__main__ that prints the usage docstring.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
the copy of the Message instance doesn't get passed to
UserNotification's constructor via the `text' argument. Instead, it
should get attached via set_payload() after the Content-Type: is set
to message/rfc822.
Bug reported by Ron Jarrell.
|
| |
|
|
|
|
|
| |
saved on disk as pickles or plaintext. I don't want to promote this
to a mm_cfg.py variable.
HoldMessage(): Optionally store the message in plain text.
|
| |
|
|
|
| |
list's state via xlist.Load() -- conservative if the state hasn't
changed.
|
| |
|
|
| |
call mlist.Load() so we can be sure we've got the most current state.
|
| | |
|
| |
|
|
|
| |
list, call mlist.Load() so we can be sure we've got the most current
state.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
changed since the last Load(). This means it will be cost effective
to reload the state when necessary in qrunners which don't lock the
list (e.g. OutgoingRunner). Specifically,
InitTempVars(): Set a temporary timestamp attribute, which gets the
mtime of the config.pck file upon successful load.
__save(): When we save the file, set the timestamp to the file's mtime
(we just saved it so it must be up-to-date -- since this is done with
the list lock acquired, there shouldn't be a race).
__load(): If the file's mtime is <= the current timestamp, then we've
got the most current state. This method can now return (None, None)
meaning we didn't need to load anything.
Load(): Watch for dict is None and e is None, meaning we didn't need
to load anything.
|
| |
|
|
|
| |
intended to be run under bin/withlist, so when run standalone, they
print their module documentation (usage information).
|
| | |
|
| |
|
|
| |
"search for member" button.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
# The description for new_member_options includes a kludge where
# we add a hidden field so that even when all the checkboxes are
# deselected, the form data will still have a new_member_options
# key (it will always be a list). Otherwise, we'd never be able
# to tell if all were deselected!
|
| |
|
|
|
|
|
| |
files. I'm tired of "make distclean" removing these, requiring a cvs
update.
"make distclean" is now the same as "make clean"
|
| | |
|
| |
|
|
|
|
|
| |
from the web view of pending actions, and from the database.
Arguably, we should do this when we add the subscriptions in the first
place, but that's inconvenient because we don't maintain the proper
data structures in the request.db database.
|
| | |
|
| |
|
|
| |
appropriate addresses.
|
| |
|
|
| |
appropriate addresses.
|
| |
|
|
| |
addresses.
|