From mark at msapiro.net Fri Apr 11 02:44:45 2014 From: mark at msapiro.net (Mark Sapiro) Date: Thu, 10 Apr 2014 17:44:45 -0700 Subject: [Mailman-Developers] Fwd: DMARC and Mail Lists open space at Pycon In-Reply-To: <534737BB.9090902@msapiro.net> References: <534737BB.9090902@msapiro.net> Message-ID: <53473AFD.5090303@msapiro.net> I should have sent the original to this list as well. -------- Original Message -------- Subject: [Mailman-Users] DMARC and Mail Lists open space at Pycon Date: Thu, 10 Apr 2014 17:30:51 -0700 From: Mark Sapiro To: dmarclist at lists.peachymango.org, Mailman Users I have tentatively scheduled an open space for Friday, 11 April at 18:00 in room 523B at Pycon to talk about DMARC and mail lists. All available interested parties are invited. If the time doesn't work, we can reschedule. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From stephen at xemacs.org Fri Apr 11 06:25:47 2014 From: stephen at xemacs.org (Stephen J. Turnbull) Date: Fri, 11 Apr 2014 13:25:47 +0900 Subject: [Mailman-Developers] Fwd: DMARC and Mail Lists open space at Pycon In-Reply-To: <53473AFD.5090303@msapiro.net> References: <534737BB.9090902@msapiro.net> <53473AFD.5090303@msapiro.net> Message-ID: <87d2goijas.fsf@uwakimon.sk.tsukuba.ac.jp> Mark Sapiro writes: > I have tentatively scheduled an open space for Friday, 11 April at > 18:00 in room 523B at Pycon to talk about DMARC and mail lists. All > available interested parties are invited. If the time doesn't work, > we can reschedule. Is that EST or EDT? I'll try to be around on IRC, if somebody can occasionally forward the sense of the conversation to me. From mark at msapiro.net Fri Apr 11 13:21:49 2014 From: mark at msapiro.net (Mark Sapiro) Date: Fri, 11 Apr 2014 04:21:49 -0700 Subject: [Mailman-Developers] DMARC and Mail Lists open space at Pycon In-Reply-To: <534737BB.9090902@msapiro.net> References: <534737BB.9090902@msapiro.net> Message-ID: <5347D04D.2010706@msapiro.net> On 04/10/2014 05:30 PM, Mark Sapiro wrote: > I have tentatively scheduled an open space for Friday, 11 April at 18:00 > in room 523B at Pycon to talk about DMARC and mail lists. All available > interested parties are invited. If the time doesn't work, we can reschedule. I will need to reschedule this. Check the open space board. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From mark at msapiro.net Fri Apr 11 13:45:49 2014 From: mark at msapiro.net (Mark Sapiro) Date: Fri, 11 Apr 2014 04:45:49 -0700 Subject: [Mailman-Developers] Fwd: DMARC and Mail Lists open space at Pycon In-Reply-To: <87d2goijas.fsf@uwakimon.sk.tsukuba.ac.jp> References: <534737BB.9090902@msapiro.net> <53473AFD.5090303@msapiro.net> <87d2goijas.fsf@uwakimon.sk.tsukuba.ac.jp> Message-ID: <5347D5ED.4020008@msapiro.net> On 04/10/2014 09:25 PM, Stephen J. Turnbull wrote: > Mark Sapiro writes: > > > I have tentatively scheduled an open space for Friday, 11 April at > > 18:00 in room 523B at Pycon to talk about DMARC and mail lists. All > > available interested parties are invited. If the time doesn't work, > > we can reschedule. > > Is that EST or EDT? I'll try to be around on IRC, if somebody can > occasionally forward the sense of the conversation to me. > It's EDT, but it will be rescheduled. I'll try to see that something is on #mailman -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From mark at msapiro.net Fri Apr 11 14:25:58 2014 From: mark at msapiro.net (Mark Sapiro) Date: Fri, 11 Apr 2014 08:25:58 -0400 Subject: [Mailman-Developers] DMARC and Mail Lists open space at Pycon In-Reply-To: <5347D04D.2010706@msapiro.net> References: <534737BB.9090902@msapiro.net> <5347D04D.2010706@msapiro.net> Message-ID: On April 11, 2014 7:21:49 AM EDT, Mark Sapiro wrote: >On 04/10/2014 05:30 PM, Mark Sapiro wrote: >> I have tentatively scheduled an open space for Friday, 11 April at >18:00 >> in room 523B at Pycon to talk about DMARC and mail lists. All >available >> interested parties are invited. If the time doesn't work, we can >reschedule. > > >I will need to reschedule this. Check the open space board. Tentatively rescheduled to 17:00 EDT (21:00 GMT) on Friday, 11 Apr in room 525. I will attempt to post realtime summaries on #mailman. -- Mark Sapiro Sent from my Android phone with K-9 Mail. [Unpaid endorsement] From mark at msapiro.net Fri Apr 11 21:18:13 2014 From: mark at msapiro.net (Mark Sapiro) Date: Fri, 11 Apr 2014 12:18:13 -0700 Subject: [Mailman-Developers] DMARC and Mail Lists open space at Pycon In-Reply-To: References: <534737BB.9090902@msapiro.net> <5347D04D.2010706@msapiro.net> Message-ID: <53483FF5.6040908@msapiro.net> On 04/11/2014 05:25 AM, Mark Sapiro wrote: > > Tentatively rescheduled to 17:00 EDT (21:00 GMT) on Friday, 11 Apr in room 525. > > I will attempt to post realtime summaries on #mailman. Due to various scheduling issues, this will be rescheduled for Saturday evening (Montreal time). Details to follow. Please email me if you're thinking of attending. So far I know it's me, Florian Fuchs, and Barry Warsaw, but we need DMARC folks too. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From p at sys4.de Fri Apr 11 21:20:22 2014 From: p at sys4.de (Patrick Ben Koetter) Date: Fri, 11 Apr 2014 21:20:22 +0200 Subject: [Mailman-Developers] [Dmarclist] DMARC and Mail Lists open space at Pycon In-Reply-To: <53483FF5.6040908@msapiro.net> References: <534737BB.9090902@msapiro.net> <5347D04D.2010706@msapiro.net> <53483FF5.6040908@msapiro.net> Message-ID: <20140411192022.GB22373@sys4.de> * Mark Sapiro via Dmarclist : > On 04/11/2014 05:25 AM, Mark Sapiro wrote: > > > > Tentatively rescheduled to 17:00 EDT (21:00 GMT) on Friday, 11 Apr in room 525. > > > > I will attempt to post realtime summaries on #mailman. > > > Due to various scheduling issues, this will be rescheduled for Saturday > evening (Montreal time). Details to follow. > > Please email me if you're thinking of attending. So far I know it's me, > Florian Fuchs, and Barry Warsaw, but we need DMARC folks too. Florian has Skype on his Laptop. I've asked him and we could have remote audio - sort of. p at rick -- [*] sys4 AG https://sys4.de, +49 (89) 30 90 46 64 Franziskanerstra?e 15, 81669 M?nchen Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263 Vorstand: Patrick Ben Koetter, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein From mark at msapiro.net Sat Apr 12 18:01:27 2014 From: mark at msapiro.net (Mark Sapiro) Date: Sat, 12 Apr 2014 12:01:27 -0400 Subject: [Mailman-Developers] DMARC and Mail Lists open space at Pycon In-Reply-To: <53483FF5.6040908@msapiro.net> References: <534737BB.9090902@msapiro.net> <5347D04D.2010706@msapiro.net> <53483FF5.6040908@msapiro.net> Message-ID: <08575ddd-3c13-4700-b0d0-afbc866956ae@email.android.com> On April 11, 2014 3:18:13 PM EDT, Mark Sapiro wrote: >On 04/11/2014 05:25 AM, Mark Sapiro wrote: >> >> Tentatively rescheduled to 17:00 EDT (21:00 GMT) on Friday, 11 Apr in >room 525. >> >> I will attempt to post realtime summaries on #mailman. > > >Due to various scheduling issues, this will be rescheduled for Saturday >evening (Montreal time). Details to follow. > >Please email me if you're thinking of attending. So far I know it's me, >Florian Fuchs, and Barry Warsaw, but we need DMARC folks too. We are currently scheduled for 19:00 EDT (23:00 GMT), today, 12 Apr in room 525. It looks like it may just be Barry, Florian and me making dinner plans, but if you're interested and here please come. -- Mark Sapiro Sent from my Android phone with K-9 Mail. [Unpaid endorsement] From p at sys4.de Sat Apr 12 22:06:22 2014 From: p at sys4.de (Patrick Ben Koetter) Date: Sat, 12 Apr 2014 22:06:22 +0200 Subject: [Mailman-Developers] DMARC and Mail Lists open space at Pycon In-Reply-To: <08575ddd-3c13-4700-b0d0-afbc866956ae@email.android.com> References: <534737BB.9090902@msapiro.net> <5347D04D.2010706@msapiro.net> <53483FF5.6040908@msapiro.net> <08575ddd-3c13-4700-b0d0-afbc866956ae@email.android.com> Message-ID: <20140412200622.GA16033@sys4.de> * Mark Sapiro : > On April 11, 2014 3:18:13 PM EDT, Mark Sapiro wrote: > >On 04/11/2014 05:25 AM, Mark Sapiro wrote: > >> > >> Tentatively rescheduled to 17:00 EDT (21:00 GMT) on Friday, 11 Apr in > >room 525. > >> > >> I will attempt to post realtime summaries on #mailman. > > > > > >Due to various scheduling issues, this will be rescheduled for Saturday > >evening (Montreal time). Details to follow. > > > >Please email me if you're thinking of attending. So far I know it's me, > >Florian Fuchs, and Barry Warsaw, but we need DMARC folks too. > > We are currently scheduled for 19:00 EDT (23:00 GMT), today, 12 Apr in room 525. > > It looks like it may just be Barry, Florian and me making dinner plans, but if you're interested and here please come. Yikes! That's 1:00 a.m. my time. Can't guarantee I will still be up then. p at rick -- [*] sys4 AG https://sys4.de, +49 (89) 30 90 46 64 Franziskanerstra?e 15, 81669 M?nchen Sitz der Gesellschaft: M?nchen, Amtsgericht M?nchen: HRB 199263 Vorstand: Patrick Ben Koetter, Marc Schiffbauer Aufsichtsratsvorsitzender: Florian Kirstein From jimpop at gmail.com Mon Apr 14 04:51:20 2014 From: jimpop at gmail.com (Jim Popovitch) Date: Sun, 13 Apr 2014 22:51:20 -0400 Subject: [Mailman-Developers] [Mailman-Users] Best solution to fix the yahoo problem? In-Reply-To: <20140413221224.0cf82e16@anarchist.localdomain> References: <534AF7D1.9060704@psfc.mit.edu> <534B029F.3080903@msapiro.net> <87d2gkhdlw.fsf@uwakimon.sk.tsukuba.ac.jp> <20140413221224.0cf82e16@anarchist.localdomain> Message-ID: ..... continued from the mailman-users list... On Sun, Apr 13, 2014 at 10:12 PM, Barry Warsaw wrote: > On Apr 14, 2014, at 11:03 AM, Stephen J. Turnbull wrote: > >>Given that the whole site is at risk, should it be an option for list >>owners at all? > > This is a good point. It may make sense for the site admin to select whether > some general DMARC mitigation approach is enabled for their lists or not, and > then allow the list admins to select the approach that is least unpalatable > for their users. > Thinking on the above wrt the dmarc-reject patch I submitted... It seems to me that a site-wide decision can either be to allow per-list dmarc policy config, or not. Unless I'm mistaken, I don't see a need for a site owner to define a partial site policy (i.e. allow a list to Accept but not Discard, etc) for email from domains with a published dmarc p=reject policy. The site admin either lets the list admin(s) decide Accept/Hold/Reject/Discard or the site admin decides for them. If this is the case, when a site admin defines a side-wide dmarc policy, what should happen to the Privacy Options -> Sender Filters -> dmarc_moderation_* options (textbox + radio buttons)? Should they disappear from the GUI or greyout? Thanks, -Jim P> From terri at toybox.ca Mon Apr 14 15:42:00 2014 From: terri at toybox.ca (Terri Oda) Date: Mon, 14 Apr 2014 09:42:00 -0400 Subject: [Mailman-Developers] PyCon Sprints have started! Message-ID: <534BE5A8.7020909@toybox.ca> Just a quick reminder: we're sprinting at PyCon right now through Thursday, so if you've been hoping to get in touch with one of the Mailman core devs, now's a great time to find us! We'll be sprinting approximately 9-5ish Montr?al time (Eastern Daylight Time) the next few days. If you're in the Montr?al area, feel free to join us in person. We're currently in room 524a of the Palais des Congr?s de Montr?al, and sprints are free (even if you weren't signed up for Pycon) so you can just show up. And if you're not in Montr?al, there's always IRC! Terri From mark at msapiro.net Thu Apr 17 20:32:15 2014 From: mark at msapiro.net (Mark Sapiro) Date: Thu, 17 Apr 2014 11:32:15 -0700 Subject: [Mailman-Developers] Mailman 2.1.18 release Message-ID: <53501E2F.1040409@msapiro.net> I am pleased to announce the first release candidate for Mailman 2.1.18. Python 2.4 is the minimum supported, but Python 2.7 is recommended. This release has new features to help with mitigation of the impacts of DMARC on mailing lists. There is also a new dependency associated with these features. Namely, the new Privacy options -> Sender filters -> dmarc_moderation_action feature requires that the dnspython package be available in Python. There are also bug fixes. See the attached README for more details. Mailman is free software for managing email mailing lists and e-newsletters. Mailman is used for all the python.org and SourceForge.net mailing lists, as well as at hundreds of other sites. For more information, please see: http://www.list.org http://www.gnu.org/software/mailman http://mailman.sourceforge.net/ Mailman 2.1.18rc1 can be downloaded from https://launchpad.net/mailman/2.1/ http://ftp.gnu.org/gnu/mailman/ https://sourceforge.net/projects/mailman/ -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan -------------- next part -------------- 2.1.18rc1 (18-Apr-2014) Dependencies - There is a new dependency associated with the new Privacy options -> Sender filters -> dmarc_moderation_action feature discussed below. This requires that the dnspython package be available in Python. New Features - The from_is_list feature introduced in 2.1.16 is now unconditionally available to list owners. There is also, a new Privacy options -> Sender filters -> dmarc_moderation_action feature which applies to list messages where the From: address is in a domain which publishes a DMARC policy of reject or possibly quarantine. This is a list setting with values of Accept, Wrap Message, Munge From, Reject or Discard. There is a new DEFAULT_DMARC_MODERATION_ACTION configuration setting to set the default for this, and the list admin UI is not able to set an action which is 'less' than the default. The prior ALLOW_FROM_IS_LIST setting has been removed and is effectively always Yes. There is a new DMARC_QUARANTINE_MODERATION_ACTION configuration setting which defaults to Yes but can be set to No to exclude domains with DMARC policy of quarantine from dmarc_moderation_action. dmarc_moderation_action and from_is_list interact in the following way. If the message is From: a domain to which dmarc_moderation_action applies and if dmarc_moderation_action is other than Accept, dmarc_moderation_action applies to that message. Otherwise the from_is_list action applies. i18n - Added missing tag to French listinfo template. (LP: #1275964) Bug Fixes and other patches - Fixed a long standing issue in which a notice sent to a user whose language is other than that of the list can cause subsequent things which should be in the list's language to be in the user's language instead. (LP: #1308655) - Fixed the admin Membership List so a search string if any is not lost when visiting subsequent fragments of a chunked list. (LP: #1307454) - For from_is_list feature, use email address from original From: if original From: has no display name and strip domain part from resultant names that look like email addresses. (LP: #1304511) - Added the list name to the vette log "held message approved" entry. (LP: 1295875) - Added the CGI module name to various "No such list" error log entries. (LP: 1295875) - Modified contrib/mmdsr to report module name if present in "No such list error log entries. - Fixed a NameError exception in cron/nightly_gzip when it tries to print the usage message. (LP: #1291038) - Fixed a bug in ListAdmin._handlepost that would crash when trying to preserve a held message for the site admin if HOLD_MESSAGES_AS_PICKLES is False. (LP: #1282365) - The from_is_list header munging feature introduced in Mailman 2.1.16 is no longer erroneously applied to Mailman generated notices. (LP: #1279667) - Changed the message from the confirm CGI to not indicate approval is required for an acceptance of an invitation. (LP: #1277744) - Fixed POSTFIX_STYLE_VIRTUAL_DOMAINS to be case-insensitiive. (LP: #1267003) - Added recognition for another simple warning to bounce processing. (LP: #1263247) - Fixed a few failing tests in tests/test_handlers.py. (LP: #1262950) - Fixed bin/arch to not create scrubbed attachments for messages skipped when processing the --start= option. (LP: #1260883) - Fixed email address validation to do a bit better in obscure cases. (LP: #1258703) - Fixed a bug which caused some authentication cookies to expire too soon if AUTHENTICATION_COOKIE_LIFETIME is non-zero. (LP: #1257112) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: OpenPGP digital signature URL: From mark at msapiro.net Thu Apr 17 20:48:37 2014 From: mark at msapiro.net (Mark Sapiro) Date: Thu, 17 Apr 2014 11:48:37 -0700 Subject: [Mailman-Developers] Mailman 2.1.18 release In-Reply-To: <53501E2F.1040409@msapiro.net> References: <53501E2F.1040409@msapiro.net> Message-ID: <53502205.1080606@msapiro.net> On 04/17/2014 11:32 AM, Mark Sapiro wrote: > I am pleased to announce the first release candidate for Mailman 2.1.18. I neglected to emphasize that there are some new and some modified i18n strings in this release. I strongly encourage all interested people to look at these and submit translation updates, preferably as launchpad merge proposals but directly to me is OK, before 1 May 2014 to get them in the final release. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: OpenPGP digital signature URL: From sylvain at opensource-expert.com Fri Apr 18 18:48:37 2014 From: sylvain at opensource-expert.com (Sylvain Viart) Date: Fri, 18 Apr 2014 18:48:37 +0200 Subject: [Mailman-Developers] [Mailman-Users] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <534E8D43.9050803@msapiro.net> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> Message-ID: <53515765.3010604@opensource-expert.com> Coding question. A bit of context: Goal is to develop a custom handler to perform: * detach all attachments * post detached content somewhere available on http * modify the content of the original email, keeping original html, adding an html link to the moved document * adding a small clip image as an attachment symbol as an embed object Le 16/04/2014 16:01, Mark Sapiro a ?crit : > to create new > sub-parts and use the Message.attach() method to attach them. How can I replace the part which contain the html part, by a new one which will become : >> Content-Type: multipart/related >>>>Content-Type: text/html; >>>> Content-Type: image/png; name="clip-24.png" The text/html is the old one. Adding a part is ok, but replacing it with a new one which embed the previous one? I dont see. part of the code I've produced: if msg.is_multipart(): syslog('debug', 'multipart message rewriting') related = None for part in msg.walk(): ctype = part.get_content_type() if ctype == 'text/plain' and not part['X-Mailman-Part']: new_footer = txt_attacht_replace + footer_attach part.set_payload(part.get_payload() + new_footer) continue elif ctype == 'text/html': related = MIMEMultipart('related') clip = MIMEText(attach_clip) clip.add_header('Content-Disposition', 'inline') clip.add_header('Content-ID', '' % 123412) clip['Content-Transfer-Encoding'] = 'base64' del clip['Content-type'] del clip['Content-transfer-encoding'] clip['Content-type'] = 'image/png; name="attachment-24.png"' clip['Content-transfer-encoding'] = 'base64' html_footer = html_attachment_holder % {'html_attachment_clip_tpl': html_footer_attach} html_footer += '' old_content = part.get_payload() new_content = re.sub(r'', html_footer, old_content) part.set_payload(new_content) related.attach(part) related.attach(clip) # WRONG del part msg.attach(related) continue From mark at msapiro.net Fri Apr 18 22:30:51 2014 From: mark at msapiro.net (Mark Sapiro) Date: Fri, 18 Apr 2014 13:30:51 -0700 Subject: [Mailman-Developers] [Mailman-Users] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <53515765.3010604@opensource-expert.com> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> Message-ID: <53518B7B.2090702@msapiro.net> On 04/18/2014 09:48 AM, Sylvain Viart wrote: > Coding question. > > A bit of context: > > Goal is to develop a custom handler to perform: > > * detach all attachments > * post detached content somewhere available on http > * modify the content of the original email, keeping original html, > adding an html link to the moved document > * adding a small clip image as an attachment symbol as an embed object > > > Le 16/04/2014 16:01, Mark Sapiro a ?crit : >> to create new >> sub-parts and use the Message.attach() method to attach them. > > > How can I replace the part which contain the html part, by a new one > which will become : > > >>> Content-Type: multipart/related >>>>>Content-Type: text/html; >>>>> Content-Type: image/png; name="clip-24.png" > > The text/html is the old one. > > Adding a part is ok, but replacing it with a new one which embed the > previous one? I dont see. > > part of the code I've produced: > > if msg.is_multipart(): > syslog('debug', 'multipart message rewriting') > related = None > > for part in msg.walk(): > ctype = part.get_content_type() > if ctype == 'text/plain' and not part['X-Mailman-Part']: > new_footer = txt_attacht_replace + footer_attach > part.set_payload(part.get_payload() + new_footer) > continue > > elif ctype == 'text/html': > related = MIMEMultipart('related') This stuff ---------------- > clip = MIMEText(attach_clip) > clip.add_header('Content-Disposition', 'inline') > clip.add_header('Content-ID', '' % 123412) > clip['Content-Transfer-Encoding'] = 'base64' > del clip['Content-type'] > del clip['Content-transfer-encoding'] > clip['Content-type'] = 'image/png; > name="attachment-24.png"' > clip['Content-transfer-encoding'] = 'base64' should be --------------- clip = MIMEImage(xxx, 'png') where xxx is the actual png data, e.g. xxx = open('some_file.png').read() > html_footer = html_attachment_holder % > {'html_attachment_clip_tpl': html_footer_attach} > html_footer += '' > old_content = part.get_payload() > new_content = re.sub(r'', html_footer, old_content) > part.set_payload(new_content) > > related.attach(part) > related.attach(clip) Now related is the part you want. all that remains is to replace the original part with related > > # WRONG > del part > msg.attach(related) Correct. That's wrong. You need to do this differently. You need to walk the message, but with your own code rather than msg.walk so you can build your new message as you go. You need some variant of from email.mime.multipart import MIMEMultipart from email.mime.image import MIMEImage def fix_msg(msg): if msg.is_multipart(): parts = msg.get_payload() # remove the next level parts, then process and reattach them msg.set_payload(None) for p in parts: msg.attach(fix_msg(p)) return msg else: # process the 'leaf' parts ctype = msg.get_content_type() if ctype == 'text/plain' and not part['X-Mailman-Part']: # add footer to plain text new_footer = txt_attacht_replace + footer_attach msg.set_payload(part.get_payload() + new_footer) return msg elif ctype == 'text/html': # build multipart/related for HTML related = MIMEMultipart('related') clip = MIMEImage(xxx, 'png') html_footer = html_attachment_holder % {'html_attachment_clip_tpl': html_footer_attach} html_footer += '' old_content = msg.get_payload() new_content = re.sub(r'', html_footer, old_content) msg.set_payload(new_content) related.attach(msg) related.attach(clip) return related def process(mlist, msg, msgdata) ... msg = fix_msg(msg) ... -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From sylvain at opensource-expert.com Sat Apr 19 08:57:35 2014 From: sylvain at opensource-expert.com (Sylvain Viart) Date: Sat, 19 Apr 2014 08:57:35 +0200 Subject: [Mailman-Developers] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <53518B7B.2090702@msapiro.net> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> <53518B7B.2090702@msapiro.net> Message-ID: <53521E5F.1010300@opensource-expert.com> Hi, Thanks Mark, exactly what I need to replace with the multipart/related in python! Le 18/04/2014 22:30, Mark Sapiro a ?crit : > This stuff ---------------- >> clip = MIMEText(attach_clip) >> clip.add_header('Content-Disposition', 'inline') >> clip.add_header('Content-ID', '' % 123412) >> clip['Content-Transfer-Encoding'] = 'base64' >> del clip['Content-type'] >> del clip['Content-transfer-encoding'] >> clip['Content-type'] = 'image/png; >> name="attachment-24.png"' >> clip['Content-transfer-encoding'] = 'base64' > should be --------------- > > clip = MIMEImage(xxx, 'png') Yeah, I know. But I've embedded the base64 txt data of the clip image in the handler.py's code. So I don't need to manage an external file for the clip. Could MIMEImage handle internal data as well? It seems extra effort, to mime64 decode and let MIMEImage reencode it, right? Oh, great! That exactly the following code I was fighting with. I've seen some code like that in Handlers/MimeDel.py, thanks a lot. I wasn't able to adapt this recursive behavior. > def fix_msg(msg): > if msg.is_multipart(): > parts = msg.get_payload() > # remove the next level parts, then process and reattach them > msg.set_payload(None) > for p in parts: > msg.attach(fix_msg(p)) > return msg > else: > # process the 'leaf' parts [truncated ?] > ctype = msg.get_content_type() > if ctype == 'text/plain' and not part['X-Mailman-Part']: > return msg > elif ctype == 'text/html': > return related > From mark at msapiro.net Sat Apr 19 20:24:59 2014 From: mark at msapiro.net (Mark Sapiro) Date: Sat, 19 Apr 2014 11:24:59 -0700 Subject: [Mailman-Developers] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <53521E5F.1010300@opensource-expert.com> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> <53518B7B.2090702@msapiro.net> <53521E5F.1010300@opensource-expert.com> Message-ID: <5352BF7B.4080508@msapiro.net> On 04/18/2014 11:57 PM, Sylvain Viart wrote: > > Le 18/04/2014 22:30, Mark Sapiro a ?crit : >> should be --------------- >> >> clip = MIMEImage(xxx, 'png') > > Yeah, I know. But I've embedded the base64 txt data of the clip image in > the handler.py's code. > So I don't need to manage an external file for the clip. Could MIMEImage > handle internal data as well? > > It seems extra effort, to mime64 decode and let MIMEImage reencode it, > right? You don't have to do that. If xxx is the base64 encoded image data, all you need is clip = MIMEImage(xxx, 'png', _encoder=email.encoders.encode_noop) clip['Content-Transfer-Encoding'] = 'base64' -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From mark at msapiro.net Sun Apr 20 06:13:00 2014 From: mark at msapiro.net (Mark Sapiro) Date: Sat, 19 Apr 2014 21:13:00 -0700 Subject: [Mailman-Developers] Mailman 2.1.18 release In-Reply-To: <53501E2F.1040409@msapiro.net> References: <53501E2F.1040409@msapiro.net> Message-ID: <5353494C.5070609@msapiro.net> On 04/17/2014 11:32 AM, Mark Sapiro wrote: > I am pleased to announce the first release candidate for Mailman 2.1.18. > > Python 2.4 is the minimum supported, but Python 2.7 is recommended. It turns out that Mailman 2.1.18rc1 required Python 2.5 or later. The problem code has been modified and I have released Mailman 2.1.18rc2. Fixing this issue is the only change. If you are trying to run Mailman 2.1.18 with Python 2.4.x, you need to use 2.1.18rc2 or later. If you are running with Python 2.5 or later, either version is OK. Please submit any i18n updates before May 1 to get them in the final release. This release has new features to help with mitigation of the impacts of DMARC on mailing lists. There is also a new dependency associated with these features. Namely, the new Privacy options -> Sender filters -> dmarc_moderation_action feature requires that the dnspython package be available in Python. There are also bug fixes. See the attached README for more details. Mailman is free software for managing email mailing lists and e-newsletters. Mailman is used for all the python.org and SourceForge.net mailing lists, as well as at hundreds of other sites. For more information, please see: http://www.list.org http://www.gnu.org/software/mailman http://mailman.sourceforge.net/ Mailman 2.1.18rc2 can be downloaded from https://launchpad.net/mailman/2.1/ http://ftp.gnu.org/gnu/mailman/ https://sourceforge.net/projects/mailman/ -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan -------------- next part -------------- 2.1.18rc2 (19-Apr-2014) - The new Utils.IsDMARCProhibited() used collections.defaultdict which requires Python 2.5. Changed to use a dict and setdefault. 2.1.18rc1 (18-Apr-2014) Dependencies - There is a new dependency associated with the new Privacy options -> Sender filters -> dmarc_moderation_action feature discussed below. This requires that the dnspython package be available in Python. New Features - The from_is_list feature introduced in 2.1.16 is now unconditionally available to list owners. There is also, a new Privacy options -> Sender filters -> dmarc_moderation_action feature which applies to list messages where the From: address is in a domain which publishes a DMARC policy of reject or possibly quarantine. This is a list setting with values of Accept, Wrap Message, Munge From, Reject or Discard. There is a new DEFAULT_DMARC_MODERATION_ACTION configuration setting to set the default for this, and the list admin UI is not able to set an action which is 'less' than the default. The prior ALLOW_FROM_IS_LIST setting has been removed and is effectively always Yes. There is a new DMARC_QUARANTINE_MODERATION_ACTION configuration setting which defaults to Yes but can be set to No to exclude domains with DMARC policy of quarantine from dmarc_moderation_action. dmarc_moderation_action and from_is_list interact in the following way. If the message is From: a domain to which dmarc_moderation_action applies and if dmarc_moderation_action is other than Accept, dmarc_moderation_action applies to that message. Otherwise the from_is_list action applies. i18n - Added missing tag to French listinfo template. (LP: #1275964) Bug Fixes and other patches - Fixed a long standing issue in which a notice sent to a user whose language is other than that of the list can cause subsequent things which should be in the list's language to be in the user's language instead. (LP: #1308655) - Fixed the admin Membership List so a search string if any is not lost when visiting subsequent fragments of a chunked list. (LP: #1307454) - For from_is_list feature, use email address from original From: if original From: has no display name and strip domain part from resultant names that look like email addresses. (LP: #1304511) - Added the list name to the vette log "held message approved" entry. (LP: 1295875) - Added the CGI module name to various "No such list" error log entries. (LP: 1295875) - Modified contrib/mmdsr to report module name if present in "No such list error log entries. - Fixed a NameError exception in cron/nightly_gzip when it tries to print the usage message. (LP: #1291038) - Fixed a bug in ListAdmin._handlepost that would crash when trying to preserve a held message for the site admin if HOLD_MESSAGES_AS_PICKLES is False. (LP: #1282365) - The from_is_list header munging feature introduced in Mailman 2.1.16 is no longer erroneously applied to Mailman generated notices. (LP: #1279667) - Changed the message from the confirm CGI to not indicate approval is required for an acceptance of an invitation. (LP: #1277744) - Fixed POSTFIX_STYLE_VIRTUAL_DOMAINS to be case-insensitiive. (LP: #1267003) - Added recognition for another simple warning to bounce processing. (LP: #1263247) - Fixed a few failing tests in tests/test_handlers.py. (LP: #1262950) - Fixed bin/arch to not create scrubbed attachments for messages skipped when processing the --start= option. (LP: #1260883) - Fixed email address validation to do a bit better in obscure cases. (LP: #1258703) - Fixed a bug which caused some authentication cookies to expire too soon if AUTHENTICATION_COOKIE_LIFETIME is non-zero. (LP: #1257112) - Fixed a possible TypeError in bin/sync_members introduced in 2.1.17. (LP: #1243343) Miscellaneous - Added to the contrib directory, a script from Alain Williams to count posts in a list's archive. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: OpenPGP digital signature URL: From rajeevs1992 at gmail.com Tue Apr 22 12:17:56 2014 From: rajeevs1992 at gmail.com (Rajeev S) Date: Tue, 22 Apr 2014 15:47:56 +0530 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: References: Message-ID: Hi, My proposal has been successfully accepted into the GSoC 2014 program.I would like to thank the Mailman community and mentors for their extensive support during my application process,especially Mr. Stephen Turnbull. Also I have a few questions as part of the community bonding process. 1.Is the project to be developed as an independent project or as a part/branch of the Mailman Core repository 2.If it is an Independent project, Is it OK to use the git+gitorious/savannah or should I stick to bzr+launchpad? I have used git extensively,naturally more comfortable with git.However, I can pick up bzr if necessary. 3.Is it necessary for me to hangout in the IRC?If yes, when? 4.Can I start coding right away? Thank you once again! *Regards,Rajeev S* *Government Engineering College,Thrissur* *http://rajeevs.tk * On Thu, Mar 20, 2014 at 6:50 PM, Rajeev S wrote: > Hi, > > Made a minor edit upon Meflin's comment, asking to change project title. > > http://myfossblog.blogspot.in/2014/03/yet-another-change.html > > > *Regards,Rajeev S* > *Government Engineering College,Thrissur* > *http://rajeevs.tk * > > > On Fri, Mar 14, 2014 at 3:50 PM, Rajeev S wrote: > >> Hi, >> >> I have submitted a proposal for the Mailman CLI project through >> melange.You can find it here >> >> >> https://www.google-melange.com/gsoc/proposal/review/student/google/gsoc2014/rajeevs1992/5629499534213120 >> >> (Organisation view only) >> >> I have gone through the suggestions by Stephen as comments to the >> proposal and revised the proposal accordingly. >> >> http://myfossblog.blogspot.in/2014/03/gsoc-proposal-to-gnu-mailman.html >> >> >> >> *Regards,Rajeev S* >> *Government Engineering College,Thrissur* >> *http://rajeevs.tk * >> > > From sylvain at opensource-expert.com Tue Apr 22 12:46:19 2014 From: sylvain at opensource-expert.com (Sylvain Viart) Date: Tue, 22 Apr 2014 12:46:19 +0200 Subject: [Mailman-Developers] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <5352BF7B.4080508@msapiro.net> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> <53518B7B.2090702@msapiro.net> <53521E5F.1010300@opensource-expert.com> <5352BF7B.4080508@msapiro.net> Message-ID: <5356487B.90209@opensource-expert.com> Hi, Seems working? Great. Le 19/04/2014 20:24, Mark Sapiro a ?crit : > You don't have to do that. If xxx is the base64 encoded image data, all > you need is > > clip = MIMEImage(xxx, 'png', _encoder=email.encoders.encode_noop) > clip['Content-Transfer-Encoding'] = 'base64' Cool! The working code I produced is: from email.mime.image import MIMEImage from email import encoders #[?] clip = MIMEImage(ATTACH_CLIP, 'png', _encoder=encoders.encode_noop) clip['Content-Transfer-Encoding'] = 'base64' clip.add_header('Content-ID', '' % clip_cid) Thank you. :-) List configuration question. I need to pass some configuration plugin to this handler. Like remote ftp parameters. I've seen code like this: if mlist.convert_html_to_plaintext and mm_cfg.HTML_TO_PLAIN_TEXT_COMMAND: I suppose that I configure it that way: /etc/mailman/mm_cfg.py HTML_TO_PLAIN_TEXT_COMMAND = 'path/to/converter' and in my extend() mlist.convert_html_to_plaintext = 1 is in /var/lib/mailman/lists/mytestlist/extend.py [debian base path] I took it here http://wiki.list.org/pages/viewpage.action?pageId=4030615. I used extend.py to install my custom handler that way: import copy from Mailman import mm_cfg def extend(mlist): mlist.pipeline = copy.copy(mm_cfg.GLOBAL_PIPELINE) # The next line inserts MyHandler ahead of Moderate. mlist.pipeline.insert(mlist.pipeline.index('Moderate'), 'MyHandler') Also, it's indicated that there's a kind of caching involved with the Handler's code?: > Note however, that the first time Mailman saves the list, the pipeline > attribute will be saved along with it, so simply removing extend.py > from lists/test-list/ won't remove the special pipeline. I do perform a mailman restart to load new handler's code: /etc/init.d/mailman restart Is there some documentation about list configuration override order? I found a topic giving some information for personalizing the list: 4.48 How can I change the HTML (or .txt) templates used by my mailing lists? http://wiki.list.org/pages/viewpage.action?pageId=4030605 Regards, Sylvain. From raj.abhilash1 at gmail.com Tue Apr 22 16:12:23 2014 From: raj.abhilash1 at gmail.com (Abhilash Raj) Date: Tue, 22 Apr 2014 19:42:23 +0530 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: References: Message-ID: Hi Rajeev, Congratulations! We look forward to a great summer with you. On Tue, Apr 22, 2014 at 3:47 PM, Rajeev S wrote: > Hi, > > My proposal has been successfully accepted into the GSoC 2014 program.I > would like to thank the Mailman community and mentors for their extensive > support during my application process,especially Mr. Stephen Turnbull. > > Also I have a few questions as part of the community bonding process. > > 1.Is the project to be developed as an independent project or as a > part/branch of the Mailman Core repository > That is supposed to be an implementation detail of your proposal. What do you think would be the best? > 2.If it is an Independent project, Is it OK to use the > git+gitorious/savannah or should I stick to bzr+launchpad? I have used git > extensively,naturally more comfortable with git.However, I can pick up bzr > if necessary. > Even if it is an independent project we strongly encourage you to use bzr, as integration and code review might become a problem in later stages of your project( I am speaking from personal experience). Learning bzr and launchpad is not at all difficult if you know git. > 3.Is it necessary for me to hangout in the IRC?If yes, when? > It is not *necessary* for you to hangout on IRC. You just need to keep your mentors updated about what are you doing all the time. If you prefer email, I don't think that would be a problem. Your only responsibility is to deliver the project you proposed on time. 4.Can I start coding right away? > You can, but first be sure you know what you want to code. Your proposal does have a detailed description on working of the tool, however there is little mention about the details of implementation and design. It would be best if you first consult with your mentors and decide on something so that you don't waste time writing code that is not needed. > > Thank you once again! > > > *Regards,Rajeev S* > *Government Engineering College,Thrissur* > *http://rajeevs.tk * > > > On Thu, Mar 20, 2014 at 6:50 PM, Rajeev S wrote: > > > Hi, > > > > Made a minor edit upon Meflin's comment, asking to change project title. > > > > http://myfossblog.blogspot.in/2014/03/yet-another-change.html > > > > > > *Regards,Rajeev S* > > *Government Engineering College,Thrissur* > > *http://rajeevs.tk * > > > > > > On Fri, Mar 14, 2014 at 3:50 PM, Rajeev S wrote: > > > >> Hi, > >> > >> I have submitted a proposal for the Mailman CLI project through > >> melange.You can find it here > >> > >> > >> > https://www.google-melange.com/gsoc/proposal/review/student/google/gsoc2014/rajeevs1992/5629499534213120 > >> > >> (Organisation view only) > >> > >> I have gone through the suggestions by Stephen as comments to the > >> proposal and revised the proposal accordingly. > >> > >> http://myfossblog.blogspot.in/2014/03/gsoc-proposal-to-gnu-mailman.html > >> > >> > >> > >> *Regards,Rajeev S* > >> *Government Engineering College,Thrissur* > >> *http://rajeevs.tk * > >> > > > > > _______________________________________________ > Mailman-Developers mailing list > Mailman-Developers at python.org > https://mail.python.org/mailman/listinfo/mailman-developers > Mailman FAQ: http://wiki.list.org/x/AgA3 > Searchable Archives: > http://www.mail-archive.com/mailman-developers%40python.org/ > Unsubscribe: > https://mail.python.org/mailman/options/mailman-developers/raj.abhilash1%40gmail.com > > Security Policy: http://wiki.list.org/x/QIA9 > -- Abhilash Raj From rajeevs1992 at gmail.com Tue Apr 22 16:58:21 2014 From: rajeevs1992 at gmail.com (Rajeev S) Date: Tue, 22 Apr 2014 20:28:21 +0530 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: References: Message-ID: Hi Abhilash, Thank you for the reply. I will post a write up describing the implementation details of the project.All other issues stand resolved.I will be using bzr+launchpad,and I prefer mail to IRC. *Regards,Rajeev S* *Government Engineering College,Thrissur* *http://rajeevs.tk * On Tue, Apr 22, 2014 at 7:42 PM, Abhilash Raj wrote: > Hi Rajeev, > > Congratulations! We look forward to a great summer with you. > > On Tue, Apr 22, 2014 at 3:47 PM, Rajeev S wrote: > >> Hi, >> >> My proposal has been successfully accepted into the GSoC 2014 program.I >> would like to thank the Mailman community and mentors for their extensive >> support during my application process,especially Mr. Stephen Turnbull. >> >> Also I have a few questions as part of the community bonding process. >> >> 1.Is the project to be developed as an independent project or as a >> part/branch of the Mailman Core repository >> > > That is supposed to be an implementation detail of your proposal. What do > you > think would be the best? > > >> 2.If it is an Independent project, Is it OK to use the >> git+gitorious/savannah or should I stick to bzr+launchpad? I have used git >> extensively,naturally more comfortable with git.However, I can pick up bzr >> if necessary. >> > > Even if it is an independent project we strongly encourage you to use bzr, > as > integration and code review might become a problem in later stages of your > project( I am speaking from personal experience). Learning bzr and > launchpad > is not at all difficult if you know git. > > >> 3.Is it necessary for me to hangout in the IRC?If yes, when? >> > > It is not *necessary* for you to hangout on IRC. You just need to keep > your mentors updated about what are you doing all the time. If you prefer > email, I don't think that would be a problem. Your only responsibility > is to deliver the project you proposed on time. > > 4.Can I start coding right away? >> > > You can, but first be sure you know what you want to code. Your proposal > does have a detailed description on working of the tool, however there is > little mention about the details of implementation and design. It would > be best if you first consult with your mentors and decide on something so > that you don't waste time writing code that is not needed. > >> >> Thank you once again! >> >> >> *Regards,Rajeev S* >> *Government Engineering College,Thrissur* >> *http://rajeevs.tk * >> >> >> On Thu, Mar 20, 2014 at 6:50 PM, Rajeev S wrote: >> >> > Hi, >> > >> > Made a minor edit upon Meflin's comment, asking to change project title. >> > >> > http://myfossblog.blogspot.in/2014/03/yet-another-change.html >> > >> > >> > *Regards,Rajeev S* >> > *Government Engineering College,Thrissur* >> > *http://rajeevs.tk * >> >> > >> > >> > On Fri, Mar 14, 2014 at 3:50 PM, Rajeev S >> wrote: >> > >> >> Hi, >> >> >> >> I have submitted a proposal for the Mailman CLI project through >> >> melange.You can find it here >> >> >> >> >> >> >> https://www.google-melange.com/gsoc/proposal/review/student/google/gsoc2014/rajeevs1992/5629499534213120 >> >> >> >> (Organisation view only) >> >> >> >> I have gone through the suggestions by Stephen as comments to the >> >> proposal and revised the proposal accordingly. >> >> >> >> >> http://myfossblog.blogspot.in/2014/03/gsoc-proposal-to-gnu-mailman.html >> >> >> >> >> >> >> >> *Regards,Rajeev S* >> >> *Government Engineering College,Thrissur* >> >> *http://rajeevs.tk * >> >> >> > >> > >> _______________________________________________ >> Mailman-Developers mailing list >> Mailman-Developers at python.org >> https://mail.python.org/mailman/listinfo/mailman-developers >> Mailman FAQ: http://wiki.list.org/x/AgA3 >> Searchable Archives: >> http://www.mail-archive.com/mailman-developers%40python.org/ >> Unsubscribe: >> https://mail.python.org/mailman/options/mailman-developers/raj.abhilash1%40gmail.com >> >> Security Policy: http://wiki.list.org/x/QIA9 >> > > > > -- > Abhilash Raj > > From stephen at xemacs.org Tue Apr 22 17:31:25 2014 From: stephen at xemacs.org (Stephen J. Turnbull) Date: Wed, 23 Apr 2014 00:31:25 +0900 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: References: Message-ID: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> Just to follow up quickly (I've got problems I need to deal with elsewhere over the next couple days). Abhilash Raj writes: Hey, thanks for jumping in, maxking! > Hi Rajeev, > > Congratulations! We look forward to a great summer with you. Definitely! >> I would like to thank the Mailman community and mentors for >> their extensive > support during my application process, You're very welcome. >> Also I have a few questions as part of the community bonding >> process. >> >> 1.Is the project to be developed as an independent project or as a >> part/branch of the Mailman Core repository > > That is supposed to be an implementation detail of your > proposal. What do you think would be the best? I agree with Abhilash. You make a proposal, we'll criticize it (contructively; "criticism" is not necessarily negative, just as with literary critics we may give a positive review -- you should know when you're doing things right). >> 2.If it is an Independent project, Is it OK to use the > >> git+gitorious/savannah or should I stick to bzr+launchpad? I have >> used git extensively,naturally more comfortable with git. >> However, I can pick up bzr if necessary. > Even if it is an independent project we strongly encourage you to > use bzr, as integration and code review might become a problem in > later stages of your project( I am speaking from personal > experience). Learning bzr and launchpad is not at all difficult if > you know git. The CLI won't be *that* independent. It really needs to be on Launchpad. Note: It may be possible to use git-bzr to fetch and push from Launchpad. >> 3.Is it necessary for me to hangout in the IRC?If yes, when? > > It is not *necessary* for you to hangout on IRC. You just need to > keep your mentors updated about what are you doing all the time. If > you prefer email, I don't think that would be a problem. Your only > responsibility is to deliver the project you proposed on time. It's generally a good idea to have interaction (brainstorming) when working on design. I can generally be available on IRC from about 01:00 UTC to 15:00 UTC. As Abhilash knows :-) I can often be convinced to stay around until about 17:00 UTC. yaseppochi @ freenode >> 4.Can I start coding right away? > > You can, but first be sure you know what you want to code. Your > proposal does have a detailed description on working of the tool, > however there is little mention about the details of implementation > and design. It would be best if you first consult with your mentors > and decide on something so that you don't waste time writing code > that is not needed. Read Fred Brooks' /The Mythical Man-Month/, especially the essay "Build One to Throw Away". Then think about whether you really believe him. :-) Regards and looking forward to working with you! Steve From mark at msapiro.net Wed Apr 23 02:35:08 2014 From: mark at msapiro.net (Mark Sapiro) Date: Tue, 22 Apr 2014 17:35:08 -0700 Subject: [Mailman-Developers] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <5356487B.90209@opensource-expert.com> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> <53518B7B.2090702@msapiro.net> <53521E5F.1010300@opensource-expert.com> <5352BF7B.4080508@msapiro.net> <5356487B.90209@opensource-expert.com> Message-ID: <53570ABC.4000204@msapiro.net> On 04/22/2014 03:46 AM, Sylvain Viart wrote: > > List configuration question. > > I need to pass some configuration plugin to this handler. Like remote > ftp parameters. I've seen code like this: > > if mlist.convert_html_to_plaintext and > mm_cfg.HTML_TO_PLAIN_TEXT_COMMAND: > > > I suppose that I configure it that way: > > /etc/mailman/mm_cfg.py > HTML_TO_PLAIN_TEXT_COMMAND = 'path/to/converter' > > and in my extend() > > mlist.convert_html_to_plaintext = 1 > > is in /var/lib/mailman/lists/mytestlist/extend.py [debian base path] If you are doing this as a part of content filtering you just set the list's Content filtering -> convert_html_to_plaintext to Yes, but I suspect you are not. In that case, don't hijack content filtering settings for your own purpose. It won't work. If you are going to hard code some setting for your handler to use, just hard code it in the handler. > I took it here > http://wiki.list.org/pages/viewpage.action?pageId=4030615. I used > extend.py to install my custom handler that way: > > import copy > from Mailman import mm_cfg > def extend(mlist): > mlist.pipeline = copy.copy(mm_cfg.GLOBAL_PIPELINE) > # The next line inserts MyHandler ahead of Moderate. > mlist.pipeline.insert(mlist.pipeline.index('Moderate'), 'MyHandler') > > > Also, it's indicated that there's a kind of caching involved with the > Handler's code?: > >> Note however, that the first time Mailman saves the list, the pipeline >> attribute will be saved along with it, so simply removing extend.py >> from lists/test-list/ won't remove the special pipeline. It is not caching per se. Once you access the list once and save it, your modified pipeline is saved as a list attribute just like any other setting. Removing extend.py will not remove the pipeline attribute from the list. That is what the above is trying to tell you. > I do perform a mailman restart to load new handler's code: > > /etc/init.d/mailman restart Yes. That is correct. > Is there some documentation about list configuration override order? Not outside the source code. See the __init__ method of the MailList class in Mailman/MailList.py. The list's extend.py if any is executed before the list's configuration is loaded from disk. Thus any list attribute set in extend.py that also exists in the list's saved configuration will be overridden by the list config. > I found a topic giving some information for personalizing the list: > > 4.48 How can I change the HTML (or .txt) templates used by my mailing > lists? > http://wiki.list.org/pages/viewpage.action?pageId=4030605 Which only talks about search rules for the built in templates and has nothing to do with anything else. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From sylvain at opensource-expert.com Wed Apr 23 07:13:05 2014 From: sylvain at opensource-expert.com (Sylvain Viart) Date: Wed, 23 Apr 2014 07:13:05 +0200 Subject: [Mailman-Developers] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <53570ABC.4000204@msapiro.net> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> <53518B7B.2090702@msapiro.net> <53521E5F.1010300@opensource-expert.com> <5352BF7B.4080508@msapiro.net> <5356487B.90209@opensource-expert.com> <53570ABC.4000204@msapiro.net> Message-ID: <53574BE1.4020604@opensource-expert.com> Hi, Thanks for your helpful answer. :-) Sorry it seems I don't have explained my needs correctly: > On 04/22/2014 03:46 AM, Sylvain Viart wrote: > > List configuration question. > > I need to pass some configuration plugin to this handler. Like remote > ftp parameters. I'm looking for a way to handle my own list's parameter, and I quoted some /equivalent/ parameter. Just some chuck of code I would like to implement for my own handler. I need to set : mlist.ftp_remote_host = 'ftp.example.com' mlist.ftp_remote_login = 'somelogin' mlist.ftp_remote_pass = 'secretstuff' I can set site global vars in /etc/mailman/mm_cfg.py but how do I set local list parameter exactly? I wont code web interface to handle this, text file config will be great enough. > In that case, don't hijack content filtering settings for your own > purpose. It won't work. If you are going to hard code some setting for > your handler to use, just hard code it in the handler. Sorry about this quoting introducing a confusion. No hijack here. No hard code neither because if I want to open and share the code, I have to remove sensible information from it. Code can embed default information, but not the config. >> Is there some documentation about list configuration override order? > > Not outside the source code. See the __init__ method of the MailList > class in Mailman/MailList.py. The list's extend.py if any is executed > before the list's configuration is loaded from disk. Thus any list > attribute set in extend.py that also exists in the list's saved > configuration will be overridden by the list config. And where do I set list configuration? I'm not familiar enough with this code to /see/ where it comes from. Mailman/MailList.py [?] mailman 2.1.15 filename = os.path.join(self.fullpath(), 'extend.py') dict = {} try: execfile(filename, dict) except IOError, e: # Ignore missing files, but log other errors if e.errno == errno.ENOENT: pass else: syslog('error', 'IOError reading list extension: %s', e) else: func = dict.get('extend') if func: func(self) <============== run the extend() function found in mylists/extend.py if lock: # This will load the database. self.Lock() <============== do some more stuff possibly overwriting what was done in extend() else: self.Load() There should be something about bin/config_list I think. Web config seems detailed here: http://terri.zone12.com/doc/mailman/mailman-admin/node9.html Is there a room for free parameter as well? Regards, Sylvain. From mark at msapiro.net Wed Apr 23 15:30:24 2014 From: mark at msapiro.net (Mark Sapiro) Date: Wed, 23 Apr 2014 06:30:24 -0700 Subject: [Mailman-Developers] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <53574BE1.4020604@opensource-expert.com> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> <53518B7B.2090702@msapiro.net> <53521E5F.1010300@opensource-expert.com> <5352BF7B.4080508@msapiro.net> <5356487B.90209@opensource-expert.com> <53570ABC.4000204@msapiro.net> <53574BE1.4020604@opensource-expert.com> Message-ID: <5357C070.5070803@msapiro.net> On 04/22/2014 10:13 PM, Sylvain Viart wrote: > > I need to set : > > mlist.ftp_remote_host = 'ftp.example.com' > mlist.ftp_remote_login = 'somelogin' > mlist.ftp_remote_pass = 'secretstuff' > > > I can set site global vars in /etc/mailman/mm_cfg.py but how do I set > local list parameter exactly? bin/withlist or bin/config_list. E.g., put the above three lines in a file and run bin/config_list -i /path/to/file listname. Note, I just removed the information about using extend.py from the FAQ at because the only reason it was there was for the situation where GLOBAL_PIPELINE would change in the future, and it won't work for that anyway because the list's existing pipeline attribute will override it. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From sylvain at opensource-expert.com Wed Apr 23 17:31:37 2014 From: sylvain at opensource-expert.com (Sylvain Viart) Date: Wed, 23 Apr 2014 17:31:37 +0200 Subject: [Mailman-Developers] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <5357C070.5070803@msapiro.net> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> <53518B7B.2090702@msapiro.net> <53521E5F.1010300@opensource-expert.com> <5352BF7B.4080508@msapiro.net> <5356487B.90209@opensource-expert.com> <53570ABC.4000204@msapiro.net> <53574BE1.4020604@opensource-expert.com> <5357C070.5070803@msapiro.net> Message-ID: <5357DCD9.2000906@opensource-expert.com> I'm a bit confused, but it works? Thanks. :-) Le 23/04/2014 15:30, Mark Sapiro a ?crit : >> I need to set : >> >> mlist.ftp_remote_host = 'ftp.example.com' >> mlist.ftp_remote_login = 'somelogin' >> mlist.ftp_remote_pass = 'secretstuff' >> >> >> I can set site global vars in /etc/mailman/mm_cfg.py but how do I set >> local list parameter exactly? > > bin/withlist or bin/config_list. > > E.g., put the above three lines in a file and run > > bin/config_list -i /path/to/file listname. Works great as you said! :-) I wasn't sure how to use this tool. I supposed you have to dump the whole config first with -o, add my stuff and reload the whole? But it's state's keeping between call of bin/config_list? Cool. # config_list -v -i t.py testlist # withlist -i testlist Loading list testlist (unlocked) The variable `m' is the testlist MailList instance >>> m.ftp_remote_host 'ftp.example.com' this one gives nothing? # config_list -o - testlist | grep ftp Can I guess that this tool don't exactly dump the full list state? It can't be used for duplicating or full backup for instance? My test this morning was failing because of wrong usage? See bellow. I tested your script set_attributes Mark Sapiro's page : scripts that automate certain mailing list management tasks > Which gives: # /usr/lib/mailman/bin/list_set_attributes "ftp_remote_host = 'ftp.example.org'" testlist attribute "ftp_remote_host" changed Non-standard property restored: ftp_remote_host If the extend.py exists with variable defined as follow: to be set in lists/yourlistname/extend.py import copy from Mailman import mm_cfg def extend(mlist): mlist.pipeline = copy.copy(mm_cfg.GLOBAL_PIPELINE) # The next line inserts MyHandler ahead of Moderate. mlist.pipeline.insert(mlist.pipeline.index('Moderate'), 'MyHandler') # Alternatively, the next line replaces Moderate with MyHandler #mlist.pipeline[mlist.pipeline.index('Moderate')] = 'MyHandler' # Pick one of the two above example alternatives mlist.ftp_remote_host = 'ftp.example.com' mlist.ftp_remote_login = 'username' mlist.ftp_remote_pass = 'secr3te' # put the ending slash / mlist.remote_http_base = 'http://example.com/root/for/username/' If the value are not defined first I got: /usr/lib/mailman/bin/list_set_attributes "dumy_remote_host = 'ftp.example.org'" testlist attribute "dumy_remote_host" ignored works with "mlist.dumy_remote_host = 'ftp.example.org'" as you explained at the top, of course? > Note, I just removed the information about using extend.py from the FAQ > at because the only reason it was there > was for the situation where GLOBAL_PIPELINE would change in the future, > and it won't work for that anyway because the list's existing pipeline > attribute will override it. > Hum? I'm using it. How I'm supposed to modify the pipeline, so?? /usr/lib/mailman/bin/version Using Mailman version: 2.1.15 Using config_list ok? Hum probably not? # cat t.py import copy from Mailman import mm_cfg mlist.pipeline = copy.copy(mm_cfg.GLOBAL_PIPELINE) # The next line inserts MyHandler ahead of Moderate. mlist.pipeline.insert(mlist.pipeline.index('Moderate'), 'MyHandler') # config_list -v -i t.py testlist attribute "mm_cfg" ignored attribute "copy" ignored Regards, Sylvain. From mark at msapiro.net Thu Apr 24 01:27:37 2014 From: mark at msapiro.net (Mark Sapiro) Date: Wed, 23 Apr 2014 16:27:37 -0700 Subject: [Mailman-Developers] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <5357DCD9.2000906@opensource-expert.com> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> <53518B7B.2090702@msapiro.net> <53521E5F.1010300@opensource-expert.com> <5352BF7B.4080508@msapiro.net> <5356487B.90209@opensource-expert.com> <53570ABC.4000204@msapiro.net> <53574BE1.4020604@opensource-expert.com> <5357C070.5070803@msapiro.net> <5357DCD9.2000906@opensource-expert.com> Message-ID: <53584C69.8090903@msapiro.net> On 04/23/2014 08:31 AM, Sylvain Viart wrote: > Le 23/04/2014 15:30, Mark Sapiro a ?crit : >> >> E.g., put the above three lines in a file and run >> >> bin/config_list -i /path/to/file listname. > > Works great as you said! :-) > I wasn't sure how to use this tool. I supposed you have to dump the > whole config first with -o, add my stuff and reload the whole? > But it's state's keeping between call of bin/config_list? Cool. No. config_list will only set/change those things that are in it's input. So for what you want to do, an input file with just those three lines is what you want. > # config_list -v -i t.py testlist > # withlist -i testlist > Loading list testlist (unlocked) > The variable `m' is the testlist MailList instance >>>> m.ftp_remote_host > 'ftp.example.com' > > this one gives nothing? > # config_list -o - testlist | grep ftp > > Can I guess that this tool don't exactly dump the full list state? > It can't be used for duplicating or full backup for instance? Config_list is a very powerful tool. It's input file is actually Python and is exectuted, so you can do almost anything with it. See the -i option description in 'config_list -h'. You can set things in two ways. The first paragraph refers to putting stuff like ftp_remote_host = 'ftp.example.com' in the input. This works to set attributes that already exist in the list object. It will warn you if the attribute is 'non-standard', i.e. doesn't appear in the web admin UI, but it will set it if it is already an attribute of the list. It won't work in your case (at least the first time) because ftp_remote_host is a "variable that isn't already an attribute of the list object (and) is ignored" The second paragraph says you have access to the list object through the variable 'mlist', so you can set anything, existing or not, via syntax like mlist.ftp_remote_host = 'ftp.example.com' On the other hand, 'config_list -o' writes only those standard attributes that appear in the web admin UI. > My test this morning was failing because of wrong usage? See bellow. > I tested your script set_attributes > > > Mark Sapiro's page : scripts that automate certain mailing list > management tasks > > > > Which gives: > > # /usr/lib/mailman/bin/list_set_attributes "ftp_remote_host = > 'ftp.example.org'" testlist > attribute "ftp_remote_host" changed > Non-standard property restored: ftp_remote_host Which means you probably had already put it there some other way or the output would have been "attribute "ftp_remote_host" ignored" ... > >> Note, I just removed the information about using extend.py from the FAQ >> at because the only reason it was there >> was for the situation where GLOBAL_PIPELINE would change in the future, >> and it won't work for that anyway because the list's existing pipeline >> attribute will override it. >> > > Hum? I'm using it. How I'm supposed to modify the pipeline, so?? As I say above, the first time you accessed the list with the extend.py as above, you set the pipeline and maybe other attributes. Once those attributes exist in the list object, you can't change them via the extend.py mechanism. Well you can if you also save the list via mlist.Save() after resetting them, but I don't recommended that which is why I removed the extend.py stuff from the FAQ. Use either withlist or config_list to set these attributes. > /usr/lib/mailman/bin/version > Using Mailman version: 2.1.15 > > Using config_list ok? Hum probably not? > > # cat t.py > import copy > from Mailman import mm_cfg > mlist.pipeline = copy.copy(mm_cfg.GLOBAL_PIPELINE) > # The next line inserts MyHandler ahead of Moderate. > mlist.pipeline.insert(mlist.pipeline.index('Moderate'), 'MyHandler') > > > # config_list -v -i t.py testlist > attribute "mm_cfg" ignored > attribute "copy" ignored 1) Open Mailman/Defaults.py 2) Copy the definition of GLOBAL_PIPELINE 3) paste it into a new file changing the name from GLOBAL_PIPELINE to mlist.pipeline and add your handler so it becomes mlist.pipeline = [ 'SpamDetect', 'Approve', 'Replybot', # inserting MyHandler here. 'MyHandler', 'Moderate', 'Hold', 'MimeDel', 'Scrubber', 'Emergency', 'Tagger', 'CalcRecips', 'AvoidDuplicates', 'Cleanse', 'CleanseDKIM', 'CookHeaders', 'ToDigest', 'ToArchive', 'ToUsenet', 'AfterDelivery', 'Acknowledge', 'WrapMessage', 'ToOutgoing', ] I also removed the comments and added one. This becomes the input to config_list (t.py in your example). Note that if I understand the purpose of your handler, it should come (not necessarily immediately) after 'Hold'. You really don't want to archive attachments for messages you might reject or discard. -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From barry at list.org Thu Apr 24 16:19:38 2014 From: barry at list.org (Barry Warsaw) Date: Thu, 24 Apr 2014 10:19:38 -0400 Subject: [Mailman-Developers] ANNOUNCE: The GNU Mailman 3 suite, beta 1 preview Message-ID: <20140424101938.0efc11d4@anarchist.wooz.org> Hello Mailman enthusiasts! Time and motion Wind and sun and rain Days connect like boxcars in a train Another Pycon has come and gone and with it, another fantastic sprint among the core developers. We accomplished quite a bit, and now we'd like to share the results with you. On behalf of the Mailman development team, I am happy to announce the first beta release of the full Mailman 3 suite. This release includes: * Postorius 1.0.0b1 (Year of the Parrot), our new Django-based web user interface for list owners and list members. * HyperKitty 1.0.0b1, the fantastic new Django-based archiver. * Mailman Core 3.0b4 (Time and Motion), the mailing list engine and administrative REST API. * The mailman-bundler package 3.0b1, a helpful buildout-based tool for putting it all together. We're very excited to finally be able to announce this preview of the entire suite of tools, and we hope you'll give it a try. As with any beta software, we give a word of caution should you be adventurous enough to want to try it in production. There are surely bugs and missing features, but we feel confident enough to encourage you to play with the system and provide us with feedback, bug reports, suggestions, and above all, contributions! Each project is separately downloadable from the Python Cheeseshop, and links are provided below. Perhaps the best way to begin is to grab the bundler, unpack it and, follow the directions included in the bundle. It should work on most modern *nixes with Python 2.7. You can download the bundler tarball from: https://pypi.python.org/pypi/mailman-bundler/3.0b1 See below for links to the individual project pages, bug report packages, and package documentation. The best place to discuss Mailman 3 is on the mailman-developers mailing list, or on IRC via the freenode #mailman channel. Enjoy! -Barry (On behalf of the entire GNU Mailman development team) P.S. My personal, deepest thanks to Florian, Terri, Aur?lien, Mark, John, and Piotr for coming to Pycon, working hard and joyfully at the sprints, sharing friendly meals and tea shop excursions, and to Steve who wasn't able to make it in person, and also to all the contributors to the project who make the code better and the community an honor to be a part of. Postorius project - https://launchpad.net/postorius bugs - https://bugs.launchpad.net/postorius download - https://pypi.python.org/pypi/postorius/1.0.0b1 docs - http://pythonhosted.org//postorius/ HyperKitty project - https://fedorahosted.org/hyperkitty/ bugs - https://fedorahosted.org/hyperkitty/report download - https://pypi.python.org/pypi/HyperKitty/1.0 docs - https://hyperkitty.readthedocs.org/en/latest/ Core project - https://launchpad.net/mailman bugs - https://bugs.launchpad.net/mailman/+bugs?field.tag=mailman3 download - https://pypi.python.org/pypi/mailman/3.0.0b4 docs - http://pythonhosted.org/mailman/ Bundler project - https://launchpad.net/mailman-bundler bugs - https://bugs.launchpad.net/mailman-bundler download - https://pypi.python.org/pypi/mailman-bundler/3.0b1 docs - README.rst (in the unpacked tarball) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: not available URL: From rajeevs1992 at gmail.com Fri Apr 25 14:44:30 2014 From: rajeevs1992 at gmail.com (Rajeev S) Date: Fri, 25 Apr 2014 18:14:30 +0530 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> Message-ID: Hi Stephen, The CLI project would be a sub module for the mailman.client project. Since bzr does not have the submodule feature, I must be doing it either by using a new repository or as a new branch to mailman.client .The latter would be better as it would be easier to integrate the code into the mailman.client project when this project is completed. Now about the implementation part.As described in the project timeline, the first phase would be to build the command tools. I would be building two classes List and Domain, and identify the various methods that are to be given to them. Many of the methods are identified in my GSoC proposal. The command parsing would be handled by the python Optparse library. I would like to start building the Version 0, but not to throw away, but will be refining it further as per the feedback. If all this is OK I would start building the version and push it to the mailman.client project. And forget about the git vs bzr part. I am OK with using bzr :). *Regards,Rajeev S* *Government Engineering College,Thrissur* *http://rajeevs.tk * On Tue, Apr 22, 2014 at 9:01 PM, Stephen J. Turnbull wrote: > Just to follow up quickly (I've got problems I need to deal with > elsewhere over the next couple days). > > Abhilash Raj writes: > > Hey, thanks for jumping in, maxking! > > > Hi Rajeev, > > > > Congratulations! We look forward to a great summer with you. > > Definitely! > > >> I would like to thank the Mailman community and mentors for > >> their extensive > support during my application process, > > You're very welcome. > > >> Also I have a few questions as part of the community bonding > >> process. > >> > >> 1.Is the project to be developed as an independent project or as a > >> part/branch of the Mailman Core repository > > > > That is supposed to be an implementation detail of your > > proposal. What do you think would be the best? > > I agree with Abhilash. You make a proposal, we'll criticize it > (contructively; "criticism" is not necessarily negative, just as with > literary critics we may give a positive review -- you should know when > you're doing things right). > > >> 2.If it is an Independent project, Is it OK to use the > > >> git+gitorious/savannah or should I stick to bzr+launchpad? I have > >> used git extensively,naturally more comfortable with git. > >> However, I can pick up bzr if necessary. > > > Even if it is an independent project we strongly encourage you to > > use bzr, as integration and code review might become a problem in > > later stages of your project( I am speaking from personal > > experience). Learning bzr and launchpad is not at all difficult if > > you know git. > > The CLI won't be *that* independent. It really needs to be on > Launchpad. > > Note: It may be possible to use git-bzr to fetch and push from > Launchpad. > > >> 3.Is it necessary for me to hangout in the IRC?If yes, when? > > > > It is not *necessary* for you to hangout on IRC. You just need to > > keep your mentors updated about what are you doing all the time. If > > you prefer email, I don't think that would be a problem. Your only > > responsibility is to deliver the project you proposed on time. > > It's generally a good idea to have interaction (brainstorming) when > working on design. I can generally be available on IRC from about > 01:00 UTC to 15:00 UTC. As Abhilash knows :-) I can often be > convinced to stay around until about 17:00 UTC. yaseppochi @ freenode > > >> 4.Can I start coding right away? > > > > You can, but first be sure you know what you want to code. Your > > proposal does have a detailed description on working of the tool, > > however there is little mention about the details of implementation > > and design. It would be best if you first consult with your mentors > > and decide on something so that you don't waste time writing code > > that is not needed. > > Read Fred Brooks' /The Mythical Man-Month/, especially the essay > "Build One to Throw Away". Then think about whether you really > believe him. :-) > > Regards and looking forward to working with you! > > Steve > > From aurelien at bompard.org Fri Apr 25 16:55:53 2014 From: aurelien at bompard.org (Aurelien Bompard) Date: Fri, 25 Apr 2014 16:55:53 +0200 Subject: [Mailman-Developers] Mailman3: creating a user from an existing address Message-ID: Hey people, I'm trying to create a User in Mailman 3 from an existing Address. If I were using the Python interface, that would be very easy: just create the user with no address and then link the existing address to it. However, I'm using the REST interface. In mailman.rest.users.AllUser.create(), there's a try/except block which explicitely looks for this case and raises an HTTP 400 error. Looking at the test_existing_user_error() test case, it's apparently to prevent creating a user twice, which is not my use case. Are you OK if I hack the code to automatically link to an existing address while still erroring-out if the user already exist? Or would it be better to allow linking to an existing address from the REST API? Cheers, Aur?lien From barry at list.org Fri Apr 25 18:06:37 2014 From: barry at list.org (Barry Warsaw) Date: Fri, 25 Apr 2014 12:06:37 -0400 Subject: [Mailman-Developers] Mailman3: creating a user from an existing address In-Reply-To: References: Message-ID: <20140425120637.641449f2@anarchist.wooz.org> On Apr 25, 2014, at 04:55 PM, Aurelien Bompard wrote: >I'm trying to create a User in Mailman 3 from an existing Address. If I were >using the Python interface, that would be very easy: just create the user >with no address and then link the existing address to it. So the address is currently unlinked? And you don't want to link it to an existing user, but to a new user you're about to create? >However, I'm using the REST interface. In >mailman.rest.users.AllUser.create(), there's a try/except block which >explicitely looks for this case and raises an HTTP 400 error. Looking at the >test_existing_user_error() test case, it's apparently to prevent creating a >user twice, which is not my use case. Are you OK if I hack the code to >automatically link to an existing address while still erroring-out if the >user already exist? Or would it be better to allow linking to an existing >address from the REST API? The other way to think about it is that you might want to create the user and link to it from the existing address resource, i.e. the AnAddress class. Right now, you cannot get directly from the address to its linked user, if it has one. Look at _AddressBase._resource_as_dict() in addresses.py. Sketching out an approach: - The address resource would gain a `user` key if there is a linked user. This would be a url to the user resource. If the address is unlinked, then there would be no such key. - AnAddress would gain a /user sub-resource which would either 404 if the address is unlinked or return the linked user's JSON data. - POSTing to /addresses//user would create a new user and link the address to it, but only if the address is not yet linked. If it's already linked, you'd get a 409 Conflict error. If the new user is created, you'd get 201 Created response. Additional use cases to consider: Q. What if the address is already linked and you want to unlink it? A. DELETE on the /addresses//user resource Q. What if you want to change the user the address is linked to? A. Currently, it's two operations: DELETE the existing link as above, then see below. The other option is to allow a PUT on the /addresses//user resource. Q. What if you want to link the unlinked address to an existing user? A. Maybe allow this in the POST to /addresses//user, i.e. the user would only be created if it doesn't yet exist. If it gets created, you'd get a 201 Created, but if it's just a link operation to an existing user, you'd get a 200 Success response. It's possibly you'd want to include POST boolean that specifies whether creating a new user is okay or not, with the appropriate response codes in the false case. -Barry From aurelien at bompard.org Fri Apr 25 18:31:31 2014 From: aurelien at bompard.org (Aurelien Bompard) Date: Fri, 25 Apr 2014 18:31:31 +0200 Subject: [Mailman-Developers] Mailman3: creating a user from an existing address In-Reply-To: <20140425120637.641449f2@anarchist.wooz.org> References: <20140425120637.641449f2@anarchist.wooz.org> Message-ID: > So the address is currently unlinked? And you don't want to link it to an > existing user, but to a new user you're about to create? Exactly. The address is unlinked and unverified. I'd like to create a user for it. > Sketching out an approach: > [...] Interesting. I'll look into that at some point, but I have a few more urgent things to do, so if someone wants to beat me to it feel free... ;-) A. From barry at list.org Fri Apr 25 18:35:13 2014 From: barry at list.org (Barry Warsaw) Date: Fri, 25 Apr 2014 12:35:13 -0400 Subject: [Mailman-Developers] Mailman3: creating a user from an existing address In-Reply-To: References: <20140425120637.641449f2@anarchist.wooz.org> Message-ID: <20140425123513.22a2cec5@anarchist.wooz.org> On Apr 25, 2014, at 06:31 PM, Aurelien Bompard wrote: >Interesting. I'll look into that at some point, but I have a few more >urgent things to do, so if someone wants to beat me to it feel free... >;-) Can you open a bug? -Barry From sylvain at opensource-expert.com Fri Apr 25 18:15:10 2014 From: sylvain at opensource-expert.com (Sylvain Viart) Date: Fri, 25 Apr 2014 18:15:10 +0200 Subject: [Mailman-Developers] handler to auto detach attachment and link it to a website keeping html In-Reply-To: <53584C69.8090903@msapiro.net> References: <53368652.90207@opensource-expert.com> <53481019.2000209@opensource-expert.com> <5348596E.6070703@msapiro.net> <534AB359.6090205@msapiro.net> <534D598E.6030301@opensource-expert.com> <534E8D43.9050803@msapiro.net> <53515765.3010604@opensource-expert.com> <53518B7B.2090702@msapiro.net> <53521E5F.1010300@opensource-expert.com> <5352BF7B.4080508@msapiro.net> <5356487B.90209@opensource-expert.com> <53570ABC.4000204@msapiro.net> <53574BE1.4020604@opensource-expert.com> <5357C070.5070803@msapiro.net> <5357DCD9.2000906@opensource-expert.com> <53584C69.8090903@msapiro.net> Message-ID: <535A8A0E.60703@opensource-expert.com> Le 24/04/2014 01:27, Mark Sapiro a ?crit : > 1) Open Mailman/Defaults.py > > 2) Copy the definition of GLOBAL_PIPELINE > > 3) paste it into a new file changing the name from GLOBAL_PIPELINE to > mlist.pipeline and add your handler so it becomes > [?] > > Note that if I understand the purpose of your handler, it should come > (not necessarily immediately) after 'Hold'. You really don't want to > archive attachments for messages you might reject or discard. Thanks I will explore that behavior. First version on github: https://github.com/Sylvain303/mailman-AttachmentMove I'll document the installation process and correct bugs still presents? - Detaching embedded image related part, - nesting related if already present ? Thank you, so much for your help. Sylvain. From aurelien at bompard.org Fri Apr 25 21:04:25 2014 From: aurelien at bompard.org (Aurelien Bompard) Date: Fri, 25 Apr 2014 21:04:25 +0200 Subject: [Mailman-Developers] Mailman3: creating a user from an existing address In-Reply-To: <20140425123513.22a2cec5@anarchist.wooz.org> References: <20140425120637.641449f2@anarchist.wooz.org> <20140425123513.22a2cec5@anarchist.wooz.org> Message-ID: > Can you open a bug? Done: https://bugs.launchpad.net/mailman/+bug/1312884 :-) A. From raj.abhilash1 at gmail.com Sat Apr 26 07:12:28 2014 From: raj.abhilash1 at gmail.com (Abhilash Raj) Date: Sat, 26 Apr 2014 10:42:28 +0530 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> Message-ID: On Fri, Apr 25, 2014 at 6:14 PM, Rajeev S wrote: > Hi Stephen, > > The CLI project would be a sub module for the mailman.client project. > > Since bzr does not have the submodule feature, I must be doing it either > by using a new repository or as a new branch to mailman.client .The latter > would be better as it would be easier to integrate the code into the > mailman.client project when this project is completed. > Why do you want it to be a submodule in the first place? If you want to extend mailman.client they why not simply branch it? > > Now about the implementation part.As described in the project timeline, > the first phase would be to build the command tools. I would be building > two classes List and Domain, and identify the various methods that are to > be given to them. Many of the methods are identified in my GSoC proposal. > The command parsing would be handled by the python Optparse library. > Are users not going to be a part of this? Or you have thought of something else for managing users? Also in your proposal I don't find any mention of user roles. How will you manage user roles? Is the command line tool that you want to build will only be accessible by the supersuser/admin? Or moderators and assigned list owners can also use it to do whatever it does? Also if you allow moderators and owners then you probably have to think of something about permissions to restrict everyone to use the features only specific to there role. >From my point of view this project would (someday) be an command line alternative to postorius for admin roles. Not that you have to do everything in this summer, but it should be kept in mind while you work on it. Also may I suggest you to use argparse instead of optparse -- it is now depricated since py2.7. > > I would like to start building the Version 0, but not to throw away, but > will be refining it further as per the feedback. If all this is OK I would > start building the version and push it to the mailman.client project. > > You probably should figure out everything before you jump on to coding. The time till 19th May is allotted for community bonding and there is a reason for that. Try to understand how new features are discussed in here(mailman community) before becoming python statements. I don't know if you already have, but try to read the source code and understand the coding style Barry prefers. There is a style guide for mailman, find it out. And forget about the git vs bzr part. I am OK with using bzr :). > > Great. thanks, Abhilash Raj From mark at msapiro.net Sat Apr 26 08:17:46 2014 From: mark at msapiro.net (Mark Sapiro) Date: Fri, 25 Apr 2014 23:17:46 -0700 Subject: [Mailman-Developers] Mailman 2.1.18 release In-Reply-To: <5353494C.5070609@msapiro.net> References: <53501E2F.1040409@msapiro.net> <5353494C.5070609@msapiro.net> Message-ID: <535B4F8A.8060809@msapiro.net> I'm pleased to announce the third candidate release for Mailman 2.1.18. This fixes a few bugs since discovered since the second release candidate. Python 2.4 is the minimum supported, but Python 2.7 is recommended. Please submit any i18n updates before May 1 to get them in the final release. This release has new features to help with mitigation of the impacts of DMARC on mailing lists. There is also a new dependency associated with these features. Namely, the new Privacy options -> Sender filters -> dmarc_moderation_action feature requires that the dnspython package be available in Python. There are also bug fixes. See the attached README for more details. Mailman is free software for managing email mailing lists and e-newsletters. Mailman is used for all the python.org and SourceForge.net mailing lists, as well as at hundreds of other sites. For more information, please see: http://www.list.org http://www.gnu.org/software/mailman http://mailman.sourceforge.net/ Mailman 2.1.18rc1 can be downloaded from https://launchpad.net/mailman/2.1/ http://ftp.gnu.org/gnu/mailman/ https://sourceforge.net/projects/mailman/ -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan -------------- next part -------------- 2.1.18rc3 (25-Apr-2014) Bug fixes and other patches - The Reply-To: munging options weren't honored if there was no from_is_list action. (LP: #1313010) - Changed from_is_list actions to insert the list address in Cc: if the list is fully personalized. Otherwise, the list address is only in From: and Reply-To: overrides it. (LP: #1312970) - Fixed the Munge From action to only Munge the From: and/or Reply-To: in the outgoing message and not in archives, digests and messages sent via the usenet gateway. (LP: #1311431) 2.1.18rc2 (19-Apr-2014) Bug fixes and other patches - The new Utils.IsDMARCProhibited() used collections.defaultdict which requires Python 2.5. Changed to use a dict and setdefault. 2.1.18rc1 (18-Apr-2014) Dependencies - There is a new dependency associated with the new Privacy options -> Sender filters -> dmarc_moderation_action feature discussed below. This requires that the dnspython package be available in Python. This package can be downloaded from the above site or from the CheeseShop or installed with pip. New Features - The from_is_list feature introduced in 2.1.16 is now unconditionally available to list owners. There is also, a new Privacy options -> Sender filters -> dmarc_moderation_action feature which applies to list messages where the From: address is in a domain which publishes a DMARC policy of reject or possibly quarantine. This is a list setting with values of Accept, Wrap Message, Munge From, Reject or Discard. There is a new DEFAULT_DMARC_MODERATION_ACTION configuration setting to set the default for this, and the list admin UI is not able to set an action which is 'less' than the default. The prior ALLOW_FROM_IS_LIST setting has been removed and is effectively always Yes. There is a new DMARC_QUARANTINE_MODERATION_ACTION configuration setting which defaults to Yes but can be set to No to exclude domains with DMARC policy of quarantine from dmarc_moderation_action. dmarc_moderation_action and from_is_list interact in the following way. If the message is From: a domain to which dmarc_moderation_action applies and if dmarc_moderation_action is other than Accept, dmarc_moderation_action applies to that message. Otherwise the from_is_list action applies. i18n - Added missing tag to French listinfo template. (LP: #1275964) Bug Fixes and other patches - Fixed a long standing issue in which a notice sent to a user whose language is other than that of the list can cause subsequent things which should be in the list's language to be in the user's language instead. (LP: #1308655) - Fixed the admin Membership List so a search string if any is not lost when visiting subsequent fragments of a chunked list. (LP: #1307454) - For from_is_list feature, use email address from original From: if original From: has no display name and strip domain part from resultant names that look like email addresses. (LP: #1304511) - Added the list name to the vette log "held message approved" entry. (LP: 1295875) - Added the CGI module name to various "No such list" error log entries. (LP: 1295875) - Modified contrib/mmdsr to report module name if present in "No such list error log entries. - Fixed a NameError exception in cron/nightly_gzip when it tries to print the usage message. (LP: #1291038) - Fixed a bug in ListAdmin._handlepost that would crash when trying to preserve a held message for the site admin if HOLD_MESSAGES_AS_PICKLES is False. (LP: #1282365) - The from_is_list header munging feature introduced in Mailman 2.1.16 is no longer erroneously applied to Mailman generated notices. (LP: #1279667) - Changed the message from the confirm CGI to not indicate approval is required for an acceptance of an invitation. (LP: #1277744) - Fixed POSTFIX_STYLE_VIRTUAL_DOMAINS to be case-insensitiive. (LP: #1267003) - Added recognition for another simple warning to bounce processing. (LP: #1263247) - Fixed a few failing tests in tests/test_handlers.py. (LP: #1262950) - Fixed bin/arch to not create scrubbed attachments for messages skipped when processing the --start= option. (LP: #1260883) - Fixed email address validation to do a bit better in obscure cases. (LP: #1258703) - Fixed a bug which caused some authentication cookies to expire too soon if AUTHENTICATION_COOKIE_LIFETIME is non-zero. (LP: #1257112) - Fixed a possible TypeError in bin/sync_members introduced in 2.1.17. (LP: #1243343) Miscellaneous - Added to the contrib directory, a script from Alain Williams to count posts in a list's archive. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: OpenPGP digital signature URL: From rajeevs1992 at gmail.com Sat Apr 26 09:57:49 2014 From: rajeevs1992 at gmail.com (Rajeev S) Date: Sat, 26 Apr 2014 13:27:49 +0530 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> Message-ID: Hi Abhilash, I did not quite get the user role part.A command line utility runs on the server on which a software instance runs, just like a MySQL command line utility.You will need physical access to the system or atleast the shell.I believe you cannot expect every moderator of the list to have that kind of access. From my point of view, the tool will be used by the list owner or the server admin, just like the MySQL shell,which can be used only if you have access to system shell.However, User/Role management can be imposed by including a login for the shell,if necessary.Again,that's not possible for the command tools. And Yes.Users will be a part of this. I prefer to build the other two first.Many methods that can come under User class is better suited under the other two.For eg, for adding a moderator to the list, you can do, *list --addmoderator user_id , *which should be under the List class*. *But the same from user point of view, would be a complicated and less intuitive command, *user **user_id **--addmoderator **--list list_id *. So, after the list and domain functions are built, It will be more clear what the user class must do. About optparse, I actually meant argparse,sorry about that :). And thanks for the style guide tip. *Regards,Rajeev S* *Government Engineering College,Thrissur* *http://rajeevs.tk * On Sat, Apr 26, 2014 at 10:42 AM, Abhilash Raj wrote: > On Fri, Apr 25, 2014 at 6:14 PM, Rajeev S wrote: > >> Hi Stephen, >> >> The CLI project would be a sub module for the mailman.client project. >> > >> Since bzr does not have the submodule feature, I must be doing it either >> by using a new repository or as a new branch to mailman.client .The latter >> would be better as it would be easier to integrate the code into the >> mailman.client project when this project is completed. >> > > Why do you want it to be a submodule in the first place? If you want to > extend > mailman.client they why not simply branch it? > >> >> Now about the implementation part.As described in the project timeline, >> the first phase would be to build the command tools. I would be building >> two classes List and Domain, and identify the various methods that are to >> be given to them. Many of the methods are identified in my GSoC proposal. >> The command parsing would be handled by the python Optparse library. >> > Are users not going to be a part of this? Or you have thought of something > else > for managing users? > > Also in your proposal I don't find any mention of user roles. How will you > manage > user roles? Is the command line tool that you want to build will only be > accessible > by the supersuser/admin? Or moderators and assigned list owners can also > use it > to do whatever it does? Also if you allow moderators and owners then you > probably > have to think of something about permissions to restrict everyone to use > the features > only specific to there role. > > From my point of view this project would (someday) be an command line > alternative to postorius for admin roles. Not that you have to do > everything in this summer, but it > should be kept in mind while you work on it. > > Also may I suggest you to use argparse instead of optparse -- it is now > depricated > since py2.7. > >> >> > I would like to start building the Version 0, but not to throw away, but >> will be refining it further as per the feedback. If all this is OK I would >> start building the version and push it to the mailman.client project. >> >> > You probably should figure out everything before you jump on to coding. > The time till > 19th May is allotted for community bonding and there is a reason for that. > Try to > understand how new features are discussed in here(mailman community) before > becoming python statements. > > I don't know if you already have, but try to read the source code and > understand the > coding style Barry prefers. There is a style guide for mailman, find it > out. > > And forget about the git vs bzr part. I am OK with using bzr :). >> >> Great. > > thanks, > Abhilash Raj > From stephen at xemacs.org Sat Apr 26 10:29:27 2014 From: stephen at xemacs.org (Stephen J. Turnbull) Date: Sat, 26 Apr 2014 17:29:27 +0900 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> Message-ID: <87oazoo5nc.fsf@uwakimon.sk.tsukuba.ac.jp> Rajeev S writes: > Hi Abhilash, Please don't top-post. It's very helpful to readers to keep the "subthreads" about particular issues separate, while at the same time bundling them together for ease of mail-handling. > I did not quite get the user role part.A command line utility runs on the > server on which a software instance runs, just like a MySQL command line > utility.You will need physical access to the system or atleast the shell.I > believe you cannot expect every moderator of the list to have that kind of > access. From my point of view, the tool will be used by the list owner or > the server admin, just like the MySQL shell,which can be used only if you > have access to system shell.However, User/Role management can be imposed by > including a login for the shell,if necessary.Again,that's not possible for > the command tools. Why not? The CLI tools will have access to the user database, so in theory you could authenticate. In *practice*, this may be outside of the scope of your project because there's no provision for authentication in the current RESTful interface; you end up restricting to connections from localhost. But by the same token, past projects have decided to connect to Postorius rather than Mailman itself precisely because Postorious *does* maintain roles and credentials for users. Again, probably beyond the scope of your project, but for precisely this reason it has been proposed a few times that the authn/authz part of Postorius be broken out into a separate module. > And Yes.Users will be a part of this. I prefer to build the other two > first.Many methods that can come under User class is better suited under > the other two.For eg, for adding a moderator to the list, you can do, *list > --addmoderator user_id , *which should be under the List class*. *But the > same from user point of view, would be a complicated and less intuitive > command, *user **user_id **--addmoderator **--list list_id *. So, after the > list and domain functions are built, It will be more clear what the user > class must do. I agree with your logic here. But I find the text very difficult to read. There should be at least one space after a sentence-ending period ("Yes.Users" looks like a class attribute!) And I have no idea what the semantics of "*" is intended to be. > About optparse, I actually meant argparse,sorry about that :). And thanks > for the style guide tip. Despite the current thread on python-dev, I strongly recommend the pep8.py tool (available on PyPI as well as upstream: https://github.com/jcrocholl/pep8/). pyflakes, pylint, and pychecker are also good tools, but their orientation is a bit different, and you may or may not find them useful (and in particular you may find after a while that you *never* get warnings from them). From raj.abhilash1 at gmail.com Sat Apr 26 11:31:55 2014 From: raj.abhilash1 at gmail.com (Abhilash Raj) Date: Sat, 26 Apr 2014 15:01:55 +0530 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> Message-ID: Hi Rajeev, On Sat, Apr 26, 2014 at 1:27 PM, Rajeev S wrote: > Hi Abhilash, > > I did not quite get the user role part.A command line utility runs on the > server on which a software instance runs, just like a MySQL command line > utility.You will need physical access to the system or atleast the shell.I > believe you cannot expect every moderator of the list to have that kind of > access. From my point of view, the tool will be used by the list owner or > the server admin, just like the MySQL shell,which can be used only if you > have access to system shell.However, User/Role management can be imposed by > including a login for the shell,if necessary.Again,that's not possible for > the command tools. > The working of mysql client and this project are very different. As Steve pointed a lot of things might be out of scope for your project but it would be nice if you could discuss about the complete working of it and at-least document it so that if not you, someone else can leverage this discussion and help improve your project after you are done with it. There is usually never a physical access to a server so that is out of question but still applications do exist with user roles, don't they? Even in mysql you have users. What if on a host I run mailman as 'maxking' and on the same host 'rajeev' and 'steve' are two other users whom I have granted owner roles(as an admin) to two different lists do whatever the CLI will do. Who said only one person can have access to a host? From rajeevs1992 at gmail.com Sun Apr 27 12:57:28 2014 From: rajeevs1992 at gmail.com (Rajeev S) Date: Sun, 27 Apr 2014 16:27:28 +0530 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: <87oazoo5nc.fsf@uwakimon.sk.tsukuba.ac.jp> References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> <87oazoo5nc.fsf@uwakimon.sk.tsukuba.ac.jp> Message-ID: > > Please don't top-post. It's very helpful to readers to keep the > "subthreads" about particular issues separate, while at the same time > bundling them together for ease of mail-handling. > > Why not? The CLI tools will have access to the user database, so in > theory you could authenticate. In *practice*, this may be outside of > the scope of your project because there's no provision for > authentication in the current RESTful interface; you end up > restricting to connections from localhost. > I have given this some thought and yes, you can authenticate and authorize in both shell and tools interface. Authn/authz in shell is quite straightforward as Abhilash mentioned and with the CLI tools, it can be achieved, in a not so easy way. SSH keys can be used to register your shell with the server which can be used as a token for authn/authz for the shell user, just like the interface provided by cloud services like heroku.You do a *heroku login *from your shell and you can run commands on the remote server of your application from your shell.This would be an interesting project and would hugely benefit usability of the current project. > But by the same token, past projects have decided to connect to > Postorius rather than Mailman itself precisely because Postorious > *does* maintain roles and credentials for users. Again, probably > beyond the scope of your project, but for precisely this reason it has > been proposed a few times that the authn/authz part of Postorius be > broken out into a separate module. > > I agree with your logic here. > > But I find the text very difficult to read. There should be at least > one space after a sentence-ending period ("Yes.Users" looks like a > class attribute!) And I have no idea what the semantics of "*" is > intended to be. That seems like a funny GMail bug. All I did was to reorder the terms of the phrase which was in boldface, using cut and paste. Anyway, I will remember not to do this again. > Despite the current thread on python-dev, I > strongly recommend the pep8.py tool (available on PyPI as well as > upstream: https://github.com/jcrocholl/pep8/). pyflakes, pylint, and > pychecker are also good tools, but their orientation is a bit > different, and you may or may not find them useful (and in particular > you may find after a while that you *never* get warnings from them). > > I have used pychecker before. Barry's guide followed by a PEP8 verifier would do good. From stephen at xemacs.org Sun Apr 27 17:03:34 2014 From: stephen at xemacs.org (Stephen J. Turnbull) Date: Mon, 28 Apr 2014 00:03:34 +0900 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> <87oazoo5nc.fsf@uwakimon.sk.tsukuba.ac.jp> Message-ID: <87a9b6olvd.fsf@uwakimon.sk.tsukuba.ac.jp> Rajeev S writes: > You do a *heroku login *from your shell and you can run commands on > the remote server of your application from your shell.This would be > an interesting project and would hugely benefit usability of the > current project. Sure, under the hood this is just an ssh login, most likely. However, I wouldn't bet on it being "hugely useful", as these days most Mailman list owners share a Mailman site using cPanel or similar, and don't have shell access at all. *Very* useful in beta test, though. > That seems like a funny GMail bug. All I did was to reorder the terms of > the phrase which was in boldface, using cut and paste. Anyway, I will > remember not to do this again. Aargh. HTML mail is a tool of the devil. It is not a hacker's friend, it makes life annoying for filtering and automatic mail processing. When you get ~250 wanted mails (many of them list, of course) and ~1000 spams (that get past the 6-sigma "if this filter thinks it's spam, throw it away!" filter) a day, automatic processing is really important. Unfortunately I don't have a copy of your original, but what may be happening is not at GMail, but rather that the mailing list tries pretty hard to avoid HTML mail, throwing away the text/html part if there's a text/plain alternative, and otherwise running it through an HTML-to-text converter (probably Lynx with output to a file). It could also just be my local MUA, which I have set up to try to minimize the HTML mail that I see. Mark can probably say with some confidence. From raj.abhilash1 at gmail.com Sun Apr 27 18:29:05 2014 From: raj.abhilash1 at gmail.com (Abhilash Raj) Date: Sun, 27 Apr 2014 21:59:05 +0530 Subject: [Mailman-Developers] Deploying postorius and mailman-bundle Message-ID: Hi All, I was trying to setup mailman-bundler as demo for new mailman suite that we just launched. We have a wsgi script for deployment in postorius_standalone and mailman_bundler as well. While I was trying to deploy using nginx and uwsgi/gunicorn I found that they expect the script to have .py extension and not .wsgi. All new django versions currently create a wsgi.py file along with the project itself. So I was thinking we should change that in our code too. Thoughts? thanks, Abhilash From tanstaafl at libertytrek.org Sun Apr 27 18:45:53 2014 From: tanstaafl at libertytrek.org (Tanstaafl) Date: Sun, 27 Apr 2014 12:45:53 -0400 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: <87a9b6olvd.fsf@uwakimon.sk.tsukuba.ac.jp> References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> <87oazoo5nc.fsf@uwakimon.sk.tsukuba.ac.jp> <87a9b6olvd.fsf@uwakimon.sk.tsukuba.ac.jp> Message-ID: <535D3441.3050403@libertytrek.org> On 4/27/2014 11:03 AM, Stephen J. Turnbull wrote: > When you get ~250 wanted mails (many of them list, of > course) and ~1000 spams (that get past the 6-sigma "if this filter > thinks it's spam, throw it away!" filter) a day, automatic processing > is really important. ? Anyone who gets ~1000 spams per day that actually make it through whatever anti-spam tools you are employing, then you need different/better anti-spam tools. From mark at msapiro.net Sun Apr 27 20:41:39 2014 From: mark at msapiro.net (Mark Sapiro) Date: Sun, 27 Apr 2014 11:41:39 -0700 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: <87a9b6olvd.fsf@uwakimon.sk.tsukuba.ac.jp> References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> <87oazoo5nc.fsf@uwakimon.sk.tsukuba.ac.jp> <87a9b6olvd.fsf@uwakimon.sk.tsukuba.ac.jp> Message-ID: <535D4F63.8080702@msapiro.net> On 04/27/2014 08:03 AM, Stephen J. Turnbull wrote: > > Unfortunately I don't have a copy of your original, but what may be > happening is not at GMail, but rather that the mailing list tries > pretty hard to avoid HTML mail, throwing away the text/html part if > there's a text/plain alternative, and otherwise running it through an > HTML-to-text converter (probably Lynx with output to a file). > > It could also just be my local MUA, which I have set up to try to > minimize the HTML mail that I see. > > Mark can probably say with some confidence. This list's content filtering removes all text/html parts from list posts. This, combined with the fact that web based MUAs such as Gmail and Yahoo typically default to 'rich text' composition and allow things like bold, underline and italic, can create issues. When you send such an email, the MUA typically creates a multipart/alternative message with text/plain and text/html alternatives. The text/html alternative will generally render very much like what you saw in the composition window, at least in MUAs that understand MIME and render HTML. The text/plain alternative is more problematic. Yahoo's is frankly terrible, at least if you view the raw text. Gmail's is better, but it uses the more or less standard star, underscore and slash convention for *bold*, _underlined_ and /italic/ text. On most (ed. comment - intelligent) discussion lists, you will only receive the text/plain part. If the poster has cut/pasted things, instead of seeing *some bold text*, you may see *bold **some text* or similar anomalies. The bottom line message is use plain text composition to begin with if it is an option. Confidently yours, -- Mark Sapiro The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan From stephen at xemacs.org Mon Apr 28 06:35:44 2014 From: stephen at xemacs.org (Stephen J. Turnbull) Date: Mon, 28 Apr 2014 13:35:44 +0900 Subject: [Mailman-Developers] GSoC 2014 : Proposal for the Mailman CLI project In-Reply-To: <535D3441.3050403@libertytrek.org> References: <21334.35661.258028.352279@uwakimon.sk.tsukuba.ac.jp> <87oazoo5nc.fsf@uwakimon.sk.tsukuba.ac.jp> <87a9b6olvd.fsf@uwakimon.sk.tsukuba.ac.jp> <535D3441.3050403@libertytrek.org> Message-ID: <8738gynk9r.fsf@uwakimon.sk.tsukuba.ac.jp> Tanstaafl writes: > On 4/27/2014 11:03 AM, Stephen J. Turnbull wrote: > > When you get ~250 wanted mails (many of them list, of > > course) and ~1000 spams (that get past the 6-sigma "if this filter > > thinks it's spam, throw it away!" filter) a day, automatic processing > > is really important. > > ? > > Anyone who gets ~1000 spams per day that actually make it through > whatever anti-spam tools you are employing, I didn't say that I actually see them, I said I get 1000 that can't be rejected/discarded as spam with 6-sigma accuracy. Dealing with the 1-in-100 Type II errors and the 2-in-100 Type I errors in the 1000 is what much of the "automatic processing" is for. > then you need different/better anti-spam tools. Suggestions are welcome. Most of the problematic mail is in Japanese or Chinese however, and I don't know any tools (including GMail which throws up false positives in my spam folder about once a week) that get 2- or 3-sigma performance on those languages, at least not in my multilingual context. So I quarantine, and do a lot of tweaking of packaged tools and postprocessing myself. At least some commercial tools for Japanese are really horrible -- about once a week I get mail from a colleague that is marked as "spam" or "suspected spam" by my *employer*'s filters, and traffic on this list gets marked that way about as often. :-( From raj.abhilash1 at gmail.com Mon Apr 28 09:26:56 2014 From: raj.abhilash1 at gmail.com (Abhilash Raj) Date: Mon, 28 Apr 2014 12:56:56 +0530 Subject: [Mailman-Developers] Bug in mailman-bundler Message-ID: Hi Aurelien, I was trying out mailman-bundler and have setup a demo here [1]. I notice that with 'USE_SSL=True' in development.py deployment settings, there is a redirect loop while logging in[2]. I had to disable it to deploy. (The demo server still needs to be hooked up with postfix). Also maybe you can configure your launchpad repo of mailman-bundler to handle bug reporting? I saw that it needs to be enabled for individual repositories. thanks, Abhilash [1]: http://mailman.asynchronous.in [2]: https://mailman.asynchronous.in/archives/accounts/login/?next=/archives/ From aurelien at bompard.org Mon Apr 28 10:04:55 2014 From: aurelien at bompard.org (Aurelien Bompard) Date: Mon, 28 Apr 2014 10:04:55 +0200 Subject: [Mailman-Developers] Bug in mailman-bundler In-Reply-To: References: Message-ID: Hey Abhilash! > I was trying out mailman-bundler and have setup a demo here [1]. I notice > that with 'USE_SSL=True' in development.py deployment settings, there is a > redirect loop while logging in[2]. I had to disable it to deploy. Hmm, this parameter should be ignored if DEBUG is True. But you're right, I had already seen this happen on Florian's install, so I'll just disable it in deployment.py just to be sure. > (The demo server still needs to be hooked up with postfix). Yes, and the bundler generates configuration examples for Postfix, so it should be rather easy. > Also maybe you can configure your launchpad repo of mailman-bundler to > handle bug reporting? I saw that it needs to be enabled for individual > repositories. Right, I missed that. Done now, thanks. Aur?lien From aurelien at bompard.org Mon Apr 28 10:07:35 2014 From: aurelien at bompard.org (Aurelien Bompard) Date: Mon, 28 Apr 2014 10:07:35 +0200 Subject: [Mailman-Developers] Deploying postorius and mailman-bundle In-Reply-To: References: Message-ID: > While I was trying to deploy using nginx and > uwsgi/gunicorn I found that they expect the script to have .py extension > and not .wsgi. All new django versions currently create a wsgi.py file along > with the project itself. So I was thinking we should change that in our code too. OK, this file is actually generated by the djangorecipe Buildout recipe, but fortunately there's a configuration option for the script name. I'll fix it. Aur?lien From aurelien at bompard.org Mon Apr 28 14:27:11 2014 From: aurelien at bompard.org (Aurelien Bompard) Date: Mon, 28 Apr 2014 14:27:11 +0200 Subject: [Mailman-Developers] Deploying postorius and mailman-bundle In-Reply-To: References: Message-ID: OK, fixed and pushed. I've added instructions for running via Gunicorn in the README, can you check them? Thanks! Aur?lien From varunsharmalive at gmail.com Wed Apr 30 08:54:54 2014 From: varunsharmalive at gmail.com (varun sharma) Date: Wed, 30 Apr 2014 12:24:54 +0530 Subject: [Mailman-Developers] GSOC 2014: CI tool for the Mailman suite and postorius improvements Message-ID: Hi everyone, Thanks for giving me opportunity to work with mailman community this summer. I'm an undergraduate student from Manipal Institute Of Technology, India and i'll be working on project "CI tool for the Mailman suite and postorius improvements". I would love to get feedback and suggestions from the community regarding my project which involves: 1. CI tool for Mailman Suite (mailman core, postorius, hyperkitty) 2. The UI Testing Framework for Postorius I am in process of discussing the best possible implementation for this project with my mentors and advice from the community for the same will be very helpful. Regards Varun From raj.abhilash1 at gmail.com Wed Apr 30 09:17:36 2014 From: raj.abhilash1 at gmail.com (Abhilash Raj) Date: Wed, 30 Apr 2014 12:47:36 +0530 Subject: [Mailman-Developers] GSOC 2014: CI tool for the Mailman suite and postorius improvements In-Reply-To: References: Message-ID: Hi Varun, Welcome to mailman community, we look forward to a great summer with you. On Wed, Apr 30, 2014 at 12:24 PM, varun sharma wrote: > Hi everyone, > Thanks for giving me opportunity to work with mailman community this > summer. I'm an undergraduate student from Manipal Institute Of Technology, > India and i'll be working on project "CI tool for the Mailman suite and > postorius improvements". > I would love to get feedback and suggestions from the community regarding > my project which involves: > 1. CI tool for Mailman Suite (mailman core, postorius, hyperkitty) > 2. The UI Testing Framework for Postorius > I think you should give something more to comment on rather than just asking to give suggestions and feedback. I can't tell you each and every step of your project only based on above two points. Maybe you can be more specific on ideas that you want suggestions on? Also not everyone on this list has read your proposal, so if you want to discuss on whether your proposal is enough to go though the summer or you need more details lined out(which I am sure you do ;-), it would be best if you either blog about your proposal(which I guess PSF wants you to do before coding period starts) or post about your proposal here in mm-dev and then ask for suggestions or feedback based on that. thanks, Abhilash From barry at list.org Wed Apr 30 16:11:17 2014 From: barry at list.org (Barry Warsaw) Date: Wed, 30 Apr 2014 10:11:17 -0400 Subject: [Mailman-Developers] GSOC 2014: CI tool for the Mailman suite and postorius improvements In-Reply-To: References: Message-ID: <20140430101117.11ec9b77@anarchist.wooz.org> Hi Varun, welcome to Mailman GSoC! On Apr 30, 2014, at 12:24 PM, varun sharma wrote: >Thanks for giving me opportunity to work with mailman community this >summer. I'm an undergraduate student from Manipal Institute Of Technology, >India and i'll be working on project "CI tool for the Mailman suite and >postorius improvements". >I would love to get feedback and suggestions from the community regarding >my project which involves: >1. CI tool for Mailman Suite (mailman core, postorius, hyperkitty) >2. The UI Testing Framework for Postorius >I am in process of discussing the best possible implementation for this >project with my mentors and advice from the community for the same will be >very helpful. One of the things I think is critical for the core, is testing it against supported the two supported db backends, SQLite and PostgreSQL. Eventually others if/when we get some contributions. I'd also love to see some testing against the major MTAs, and on other *nix platforms other than Ubuntu and Debian. Cheers, -Barry From barry at python.org Wed Apr 30 23:53:40 2014 From: barry at python.org (Barry Warsaw) Date: Wed, 30 Apr 2014 17:53:40 -0400 Subject: [Mailman-Developers] [Bug 1130957] Re: Unicode errors in mailman3 In-Reply-To: <20140430213828.4471.26296.malone@soybean.canonical.com> References: <20130220231858.9018.27307.malonedeb@gac.canonical.com> <20140430213828.4471.26296.malone@soybean.canonical.com> Message-ID: <20140430175340.277d4238@anarchist.wooz.org> On Apr 30, 2014, at 09:38 PM, Tim Marx wrote: >I'm using mailman 3.0.0b4 (with mailman-bundler) and ran into the same >problem as described above. Luckily I found this bug report and could manage >to fix it with the patches above. > >May I ask anybody (with more bazar-knowledge than me) to merge this two >patches into the mailman 3 branch? Thank you! I think we just need some test cases. Tim, can you provide any details on how you it the bug?