smtp - 用python开发邮件管理软件的一些问题
阿神
阿神 2017-04-18 09:47:33
[Python讨论组]

这个学期有软件课设,题目是邮件管理软件。目前主要遇到有如下的困惑,希望大神们能够对熟悉的问题给出相应的看法或者解决办法。

  1. 邮件软件界面的设计打算使用pyqt4,个人比较喜欢简约风格,看到了YoMail这个软件被惊艳到了(如下图),所以想问一下pyqt4是否可以实现?如果可以实现,怎么做到无边框效果?

2.关于邮件的接收和发送有没有什么好的模块可以推荐?貌似只有smtplib,pop3,如果觉得有更好的欢迎推荐,最好是有比较详细的文档。

3.课设要求需要实现通信簿的管理,这个该怎么做?pop3或者smtp的模块有这个方法吗?给个思路就好,如果有示例就更好了。

4.这个是最头痛的,就是关于邮件的接收。一直不明白接收到的邮件是以什么形式保存的,数据库还是直接保存为文件?如果保存为文件,那具体是什么文件,html吗?如果是数据库,又是怎么保存的?

阿神
阿神

闭关修行中......

全部回复(2)
阿神

通信簿的管理直接使用数据库,类似手机联系人的管理,然后可以在通信簿点联系人进入往来邮件,在邮件页面可以添加邮箱进入通信簿并添加昵称感觉功能就够了

PHP中文网

首先感谢shomy大牛的耐心解答,给了我很多思路,帮助我解决了很多问题。先对我自己的一些问题做出总结。

  1. 邮件软件界面的设计打算使用pyqt4,个人比较喜欢简约风格,看到了YoMail这个软件被惊艳到了(如下图),所以想问一下pyqt4是否可以实现?如果可以实现,怎么做到无边框效果?

下面代码可实现无边框效果

self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)

2.关于邮件的接收和发送有没有什么好的模块可以推荐?貌似只有smtplib,pop3,如果觉得有更好的欢迎推荐,最好是有比较详细的文档。

最终还是选择了smtplib和pop3,廖雪峰老师的教程可以参考一下。之前找到了PyMail这个库,设计思想是直接调用方法就行了,但是代码中有个莫名其妙的变量,所以运行起来总是报错,email了作者,但是没给答复,所以最终还是选择了smtplib和pop3

3.课设要求需要实现通信簿的管理,这个该怎么做?pop3或者smtp的模块有这个方法吗?给个思路就好,如果有示例就更好了。

通讯录可以通过收到的邮箱中的from_addr获得。

4.这个是最头痛的,就是关于邮件的接收。一直不明白接收到的邮件是以什么形式保存的,数据库还是直接保存为文件?如果保存为文件,那具体是什么文件,html吗?如果是数据库,又是怎么保存的?

这个最后我选择了以文件的形式,因为数据库不太熟练....而且python程序最后还得打包,不太确定是否可以将数据库也打包进去,所以还是选择保险的方式吧。大牛如果看到这,有更好的意见也欢迎说一下你的想法,先谢过了!

最后记录一下关于QlistWidget中的item获取鼠标点击事件的代码实现

# 这一句是我修改了无数次关键词后才找到的例子,感谢!
self.connect(self.emaillist, SIGNAL('itemClicked(QListWidgetItem *)'), self.itemClicked) 

@pyqtSlot()
def itemClicked(self):

    my_currentItem = self.emaillist.currentItem()
    my_text = my_currentItem.text()

    # 获取当前item所在行数
    my_index = self.emaillist.currentRow()
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号