예제 #1
0
파일: pymail.py 프로젝트: qiupq/LearnPython
def showmessage(i, msgList):
    if 1 <= i <= len(msgList):
        print '-'*80
        msg = Parser().parsestr(msgList[i-1])
        print msg.get_payload()         # prints payload: string, or [Messages]
       #print msgList[i-1]              # old: prints entire mail--hdrs+text
        print '-'*80                    # to get text only, call file.read()
    else:                               # after rfc822.Message reads hdr lines
        print 'Bad message number'
예제 #2
0
def showmessage(i, msgList):
    if 1 <= i <= len(msgList):
        print('-'*80)
        msg = Parser( ).parsestr(msgList[i-1])
        print(msg.get_payload( ))            # print(s payload: string, or [Messages]
       #print(msgList[i-1]              # old: print(s entire mail--hdrs+text
        print('-'*80)                    # to get text only, call file.read( )
    else:                               # after rfc822.Message reads hdr lines
        print('Bad message number')
예제 #3
0
    new_body = re.sub(r'hxxp(s?)://', r'http\1://',
                      part.get_payload(decode=True))
    if part.__getitem__("Content-Transfer-Encoding") == "base64":
        return base64.b64encode(new_body)
    elif part.__getitem__("Content-Transfer-Encoding") == "quoted-printable":
        return quopri.encodestring(new_body)
    else:
        return new_body


def part_loop(parts):
    for part in parts:
        if part.is_multipart():
            part_loop(part.get_payload())
        if (part.get_content_type()
                == 'text/plain') or (part.get_content_type() == 'text/html'):
            part.set_payload(filter(part))
    return


prefix = stdin.readline()
message = Parser().parse(stdin)

if not message.is_multipart():
    message.set_payload(filter(message))
else:
    part_loop(message.get_payload())

stdout.write(prefix)
stdout.write(message.as_string())