【问题标题】:Manipulating the content of an email message处理电子邮件的内容
【发布时间】:2023-03-11 12:10:01
【问题描述】:

我正在寻找一种解决方案,使我能够连接到邮箱、获取电子邮件、对电子邮件正文应用特定修改(例如,更改内容),然后将新修改的电子邮件转发到新电子邮件地址。 诀窍是这样的修改不能破坏原始电子邮件的格式和标题,并且我不能丢失原始电子邮件中的任何附件。

将执行的操作需要由了解我的应用程序逻辑的外部进程来完成。

我正在寻找的解决方案可以是一个外部软件,它可以调用一些 API 来处理电子邮件的内容,甚至是我的代码将调用的 API 本身。

我们的解决方案目前基于 PHP,但也可以接受任何其他解决方案。

我开始使用 Zend Mail 库,但我遇到了必须了解电子邮件格式内部工作原理的问题。我不想开始弄乱电子邮件格式的 mime 对象。我只想更改消息的文本内容,其余部分保持不变。

【问题讨论】:

  • 我们可以知道您到底想要达到什么目标吗?
  • 一个例子:我想查询一个数据库并获取有关发件人的信息,并将结果附加到电子邮件的正文中。

标签: php email


【解决方案1】:

http://php.net/manual/en/book.imap.php - 让您操纵电子邮件系统的函数。

【讨论】:

  • 我知道。但是使用它我必须自己处理所有的 MIME 解析。这太冒险和复杂了。我想要一些可以让我轻松获取消息的文本或 HTML 正文的东西,对其进行更改并将消息转发到其他地方,同时保持消息的任何其他属性不变。
【解决方案2】:

您使用的是什么邮件服务器?在 qmail 中,它可以轻松处理任何传入的电子邮件。您可以放置​​任何语言的任何脚本来处理电子邮件的行。

如果您对服务器具有 IMAP 访问权限,则可以使用 php IMAP 库。 http://www.php.net/manual/en/book.imap.php

【讨论】:

    【解决方案3】:

    我编写了一个库作为一个更大的开源应用程序的一部分,它可能会对您有所帮助。它是一个围绕 PHP imap 函数的面向对象的包装器,可以在 google code 找到。

    不幸的是,这并不完全符合您的要求。您想更改消息中的什么内容?我可能只获取原始版本并专门搜索您想要更改的内容,完全忽略整个 mimetype 处理,然后再次发送整个消息。

    重新发送电子邮件很简单,这个(小教程)* 关于发送带附件的电子邮件可以让您重新了解基础知识(尽管其中的大部分内容您可以跳过,因为附件和 mimetypes 已经构建好了)。

    * 我无法发布链接,因为我的声誉不足以在一个帖子中包含两个链接,所以我将在评论中添加它。

    猜你喜欢
    • 1970-01-01
    • 2015-05-20
    • 2018-03-01
    • 1970-01-01
    • 2015-12-27
    • 2011-01-25
    • 2018-12-28
    • 2011-01-16
    • 2012-05-25
    相关资源
    最近更新 更多