以可读类型提供来自gmail邮箱的数据

py-mail的Python项目详细描述


py邮件

Build status

该项目将提供从gmail邮箱接收人类可读类型数据的能力。 为此,有两个主要功能:

  1. get_mail_text_from_last_few
  2. get_mail_text_by_id

一。从上几个

获取邮件和文本

此函数查看邮箱中的每个字母,并返回指定用户的字母。 “这怎么可能?”-get_mail_text_from_last_few需要唯一的电子邮件地址。例如:

  • some.address+9014@gmail.com
  • some.address+currnet_date()@gmail.com
  • some.address+datetime.now()@gmail.com

参数:

  • expected_email:收到消息的预期电子邮件地址~some.address+9014@gmail.com
  • flag:gmail消息的附加筛选器~flag='Subject "Welcome to Gmail!"'
  • ^ }:在SEC中退出循环的时间。(结束获取数据)~timeout=60
  • last_few:将按预期电子邮件搜索的最近电子邮件数last_few=5
  • label:目标标签。如果不同于mailclient ~label='inbox'
fromdatetimeimportdatetimeimportpytestfrompy_mailimportMailClient@pytest.fixturedefmail_client():mail_client=MailClient(email_address='some.address@gmail.com',password='AmazingPass',label='inbox')yieldmail_clientmail_client.logout()defget_email_by_idimap_client(mail_client):expected_email=f'some.address+{datetime.now()}@gmail.com'mail=mail_client.get_mail_text_from_last_few(expected_email=expected_email,last_few=10,timeout=60)returnmail# or you can search some specific data from letter via regex

2.按ID获取邮件文本

此函数按索引获取字母(默认情况下最后一个字母)并返回其内容(文本)。 缺点是你可能会收到错误的电子邮件: 因为送货时间过长或收到的信件太多而造成的问题

参数:

  • label-gmail消息的附加筛选器~flag='Subject "Welcome to Gmail!"'
  • flag-目标标签。如果不同于mailclient ~label='inbox'
  • index-所需邮件的索引(越大越新)~index=-1
importpytestfrompy_mailimportMailClient@pytest.fixturedefmail_client():mail_client=MailClient(email_address='some.address@gmail.com',password='AmazingPass',label='inbox')yieldmail_clientmail_client.logout()defget_email_by_id(mail_client):mail=mail_client.get_mail_text_by_id(label='other inbox',flag='subject "Confirm your device"')returnmail# or you can search some specific data from letter via regex

有用的链接:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本