跳转到主要内容

提供邮件内容类型和邮件行为

项目描述

简介

ftw.mail 提供了一个基于 dexterity 的邮件内容类型,允许您将电子邮件上传到您的 Plone 网站。这包括提取电子邮件的重要数据,如

  • 附件

  • 邮件头

  • 正文文本

  • 解包附加的电子邮件 (msg)。

邮件入站功能

ftw.mail的主要功能是收件箱功能。收件箱功能允许您直接将电子邮件发送到您的Plone网站。发送到Plone的电子邮件将被提取并自动创建为邮件内容类型。

安全

  1. 必须有一个注册用户,并且该用户的电子邮件地址与发件人地址匹配。

  2. 用户必须具有足够的权限在文件夹中添加邮件对象。

  3. 电子邮件将以发件人的安全上下文创建。

电子邮件地址是什么?

电子邮件地址的本地部分是唯一标识符,用于标识相应的文件夹对象。默认实现使用对象的UUID。如果可添加ftw.mail.mail内容类型,则邮件入站地址将自动显示在视图小部件中。

安装

  • ftw.mail添加到您的buildout配置中。

[instance]
eggs +=
    ftw.mail
  • 安装通用设置导入配置文件。

启用邮件入站功能

mta2plone.py脚本放置在服务器PATH的某个位置。请确保mta2plone.py是可执行的(chmod +x mta2plone.py)。

/etc/postfix/virtual中的示例Postfix配置

inbound.example.org anything
@inbound.example.org inbound-example

/etc/aliases中的示例

inbound-example: "|/path/to/mta2plone.py http://127.0.0.1:8080/Plone/mail-inbound"

记住在更新/etc/aliases后运行newaliases命令(作为root),以便Postfix能够获取更改。

对于本地测试,还可以在控制台中启动mta2plone.py并将原始邮件粘贴到STDIN中。

./mta2plone.py http://127.0.0.1:8080/Plone/mail-inbound recipient-email

(由于mta2plone.py脚本将从STDIN读取,您需要在粘贴邮件内容后使用CTRL-D发送EOF。)

兼容性

Plone 4.3兼容。

更改日志

2.8.0 (2024-01-03)

  • 删除对已弃用的plone.directives.form的依赖。 [buchi]

2.7.7 (2023-04-04)

  • 修复邮件附件文件名提取中的unicode解码错误。 [njohner]

2.7.6 (2023-03-30)

  • 进一步改进附件文件名提取。 [njohner]

2.7.5 (2023-01-31)

  • 处理更多被截断的附件文件名情况。 [lgraf]

2.7.4 (2022-11-15)

  • 处理附件的截断文件名。 [phgross]

2.7.3 (2021-10-22)

  • 使从邮件主题提取标题对错误更具有容错性。 [phgross]

2.7.2 (2021-07-27)

  • 修复附加到邮件的邮件的下载。 [njohner]

  • 对于缺少文件名的eml附件,使用邮件主题作为文件名。 [njohner]

2.7.1 (2021-07-07)

  • 处理EML附件缺少文件名的情况。 [njohner]

2.7.0 (2020-06-09)

  • 为签名/多部分消息附件添加特殊处理。 [deiferni]

2.6.2 (2020-06-08)

  • 当编码单词不以空格分隔时,改进头部解码。 [mbaechtold]

2.6.1 (2019-07-08)

  • 修复存在未初始化的头部缓存时的升级问题。 [deiferni]

2.6.0 (2019-03-22)

  • 停止支持Plone 4.2。 [lgraf]

  • 在入站邮件视图中记录常见错误。 [lgraf]

2.5.5 (2018-09-21)

  • 递归嵌套多部分附件的大小。 [Rotonen]

2.5.4 (2017-11-24)

  • 修复无效邮件日期的处理。 [njohner]

2.5.3 (2017-11-23)

  • 修复电子邮件的日期排序。 [njohner]

2.5.2 (2017-07-11)

  • 清理:还原LWSP正则表达式,并将v2.5.1中的更改移动到单独的正则表达式,因为它们解决不同的问题。

2.5.1 (2017-05-23)

2.5.0 (2017-05-22)

  • 将创建邮寄邮件的功能移至适配器,以允许更容易的定制。[deiferni]

2.4.1 (2017-05-22)

  • 修复在传入邮件上设置具有命名词汇的默认选项。[phgross]

2.4.0 (2016-07-19)

  • 使用标记接口标记传入请求。[phgross]

  • 停止对Plone 4.1的支持。[phgross]

  • 修复“ftw.mail.mail”的德语和法语FTI标题。[mbaechtold]

2.3.7 (2015-09-08)

  • 修复文本/html MIME部分中损坏的<meta />标签。[lgraf]

2.3.6 (2015-09-02)

  • 对Mailtab进行排序,使最新邮件成为第一个项目。[tschanzt]

2.3.5 (2015-08-20)

  • 将升级步骤改为更具有防御性,以避免因缓存异常而在升级过程中出现麻烦。[lgraf]

2.3.4 (2015-08-19)

  • 确保message.contentType以str形式存储,而不是以unicode形式存储。否则,在尝试再次保存对象时将导致“错误的包含类型”。包括升级步骤以修复现有对象。[lgraf]

2.3.3 (2015-08-03)

  • get_header():修复RFC 2047编码的单词,这些单词由“CRLF LWSP”分隔(根据RFC是正常的),通过将CRLF替换为空格,以便decode_header可以正确解析它们。这解决了decode_header中已修复的bug,在3.3中已修复。请参阅http://bugs.python.org/issue4491及其副本。[lgraf]

2.3.2 (2015-06-30)

  • 使Apple部分编码的正则表达式更具体,这样我们就不会意外地删除需要引号的头部部分的引号。[lgraf]

  • 添加了zip导出测试。[lknoepfel]

2.3.1 (2015-03-12)

  • 重构邮件视图以包含所有HTML部分。[jone]

2.3.0 (2015-03-02)

  • 为邮件启用可引用行为。[jone]

2.2.3 (2014-10-24)

  • 使用premailer转换在邮件内部解析<style>标签。[phgross]

  • 使用safe-html转换将邮件体显示为XSS保存。[phgross]

  • 修复生成邮件中图像附件链接时的问题。[deiferni]

2.2.2 (2014-08-28)

  • 对于声明了不正确字符集的邮件,作为最后的手段尝试将它们解码为latin1,忽略所有错误。[lgraf]

  • 对于可搜索文本扩展器:不仅解码Content-Transfer-Encoding,而且还使用声明的字符集解码实际内容。[lgraf]

2.2.1 (2014-05-30)

  • 修复从2.2.0升级的brown bag步骤。[jone]

2.2.0 (2014-05-28)

  • 性能改进

    • 在对象上存储邮件主题的标题,这样我们就不必读取消息来在访问时检索标题。

    • 在邮件对象上缓存附件信息。

    • 缓存标签视图的标题。

    [jone]

  • 确保只有默认值将为IMailSettings.mail_domain设置,但在运行升级步骤两次时不会覆盖现有值。[lgraf]

2.1.1 (2014-05-12)

  • 传入视图:在查找默认值适配器时,将容器作为上下文而不是内容进行适配。[lgraf]

  • 传入视图:在为新创建的对象设置默认值时,删除AQ包装,以免在检查对象上是否已存在字段时得到虚假结果(由于获取)[lgraf]

  • 修复Apple Mail中的From-/To-/Cc-Header编码问题。[jone]

  • 使主字段也适用于dexterity-1安装。[phgross]

  • 添加了I. Anthenien的法语翻译。[lknoepfel]

2.1.0 (2014-03-28)

  • 删除“validate_sender”配置设置。我们始终要求发送者有效。[jone]

  • 重构传入视图,以便更容易进行定制和错误处理。[jone]

  • 改进可搜索文本以递归索引附件。[jone]

  • 在升级步骤到2000中添加了注册条目“mail_domain”。[lknoepfel]

  • 通过使用兼容的ftw.workspace版本修复Plone 4.1.x - 4.2.x的测试。[mathias.leimgruber]

2.0 (2013-10-21)

  • 使邮件选项卡日期解析更稳健。[jone]

  • 禁用邮件选项卡中标题信息列的排序。由于信息不在目录中,当前无法对标题信息进行排序。当我们不在目录外进行排序时,我们可能会在有许多邮件时遇到性能问题,因此我们目前将其禁用。[jone]

  • 使用Plone默认类进行表格样式。[Julian Infanger]

  • 修复传入视图中的响应内容类型。[lknoepfel]

  • 撤销“ftw.mail: 添加邮件”权限。此权限使“邮件”类型显示在添加菜单中。只有管理员(经理)应该能够通过添加菜单添加新邮件,常规使用情况是通过入站发送邮件。还将立法者提示更改为忽略此权限。[jone]

  • 添加ftw.lawgiver支持。[mathias.leimgruber]

  • 为ftw.workspace添加邮件标签。[mathias.leimgruber]

  • 实现邮件查看器。[mathias.leimgruber]

  • 添加readme。[mathias.leimgruber]

  • 添加IEmailAddress适配器,使其易于更改生成目的地电子邮件地址的行为以及获取给定电子邮件地址的目的地。(已删除目的地解析器)[mathias.leimgruber]

  • 添加uuid支持并删除intid。[mathias.leimgruber]

  • 使用view.pt作为邮件内容类型的默认视图。[mathias.leimgruber]

  • 取消冻结包。[mathias.leimgruber]

  • 修复plone 4.3的测试设置和intid。[mathias.leimgruber]

  • 添加plone 4.3.x测试配置和开发配置。[mathias.leimgruber]

1.0.4 (2012-09-12)

1.0.3 (2012-06-18)

  • 修复了解析html正文时BeautifulSoup相关的编码错误。[lgraf]

  • 修复文件名编码处理。[jone]

1.0.2 (2012-03-28)

  • 入站邮件:从由MTA设置的env变量中获取收件人,而不是从To标题中获取。这允许To标题中有多个收件人的邮件,Plone目的地地址不再需要排在第一位。问题 #1312 错误:带有多个地址的电子邮件 https://extranet.4teamwork.ch/projects/opengever-kanton-zug/sprint-backlog/1312/ [lgraf]

  • 在测试中使intids工作(显式注册IIntIds实用程序)[lgraf]

1.0.1 (2012-02-24)

  • 添加了一些法语翻译[ttschanz]

1.0 (2011-11-17)

  • 修复了msg获取器,现在它也可以在没有主题的邮件上工作。[phgross]

1.0a11 (2011-10-04)

  • 在创建email.message对象之前修复了过长主题标题的错误。[lgraf]

  • 添加了测试以测试带有奇怪字符的主题的邮件创建。[lgraf]

  • 在使用它作为ID创建邮件对象之前规范化主题。[lgraf]

  • 将默认编码更改为“utf-8”以用于safe_utf8方法。应修复邮件主题中的解码问题。问题 #1209 错误:导入的邮件中的假元音 https://extranet.4teamwork.ch/projects/opengever-kanton-zug/sprint-backlog/1209 [phgross]

1.0a10 (2011-09-27)

  • 更改了get_payload方法中的回退编码,对于没有正确字符集信息的msg对象。因此,我们可以修复邮件体中非ascii字符的显示错误。[phgross]

  • 将已弃用的grok.CodeView更改为grok.View [eschmutz]

  • 添加了plone 4.1的测试buildout [eschmutz]

1.0a9 (2011-08-24)

1.0a8

  • 修复了消息值创建:文件名必须是Unicode,这样才能与新的plone.namedfile 1.0.3一起使用 [phgross]

  • 属性添加了虚拟设置器,这样在尝试设置ftw.mail.mail对象的标题时就不会出现AttributeError。[lgraf]</p></li> <li><p>在setup.py中添加了对collective.dexteritytextindexer的缺失依赖项 [lgraf]</p></li> <li><p>在test-plone-4.0.x.cfg中将zope.component锁定为3.8.0以解决版本冲突 [lgraf]</p></li> </ul> </section> <section id="a7"> <h3>1.0a7</h3> <ul class="simple"> <li><p>添加DynamicTextIndexExtender以将消息体添加到searchableText中 [lgraf]</p></li> </ul> </section> <section id="a6"> <h3>1.0a6</h3> <ul class="simple"> <li><p>更改了德语翻译中的小错误 [phabegger]</p></li> </ul> </section> <section id="a5"> <h3>1.0a5</h3> <ul class="simple"> <li><p>根据rfc 2047,多个编码单词由空格分隔:修复了测试。[jbaumann]</p></li> <li><p>创建了一个名为 safe_decode_header 的工具函数,该函数根据 rfc 2047 正确处理 get_filenames 的编码。这解决了测试问题。[jbaumann]</p></li> <li><p>增加了对嵌套的多部分电子邮件的支持,其中附件位于消息的另一部分中。[jbaumann]</p></li> </ul> </section> <section id="a4"> <h3>1.0a4</h3> </section> <section id="a3"> <h3>1.0a3</h3> <ul class="simple"> <li><p>删除了 <cite>save_attachments</cite>:由于它是 opengever 特定的,已移动到 <cite>opengever.mail</cite>。[2010年11月2日,jbaumann]</p></li> <li><p>添加了 <cite>remove_attachments</cite> 方法。[2010年11月1日,jbaumann]</p></li> <li><p>添加了对文件名编码问题的测试。测试仍然失败… [Thomas Buchberger]</p></li> <li><p>将附件消息的解包移动到工具方法中。添加了测试。[Thomas Buchberger]</p></li> <li><p>在创建邮件后正确恢复当前的 SecurityManger。[Thomas Buchberger]</p></li> <li><p>添加了对未知发送者的测试。[Thomas Buchberger]</p></li> </ul> </section> <section id="a2"> <h3>1.0a2</h3> </section> <section id="section-41"> <h3>1.0</h3> <ul class="simple"> <li><p>初始发布</p></li> </ul> </section> </section> </div> </div> <div id="data" data-project-tabs-target="content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="mobile-data-tab" tabindex="-1"> <h2 class="page-title">项目详情</h2> <div class="sidebar-section verified"> <h3 class="sidebar-section__title">验证详情 <i class="fa fa-circle-check check" title="于2024-01-03由PyPI验证"></i></h3> <small><i>这些详情已被<a href="https://docs.pypi.ac.cn/project_metadata/#verified-details">PyPI验证</a></i></small> <h6>维护者</h6> </div> <div class="sidebar-section unverified"> <h3 class="sidebar-section__title">未验证的详细信息</h3> <small><i>这些详细信息尚未由 PyPI 验证</i></small> <h6>项目链接</h6> <ul class="vertical-tabs__list"> <li> <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed" href="https://github.com/4teamwork/ftw.mail" rel="nofollow"> <i class="fas fa-home" aria-hidden="true"></i>主页</a> </li> </ul> <div class="sidebar-section unverified"> <h6>元数据</h6> <ul> <li> <span> <strong>许可协议:</strong> GPL2</span> </li> <li> <span> <strong>作者:</strong> <a href="mailto:info@4teamwork.ch">4teamwork AG</a></span> </li> </ul> </div> <div class="sidebar-section unverified"> <h6 class="sidebar-section__title">分类</h6> <ul class="sidebar-section__classifiers"> <li> <strong>框架</strong> <ul> <li> <a href="/search/?c=Framework+%3A%3A+Plone">Plone</a> </li> <li> <a href="/search/?c=Framework+%3A%3A+Plone+%3A%3A+4.3">Plone :: 4.3</a> </li> </ul> </li> <li> <strong>目标受众</strong> <ul> <li> <a href="/search/?c=Intended+Audience+%3A%3A+Developers">开发者</a> </li> </ul> </li> <li> <strong>主题</strong> <ul> <li> <a href="/search/?c=Topic+%3A%3A+Software+Development+%3A%3A+Libraries+%3A%3A+Python+Modules">软件开发 :: 库 :: Python 模块</a> </li> </ul> </li> </ul> </div> </div> <br /> </div> <div id="history" data-project-tabs-target="content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="history-tab mobile-history-tab" tabindex="-1"> <h2 class="page-title split-layout"> <span>发布历史</span> <span class="reset-text margin-top"> <a href="/help/#project-release-notifications">发布通知</a> | <a href="/rss/project/ftw-mail/releases.xml">RSS 源 <i class="fa fa-rss" aria-hidden="true"></i></a> </span></h2> <div class="release-timeline"> <div class="release release--latest release--current"> <div class="release__meta"> <span class="badge">本版本</span> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/blue-cube.572a5bfb.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.8.0/"> <p class="release__version"> 2.8.0 </p> <p class="release__version-date"> <time datetime="2024-01-03T08:38:35+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2024年1月3日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.7.7/"> <p class="release__version"> 2.7.7 </p> <p class="release__version-date"> <time datetime="2023-04-04T06:07:27+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2023年4月4日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.7.6/"> <p class="release__version"> 2.7.6 </p> <p class="release__version-date"> <time datetime="2023-03-30T09:35:59+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2023年3月30日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.7.5/"> <p class="release__version"> 2.7.5 </p> <p class="release__version-date"> <time datetime="2023-01-31T13:17:02+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2023年1月31日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.7.4/"> <p class="release__version"> 2.7.4 </p> <p class="release__version-date"> <time datetime="2022-11-15T13:04:59+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2022年11月15日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.7.3/"> <p class="release__version"> 2.7.3 </p> <p class="release__version-date"> <time datetime="2021-10-22T06:41:24+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2021年10月22日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.7.2/"> <p class="release__version"> 2.7.2 </p> <p class="release__version-date"> <time datetime="2021-07-27T15:03:38+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2021年7月27日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.7.1/"> <p class="release__version"> 2.7.1 </p> <p class="release__version-date"> <time datetime="2021-07-07T12:56:55+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2021年7月7日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.7.0/"> <p class="release__version"> 2.7.0 </p> <p class="release__version-date"> <time datetime="2020-06-09T07:49:23+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2020年6月9日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.6.2/"> <p class="release__version"> 2.6.2 </p> <p class="release__version-date"> <time datetime="2020-06-08T09:02:14+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2020年6月8日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.6.1/"> <p class="release__version"> 2.6.1 </p> <p class="release__version-date"> <time datetime="2019-07-08T15:52:10+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2019年7月8日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.6.0/"> <p class="release__version"> 2.6.0 </p> <p class="release__version-date"> <time datetime="2019-03-22T14:00:03+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2019年3月22日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.5.5/"> <p class="release__version"> 2.5.5 </p> <p class="release__version-date"> <time datetime="2018-09-21T14:29:01+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2018年9月21日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.5.4/"> <p class="release__version"> 2.5.4 </p> <p class="release__version-date"> <time datetime="2017-11-24T10:52:26+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2017年11月24日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.5.3/"> <p class="release__version"> 2.5.3 </p> <p class="release__version-date"> <time datetime="2017-11-23T16:24:02+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2017年11月23日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.5.2/"> <p class="release__version"> 2.5.2 </p> <p class="release__version-date"> <time datetime="2017-07-11T09:04:56+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2017年7月11日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.5.1/"> <p class="release__version"> 2.5.1 </p> <p class="release__version-date"> <time datetime="2017-05-23T13:49:43+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2017年5月23日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.5.0/"> <p class="release__version"> 2.5.0 </p> <p class="release__version-date"> <time datetime="2017-05-22T12:41:43+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2017年5月22日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.4.1/"> <p class="release__version"> 2.4.1 </p> <p class="release__version-date"> <time datetime="2017-05-22T12:34:02+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2017年5月22日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.4.0/"> <p class="release__version"> 2.4.0 </p> <p class="release__version-date"> <time datetime="2016-07-19T05:34:10+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2016年7月19日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.3.7/"> <p class="release__version"> 2.3.7 </p> <p class="release__version-date"> <time datetime="2015-09-08T08:24:48+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2015年9月8日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.3.6/"> <p class="release__version"> 2.3.6 </p> <p class="release__version-date"> <time datetime="2015-09-02T14:01:43+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2015年9月2日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.3.5/"> <p class="release__version"> 2.3.5 </p> <p class="release__version-date"> <time datetime="2015-08-20T10:04:38+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2015年8月20日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.3.4/"> <p class="release__version"> 2.3.4 </p> <p class="release__version-date"> <time datetime="2015-08-19T14:40:06+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2015年8月19日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.3.3/"> <p class="release__version"> 2.3.3 </p> <p class="release__version-date"> <time datetime="2015-08-03T07:13:58+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2015年8月3日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.3.2/"> <p class="release__version"> 2.3.2 </p> <p class="release__version-date"> <time datetime="2015-06-30T12:26:13+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2015年6月30日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.3.1/"> <p class="release__version"> 2.3.1 </p> <p class="release__version-date"> <time datetime="2015-03-12T11:00:29+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2015年3月12日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.3.0/"> <p class="release__version"> 2.3.0 </p> <p class="release__version-date"> <time datetime="2015-03-02T08:54:37+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2015年3月2日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.2.3/"> <p class="release__version"> 2.2.3 </p> <p class="release__version-date"> <time datetime="2014-10-24T16:21:47+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2014年10月24日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.2.2/"> <p class="release__version"> 2.2.2 </p> <p class="release__version-date"> <time datetime="2014-08-28T16:13:44+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2014年8月28日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.2.1/"> <p class="release__version"> 2.2.1 </p> <p class="release__version-date"> <time datetime="2014-05-30T13:36:03+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2014年5月30日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.2.0/"> <p class="release__version"> 2.2.0 </p> <p class="release__version-date"> <time datetime="2014-05-28T12:48:56+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2014年5月28日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.1.1/"> <p class="release__version"> 2.1.1 </p> <p class="release__version-date"> <time datetime="2014-05-12T10:12:26+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2014年5月12日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.1.0/"> <p class="release__version"> 2.1.0 </p> <p class="release__version-date"> <time datetime="2014-03-28T15:31:31+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2014年3月28日</time> </p> </a> </div> <div class="release"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/2.0/"> <p class="release__version"> 2.0 </p> <p class="release__version-date"> <time datetime="2013-10-21T07:13:18+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2013年10月21日</time> </p> </a> </div> <div class="release release--oldest"> <div class="release__meta"> </div> <div class="release__graphic"> <div class="release__line"></div> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/white-cube.2351a86c.svg"> </div> <a class="card release__card" href="/project/ftw.mail/1.0.4/"> <p class="release__version"> 1.0.4 </p> <p class="release__version-date"> <time datetime="2014-02-12T08:59:03+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2014年2月12日</time> </p> </a> </div> </div> </div> <div id="files" data-project-tabs-target="content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="files-tab mobile-files-tab" tabindex="-1"> <h2 class="page-title">下载文件</h2> <p>下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 <a href="https://packaging.pythonlang.cn/tutorials/installing-packages/" title="外部链接" target="_blank" rel="noopener">安装包</a> 的更多信息。</p> <h3>源分发</h3> <div class="file"> <div class="file__graphic"> <i class="far fa-file" aria-hidden="true"></i> </div> <div class="card file__card"> <a href="https://files.pythonhosted.org/packages/b3/b1/1d814c00d5e8a9bf2de78fcdfa939c363d43f186f5172f2b3facec06f64a/ftw.mail-2.8.0.tar.gz"> ftw.mail-2.8.0.tar.gz </a> (650.8 kB <a href="#copy-hash-modal-5d344808-ee73-4010-a16d-ddd343eca418">查看哈希值</a>)<p class="file__meta">上传时间 <time datetime="2024-01-03T08:38:35+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false"> 2024年1月3日 </time> <code>源</code></p> </div> </div> </div> <div id="copy-hash-modal-5d344808-ee73-4010-a16d-ddd343eca418" class="modal modal--wide"> <div class="modal__content" role="dialog"> <a href="#modal-close" title="Close" class="modal__close"> <i class="fa fa-times" aria-hidden="true"></i> <span class="sr-only">关闭</span></a> <div class="modal__body"> <h3 class="modal__title"> <a href="https://pip.pythonlang.cn/en/stable/topics/secure-installs/#hash-checking-mode" title="外部链接" target="_blank" rel="noopener">ftw.mail-2.8.0.tar.gz 的哈希值</a></h3> <table class="table table--hashes"> <caption class="sr-only">ftw.mail-2.8.0.tar.gz 的哈希值</caption> <thead> <tr> <th scope="col">算法</th> <th scope="col">哈希摘要</th> <th></th> </tr> </thead> <tbody> <tr data-controller="clipboard"> <th scope="row">SHA256</th> <td><code data-clipboard-target="source">4f8d28fbf517d2278266fa8f85f5c03c790de6fe108de3134dae443fa65e907f</code></td> <td class="table__align-right"> <button type="button" class="button button--small copy-tooltip copy-tooltip-w" data-action="clipboard#copy" data-clipboard-target="tooltip" data-clipboard-tooltip-value="Copy to clipboard">复制</button> </td> </tr> <tr data-controller="clipboard"> <th scope="row">MD5</th> <td><code data-clipboard-target="source">424d01fc4d59617dae38549562f69805</code></td> <td class="table__align-right"> <button type="button" class="button button--small copy-tooltip copy-tooltip-w" data-action="clipboard#copy" data-clipboard-target="tooltip" data-clipboard-tooltip-value="Copy to clipboard">复制</button> </td> </tr> <tr data-controller="clipboard"> <th scope="row">BLAKE2b-256</th> <td><code data-clipboard-target="source">b3b11d814c00d5e8a9bf2de78fcdfa939c363d43f186f5172f2b3facec06f64a</code></td> <td class="table__align-right"> <button type="button" class="button button--small copy-tooltip copy-tooltip-w" data-action="clipboard#copy" data-clipboard-target="tooltip" data-clipboard-tooltip-value="Copy to clipboard">复制</button> </td> </tr> </tbody> </table> </div> <div class="modal__footer"> <a href="#modal-close" class="button button--primary modal__action">关闭</a> </div> </div> </div> </div> </div> </div> </div> </main> <footer class="footer"> <div class="footer__logo"> <img src="/static/images/white-cube.2351a86c.svg" alt="" class="-js-white-cube"> </div> <div class="footer__menus"> <div class="footer__menu"> <h2>帮助</h2> <nav aria-label="Help navigation"> <ul> <li><a href="https://packaging.pythonlang.cn/tutorials/installing-packages/" title="External link" target="_blank" rel="noopener">安装包</a></li> <li><a href="https://packaging.pythonlang.cn/tutorials/packaging-projects/" title="External link" target="_blank" rel="noopener">上传包</a></li> <li><a href="https://packaging.pythonlang.cn/" title="External link" target="_blank" rel="noopener">用户指南</a></li> <li><a href="https://pythonlang.cn/dev/peps/pep-0541/" title="External link" target="_blank" rel="noopener">项目名称保留</a></li> <li><a href="/help/">常见问题解答</a></li> </ul> </nav> </div> <div class="footer__menu"> <h2>关于 PyPI</h2> <nav aria-label="About PyPI navigation"> <ul> <li><a href="https://blog.pypi.ac.cn" title="External link" target="_blank" rel="noopener">PyPI 博客</a></li> <li><a href="https://dtdg.co/pypi" title="External link" target="_blank" rel="noopener">基础设施仪表板</a></li> <li><a href="/stats/">统计信息</a></li> <li><a href="/trademarks/">标志和商标</a></li> <li><a href="/sponsors/">我们的赞助商</a></li> </ul> </nav> </div> <div class="footer__menu"> <h2>为 PyPI 做贡献</h2> <nav aria-label="How to contribute navigation"> <ul> <li><a href="/help/#feedback">错误和反馈</a></li> <li><a href="https://github.com/pypi/warehouse" title="External link" target="_blank" rel="noopener">在 GitHub 上贡献</a></li> <li><a href="https://hosted.weblate.org/projects/pypa/warehouse/" title="External link" target="_blank" rel="noopener">翻译 PyPI</a></li> <li><a href="/sponsors/">赞助 PyPI</a></li> <li><a href="https://github.com/pypi/warehouse/graphs/contributors" title="External link" target="_blank" rel="noopener">开发贡献</a></li> </ul> </nav> </div> <div class="footer__menu"> <h2>使用 PyPI</h2> <nav aria-label="Using PyPI navigation"> <ul> <li><a href="https://policies.python.org/python.org/code-of-conduct/" title="External link" target="_blank" rel="noopener">行为准则</a></li> <li><a href="/security/">报告安全问题</a></li> <li><a href="https://policies.python.org/pypi.org/Privacy-Notice/" title="External link" target="_blank" rel="noopener">隐私政策</a></li> <li><a href="https://policies.python.org/pypi.org/Terms-of-Use/" title="External link" target="_blank" rel="noopener">使用条款</a></li> <li><a href="https://policies.python.org/pypi.org/Acceptable-Use-Policy/" title="External link" target="_blank" rel="noopener">可接受使用政策</a></li> </ul> </nav> </div> </div> <hr class="footer__divider" /> <div class="footer__text"> <p>状态:<a href="https://status.python.org/" title="外部链接" target="_blank" rel="noopener"> <span data-statuspage-domain="https://2p66nmmycsj3.statuspage.io">所有系统正常运行</span></a></p> <p>由 Python 社区开发和维护,为 Python 社区服务。<br /> <a href="https://donate.pypi.org">今天捐赠!</a> </p> <p>"PyPI"、"Python 包索引" 和方块标志是 <a href="/trademarks/">商标</a>,属于 <a href="https://pythonlang.cn/psf-landing" target="_blank" rel="noopener">Python 软件基金会</a>。<br /> </p> <p>© 2024 <a href="https://pythonlang.cn/psf-landing/" title="外部链接" target="_blank" rel="noopener">Python 软件基金会</a><br /> <a href="/sitemap/">网站地图</a> </p> </div> <div class="centered hide-on-desktop"> <button type="button" class="button button--switch-to-desktop hidden" data-viewport-toggle-target="switchToDesktop" data-action="viewport-toggle#switchToDesktop">切换到桌面版本</button> </div> </footer> <div class="language-switcher"> <form action="/locale/"> <ul> <li> <button class="language-switcher__selected" name="locale_id" value="en" type="submit">英语</button> </li> <li> <button name="locale_id" value="es" type="submit">西班牙语</button> </li> <li> <button name="locale_id" value="fr" type="submit">法语</button> </li> <li> <button name="locale_id" value="ja" type="submit">日语</button> </li> <li> <button name="locale_id" value="pt_BR" type="submit">葡萄牙语 (巴西)</button> </li> <li> <button name="locale_id" value="uk" type="submit">乌克兰语</button> </li> <li> <button name="locale_id" value="el" type="submit">希腊语</button> </li> <li> <button name="locale_id" value="de" type="submit">德语</button> </li> <li> <button name="locale_id" value="zh_Hans" type="submit">中文(简体)</button> </li> <li> <button name="locale_id" value="zh_Hant" type="submit">中文(繁体)</button> </li> <li> <button name="locale_id" value="ru" type="submit">俄语</button> </li> <li> <button name="locale_id" value="he" type="submit">希伯来语</button> </li> <li> <button name="locale_id" value="eo" type="submit">世界语</button> </li> </ul> </form> </div> <div class="sponsors"> <p class="sponsors__title">支持者</p> <div class="sponsors__divider"></div> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://aws.amazon.com/"> <img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/ed7074cadad1a06f56bc520ad9bd3e00d0704c5b/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f6177732d77686974652d6c6f676f2d7443615473387a432e706e67" alt="AWS" loading="lazy"> <span class="sponsors__name">AWS</span> <span class="sponsors__service"> 云计算和安全赞助商 </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.datadoghq.com/"> <img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/8855f7c063a3bdb5b0ce8d91bfc50cf851cc5c51/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f64617461646f672d77686974652d6c6f676f2d6668644c4e666c6f2e706e67" alt="Datadog" loading="lazy"> <span class="sponsors__name">Datadog</span> <span class="sponsors__service"> 监控 </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.fastly.com/"> <img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/df6fe8829cbff2d7f668d98571df1fd011f36192/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f666173746c792d77686974652d6c6f676f2d65684d3077735f6f2e706e67" alt="Fastly" loading="lazy"> <span class="sponsors__name">Fastly</span> <span class="sponsors__service"> CDN </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://careers.google.com/"> <img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/420cc8cf360bac879e24c923b2f50ba7d1314fb0/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f676f6f676c652d77686974652d6c6f676f2d616734424e3774332e706e67" alt="Google" loading="lazy"> <span class="sponsors__name">Google</span> <span class="sponsors__service"> 下载分析 </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://pythonlang.cn/psf/sponsors/#microsoft"> <img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/524d1ce72f7772294ca4c1fe05d21dec8fa3f8ea/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f6d6963726f736f66742d77686974652d6c6f676f2d5a443172685444462e706e67" alt="Microsoft" loading="lazy"> <span class="sponsors__name">Microsoft</span> <span class="sponsors__service"> PSF 赞助商 </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.pingdom.com/"> <img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/d01053c02f3a626b73ffcb06b96367fdbbf9e230/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f70696e67646f6d2d77686974652d6c6f676f2d67355831547546362e706e67" alt="Pingdom" loading="lazy"> <span class="sponsors__name">Pingdom</span> <span class="sponsors__service"> 监控 </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://getsentry.com/for/python"> <img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/67af7117035e2345bacb5a82e9aa8b5b3e70701d/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f73656e7472792d77686974652d6c6f676f2d4a2d6b64742d706e2e706e67" alt="Sentry" loading="lazy"> <span class="sponsors__name">Sentry</span> <span class="sponsors__service"> 错误日志 </span> </a> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://statuspage.io"> <img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/b611884ff90435a0575dbab7d9b0d3e60f136466/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f737461747573706167652d77686974652d6c6f676f2d5467476c6a4a2d502e706e67" alt="StatusPage" loading="lazy"> <span class="sponsors__name">StatusPage</span> <span class="sponsors__service"> 状态页面 </span> </a></div> </body></html>