• 大小: 3KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-05-08
  • 语言: Python
  • 标签: python  

资源简介

用python实现的语音读邮件的小程序,非常简陋,人机交互的课程作业。

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
import poplib
import email
import pyttsx
from email.parser import Parser
from email.header import decode_header
from email.utils import parseaddr

#获取编码
def guess_charset(msg):
    charset = msg.get_charset()
    if charset is None:
        content_type = msg.get(‘Content-Type‘ ‘‘).lower()
        pos = content_type.find(‘charset=‘)
        if pos >= 0:
            charset = content_type[pos + 8:].strip()
    return charset

#文本解码
def decode_str(s):
    value charset = decode_header(s)[0]
    if charset:
        value = value.decode(charset)
    return value

#打印并读出邮件
def print_info(msg indent=0):
    engine=pyttsx.init()

    #获取发件人信息和主题
    if indent == 0:
        #邮件的FromSubject存在于根对象上
        for header in [‘From‘ ‘Subject‘]:
            value = msg.get(header ‘‘)
            
            if value:
                if header==‘Subject‘:
                    #解码subject字符串
                    value = decode_str(value)
                    engine.say(u‘邮件主题‘)
                    engine.say(value)
                    engine.runAndWait()
                    
                elif header==‘From‘:
                    #解码email地址
                    hdr addr = parseaddr(value)
                    name = decode_str(hdr)
                    value = u‘%s <%s>‘ % (name addr)
                    engine.say(u‘您收到一封邮件来自于‘)
                    engine.say(value)
                    engine.runAndWait()
                        
            print(‘%s: %s‘ %(

评论

共有 条评论