5

这可能看起来很奇怪,但我想知道是否可以将自定义标题详细信息添加到已经在收件箱中的电子邮件中。就像假设我希望在电子邮件的标题中添加类似 - myvariable = myvalue 的内容,然后能够以某种方式查询它。我正在查看来自 Iloha 邮件的代码,并且大多数详细信息(例如主题和收到的邮件等)都在标题中,您可以搜索它们。那么是否可以将我自己的自定义变量添加到电子邮件标题并以相同的方式查询它?如何使用php完成?

编辑 =====================

谢谢,我知道如何修改已发送邮件的标题以及查询邮件标题中的自定义变量,但是在这种情况下,我想知道是否可以在我的收件箱中已经收到的邮件中添加自定义变量。实际上,让我在这里定义一下情况。

我正在开发一个需要维护对电子邮件的引用的谷歌应用程序解决方案。基本上,该应用程序是这样的,当收到一封电子邮件时 - 我们从该电子邮件创建一个订单,并希望通过某种标识符来维护对该 EXACT 电子邮件的引用,这将使我们能够识别该电子邮件。

事实上,我们不想将电子邮件下载到数据库中并维护一个单独的存储,因为我们希望将所有电子邮件保存在 GMAIL 上。我们只需要:

一种能够永久“链接”到特定电子邮件的方法 - UID 只是一个序列号,不是很可靠。我们找不到任何可以用作唯一 ID 或主键的电子邮件属性,因此我们考虑是否可以在我们端生成一个键并将其存储在电子邮件本身的自定义变量中。然而,不幸的是,似乎没有办法操纵已经存在的电子邮件的标题。

:( 有什么办法可以解决这个问题吗?我可以使用任何 IDEA !

4

3 回答 3

3

是的,您可以在发送电子邮件时添加自己的标题...

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'myvariables: myvalue';

mail($to, $subject, $message, $headers);
?> 

我怀疑您是否可以修改现有的电子邮件标头,除非它们存储在数据库或其他东西中,而不仅仅是从您的 POP/IMAP 服务器中检索。

于 2010-03-24T09:22:47.003 回答
2

为什么不使用 Message-ID 标头?这对于每封邮件应该是唯一的(您可以通过单击折叠菜单并选择“显示原始邮件”来查看任何给定的 Gmail 邮件)。

查看 Internet 消息格式 RFC (RFC2822) 的第 3.6.4 节了解更多信息 ( http://www.faqs.org/rfcs/rfc2822.html )。

于 2010-03-30T08:37:03.523 回答
1

我认为最好的解决方案是:

  • 连接到 IMAP 服务器,检索电子邮件,更改标题,将其放回服务器上,似乎至少可以使用 gmail(Java 中的示例http://forums.sun.com/thread.jspa?threadID=5419712对于 PHP,请查看http://www.php.net/manual/en/ref.imap.php但更改标题似乎并不简单)
  • 如果无法再使用 gmail 或 PHP,请连接到 IMAP 服务器,检索电子邮件,复制内容,使用新标题创建新电子邮件,将其发送到连接到 gmail 的新邮箱。

希望能帮助到你。

于 2010-03-30T08:30:24.473 回答