我使用Amazon SES的Rule Set将发送到我的域的所有邮件定向到SES Bucket。我现在试图以编程方式读取这些文件,但无法弄清楚如何做到这一点。我研究了这个主题,发现了PHP的Mailparse函数。我的代码是:
$filnename = '/Users/R00tUser/Downloads/u38sf1l0jcd4s1tifl59a10psc16i7nfoaq2c64';
$resource = mailparse_msg_parse_file($filename);
$parts = mailparse_msg_get_structure($resource);
var_dump($parts);
$text = mailparse_msg_extract_whole_part_file($resource, $filename);
var_dump($text);
var_dump的输出都是bool(false)
。由于这些方法的文档几乎不存在,我不知道哪里出了问题。能否有人请纠正我的代码中的错误,或者请建议一个更好的方法来做我想做的事情。
我试图解析的文件内容:
Return-Path: <>
Received: from mail1.dokia.com (mail1.dokia.com [212.63.232.3])
by inbound-smtp.us-east-1.amazonaws.com with SMTP id v1o5lrohq3e841no469t801
for abcdghgasd@mydomain.com;
Thu, 03 Nov 2016 10:34:17 +0000 (UTC)
X-SES-Spam-Verdict: PASS
X-SES-Virus-Verdict: PASS
Received-SPF: none (spfCheck: 212.63.232.3 is neither permitted nor denied by domain of mail1.dokia.com) client-ip=212.63.232.3; envelope-from=postmaster@mail1.dokia.com; helo=mail1.dokia.com;
Authentication-Results: amazonses.com;
spf=none (spfCheck: 212.63.232.3 is neither permitted nor denied by domain of mail1.dokia.com) client-ip=212.63.232.3; envelope-from=postmaster@mail1.dokia.com; helo=mail1.dokia.com;
dkim=pass header.i=@sender.be;
X-SES-RECEIPT: AEFBQUFBQUFBQUFGcHNSUkh4ShWRWNhN3djZ3hoUllvLzRyM0RXY3dNMER6OXBRcHNoZnBiRlQzbkNnUE1BK3B3TXgzYURnUE8yREFJd0ZJTW5SbWhaSm03dlE3cVljazE0QzVLbjhYNCsxdnRCdmc2M3o5bDI3ZVM4Nm1vK3BZdnUra1I1Wjc2MFo5VXA3c0psR0JaOGIvMWhmRThiMD0=
X-SES-DKIM-SIGNATURE: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple;
s=hkasda87d; d=amazonses.com; t=1478169251;
h=X-SES-RECEIPT:From:To:Subject:Date:Message-ID:Content-Type:MIME-Version;
bh=Hywa/hajdiyfsdhjsdf+3Iz8=;
b=O/hjagdasd6hjasd
890adskajsd+hhjahda98789asd
hkjahdkjhasd987asdhjk+2Osk=
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
d=sender.be; q=dns/txt; s=sender; t=1478169257;
x=1509705257;
h=from:to:subject:date:message-id:references:in-reply-to:
mime-version:content-transfer-encoding;
bh=Hywa/ghjgsd87a6dasjhbakf+3Iz8=;
b=bbdksahiofds8fdfhjkaksd+h17EaoYrG
mnbxzcuiuasdyibjsiud/JhgsdufgIUIUhhdksfksdiu
OlsdjsdiThdklfj/hkasd876ihkjdfk/+Jkufd+rgruk
w=;
From: "Sender Sender1" <sender@sender.be>
To: Super User <super.user@mydomain.com>
Subject: Automatic reply: Special Situation
Thread-Topic: Special Situation
Thread-Index: KHHSDHkjsaduiad==
Date: Thu, 3 Nov 2016 10:34:11 +0000
Message-ID: <23e9f814220844f393dc026f8cfea2d6@ULU0SXHT003P.urp.int.dexwired.net>
References: <1240504930.186814941478169243108.JavaMail.app@rbg11.atlis1>
In-Reply-To: <1240504930.186814941478169243108.JavaMail.app@rbg11.atlis1>
X-MS-Has-Attach:
X-Auto-Response-Suppress: All
X-MS-Exchange-Inbox-Rules-Loop: sender@sender.be
X-MS-TNEF-Correlator:
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
And more so behind fox deliberately unwound took far because yikes cowered =
much far firefly jeez revealed soggy away
-----------------------------------------------
https://www.google.com/doodles/358th-anniversary-of-tea-in-the-uk
-----------------------------------------------
不是直接使用Mailparse,我发现解决方案是使用一个库:https://github.com/php-mime-mail-parser/php-mime-mail-parser。这对于我正在做的任务来说已经足够了,而且使用