本文整理汇总了Python中Mailman.Utils.report_submission方法的典型用法代码示例。如果您正苦于以下问题:Python Utils.report_submission方法的具体用法?Python Utils.report_submission怎么用?Python Utils.report_submission使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mailman.Utils
的用法示例。
在下文中一共展示了Utils.report_submission方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: process
# 需要导入模块: from Mailman import Utils [as 别名]
# 或者: from Mailman.Utils import report_submission [as 别名]
#.........这里部分代码省略.........
do_discard(mlist, msg)
elif msg.get_content_type()=='text/plain' and not msg.is_multipart():
# handle inline signature; message looks like e.g.
#
# Content-Type: text/plain; charset=iso-8859-1
# Content-Disposition: inline
# Content-Transfer-Encoding: 8bit
# MIME-Version: 1.0
#
# -----BEGIN PGP SIGNED MESSAGE-----
# Hash: SHA1
#
# blah blah
#
# -----BEGIN PGP SIGNATURE-----
# Version: GnuPG v1.4.0 (GNU/Linux)
#
# iD8DBQFCPtWXW5ql+IAeqTIRAirPAK....
# -----END PGP SIGNATURE-----
signatures = [None]
payload = msg.get_payload(decode=True)
payloadmsg = msg
elif msg.get_content_type()=='multipart/alternative' and msg.is_multipart():
#GPG signed plaintext with HTML version
for submsg in msg.get_payload():
if submsg.get_content_type()=='text/plain':
if not payload:
# text without headers
signatures = [None]
payload = submsg.get_payload(decode=True)
payloadmsg = submsg
else:
# we only deal with exactly one payload part
Utils.report_submission(msg['Message-ID'],'Confused by MIME message structure, discarding.')
syslog('gpg','multipart/alternative message with more than one plaintext')
do_discard(mlist, msg)
elif msg.get_content_type()=='multipart/mixed' and msg.is_multipart():
#GPG signed plaintext with attachments. Use first plaintext part (more text attachments are perfectly valid here)
#TODO submsg may be multipart/alternative itself or whatever structure - is that used in the wild anywhere?
for submsg in msg.get_payload():
if submsg.get_content_type()=='text/plain':
# text without headers
payload = submsg.get_payload(decode=True)
payloadmsg = submsg
if payload.lstrip().startswith('-----BEGIN PGP '):
signatures = [None]
break
elif submsg.get_content_type() in set(['application/pgp-encrypted', 'application/pgp']):
signatures = [None]
payload = submsg.get_payload(decode=True)
payloadmsg = submsg
submsg.set_type('text/plain; charset="utf-8"')
break
elif submsg.get_content_type()=='multipart/alternative' and submsg.is_multipart():
#GPG signed plaintext with HTML version
for subsubmsg in submsg.get_payload():
if subsubmsg.get_content_type()=='text/plain':
if not payload:
# text without headers
payload = subsubmsg.get_payload(decode=True)
if payload.lstrip().startswith('-----BEGIN PGP '):
signatures = [None]
payloadmsg = subsubmsg
else:
# we only deal with exactly one payload part
syslog('gpg','multipart/alternative message with more than one plaintext')