python 发邮件乱码的几种解决方法

Python022

python 发邮件乱码的几种解决方法,第1张

打开python的Lib文件夹下的 mimetypes.py 文件,找到大概256行的

‘default_encoding = sys.getdefaultencoding()’。

在这行前面添加三行,并且注释4行代码

                #try:

                #    ctype = ctype.encode(default_encoding) # omit in 3.x!

                #except UnicodeEncodeError:

                #    pass

                else:

                    yield ctype

                i += 1

 

                if sys.getdefaultencoding() != 'gbk':  

                    reload(sys)  

                    sys.setdefaultencoding('gbk')

                default_encoding = sys.getdefaultencoding()

应该是编码的问题……说不定发送英文或者数字的能够正常呢?

好吧,其实我也不太清楚

不过我关注的不是这个,而是放在文件夹下的方法太蛋疼了。

弄个拖动的吧,这样就可以放在%userprofile%\AppData\Roaming\Microsoft\Windows\SendTo文件夹下,直接“发送到”了,getfile用于接收文件路径

try:

#得到拖动的文件路径

getfile = sys.argv[1]except Exception, e:

#用正常方式打开

getfile = raw_input('输入完整路径获取附件(拖动文件到控制台窗口):')filename = os.path.basename(getfile)#从路径获取文件名

对了,别忘记把.py后缀改成.pyw,消除黑色窗口……

还有弄个

import ctypes#……#结束后弹出提示对话框text = filename + '\n' + 'Successfully sent to ' + msg['to']ctypes.windll.user32.MessageBoxA(0, text, '', 0)#……

来吧,可劲地折腾吧。