为分级机和其他服务的电子邮件客户端fless.pro软件
email-client的Python项目详细描述
电子邮件客户
此repo consist email client for[grader](https://github.com/Flesspro/grader)和其他服务和包。在
##安装并运行
您需要python3.7,pytest5.0.1和make4.1。在
安装:pip安装电子邮件客户端
您还可以看到[PyPi](https://pypi.org/project/email-client/1.3.0/)。在
我们将makefile用于运行,环境变量用于配置。在
您可以找到smtp客户端和imap客户端。如果您愿意,您可以自定义解析电子邮件到smtp客户端,您可以 实施定制策略并使用它们。默认情况下,我们对分级器使用策略。在
清除电子邮件(删除所有电子邮件):
ENV_FILE=./.envs/my_envfile.env CLEAN=YES make clean
##示例
正在创建IMAPClient:
from email_client import client_pkg
client = client_pkg.IMAPClient( imap_host=os.getenv(‘IMAP_HOST’), imap_port=os.getenv(‘IMAP_PORT’), login=os.getenv(‘EMAIL_LOGIN’), password=os.getenv(‘EMAIL_PASSWORD’), extract_strategy=strategy, )
您可以登录:
client.login()
和注销:
client.logout()
几分钟后,您必须再次登录。很多服务器一次自动注销。此外,您还可以清除电子邮件:
client.clean_emails()
您可以设置指定文件夹:
client.clean_emails(‘inbox’)
另一种情况下,您可以收到所有电子邮件:
emails, statuses = client.get_imails(folder=’inbox’)
对于每封电子邮件,您将获得指定的状态。如果takezip(emails,status),你就有对了。您可以设置电子邮件类型, 例如,看不见的:
emails, statuses = client.get_imails(email_typeEmailsTypes.UNSEEN, folder=’inbox’)
同样的方法,你可以使SMTP客户端。在
测试
如果我们进行集成测试,我们有几个阶段:
- 数据生成
- 创建对象
- 测试
- 验证
- 干净
如果我们进行单元测试,我们有几个阶段:
- 创建对象
- 测试
- 验证
这样,单元测试就是集成测试的一部分。我们使用单元测试进行测试 上下文逻辑一个对象,函数(方法)。例如,我们有以下功能:
- def plus(a, b):
- return a + b
这是单元测试。我们要测试简单对象。这种情况并非总是可能的。 如果我们需要一些系统和模块的通信,我们需要进行集成测试。 例如,我们测试连接到数据库并从那里收集数据。这是 集成测试。在
所有测试都放在文件夹中:
tests/
如果要运行测试,可以执行以下操作(删除所有电子邮件):
ENV_FILE=.envs/my_envfile.env make test
示例测试.env:
EMAIL_TIMEOUT_TEST=1.5 # Timeout for waiting between reading and writing of emails
IMAP_HOST=imap.mail.ru IMAP_PORT=993 SMTP_HOST=smtp.mail.ru SMTP_PORT=587
EMAIL_LOGIN=my@email.ru EMAIL_PASSWORD=my_password
电子邮件(集成)
我们有一些客户需要发送电子邮件:
- SMTP客户端发送电子邮件
- IMAP客户端接收电子邮件
对于电子邮件客户,我们没有最好的方式。我们在IMAP客户端和IMAP客户端上测试SMTP客户端 通过SMTP客户端。在
- 项目
标签: