从 php 中的 postfix 解析邮件数据(搜索 mime-parser/decoder 类)

Posted

技术标签:

【中文标题】从 php 中的 postfix 解析邮件数据(搜索 mime-parser/decoder 类)【英文标题】:Parse mail data from postfix in php (search mime-parser/decoder class) 【发布时间】:2017-10-13 14:49:30 【问题描述】:

我需要解析邮件 从后缀接收 在 php 结构中,例如 headers 数组、纯文本/文本正文字符串和 html 正文字符串。

我正在测试来自https://www.thecodingmachine.com/triggering-a-php-script-when-your-postfix-server-receives-a-mail/ 的示例,以接收所有发送给我的 php 脚本的信件。但是此页面中的示例已被放弃或无法按我的意愿工作。

我想要类似的东西:

$message_from_postfix = "Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1])
        by DavidUbuntu (Postfix) with ESMTPS id 740AD380597
        for <david@localhost>; Thu,  5 Jan 2012 10:04:48 +0100 (CET)
Message-ID: <1325754288.4989.6.camel@DavidUbuntu>
Subject: my title
From: David Negrier <david@localhost>
To: david@localhost
Date: Thu, 05 Jan 2012 10:04:48 +0100
Content-Type: text/plain
X-Mailer: Evolution 3.2.0- 
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0

my mail content";

$data = ParseMessage($message_from_postfix);

echo $data->headers()['from']; // david@localhost
echo $data->headers()['to']; // david@localhost
echo $data->headers()['date']; // 1325757888
echo $data->text_message(); // my mail content
echo $data->html_message(); // (empty)

【问题讨论】:

你有什么要开始的吗?您是否尝试过使用像这样的正则表达式 preg_match("/(From:)(.*)()/", $input_line, $output_array); 特拉卡莱尔·拉蒙·路易斯,哈哈。不! *** 不是我们为您完成所有工作的网站。如果您在尝试某事后遇到特定问题,那么您可以提出要求,我们会尽力帮助您,但我们不会像那样为您解决这样的问题。 我并不是要为我解决问题。此外,我可能已经找到了自己的解决方案,形式为 php-mime-mail-parser 包。 【参考方案1】:

我找到了:https://github.com/php-mime-mail-parser/php-mime-mail-parser

这对我来说可能是最好的解决方案。

【讨论】:

以上是关于从 php 中的 postfix 解析邮件数据(搜索 mime-parser/decoder 类)的主要内容,如果未能解决你的问题,请参考以下文章

Postfix邮件服务 - DNS配置

postfix邮箱系统

Postfix的bcc邮件备份

烂泥:Postfix邮件服务器搭建之准备工作

Redhat6.5中搭建postfix邮箱服务

OSX / postfix:无法使用PHP mail()发送邮件[关闭]