gpt4 book ai didi

php - 使用 aws workmail 将托管在 Amazon SES 上的电子邮件通过管道传输到 ec2 托管的 php 脚本

转载 作者:行者123 更新时间:2023-11-29 07:37:16 24 4
gpt4 key购买 nike

我在亚马逊 ec2 上托管了一个网站,我在亚马逊 SES 上托管了网站电子邮件地址,我们还使用亚马逊工作邮件来访问电子邮件和发送电子邮件。然而现在我们想要做的是将所有发送到我们网站电子邮件地址的电子邮件传输到一个 php mysql 脚本中(我们正在构建一个通信管理系统)。

但是我找不到任何关于如何将收到的电子邮件转发到 aws workmail 收件箱到外部托管 php 文件的建议或文档?

最佳答案

第二个答案,因为我没有正确阅读问题(糟糕,抱歉)。

电子邮件附件作为邮件正文的一部分使用 MIME encoding 发送.从 SES 接收电子邮件时,您将以这种原始格式作为邮件正文的一部分。

但是,SES 在发送到 SNS 时会将消息大小(包括附件)限制为 150kb。

要支持更大的消息 (30MB),您需要将它们存储在 S3 中。要在新消息到达时接收 SNS 事件,您需要设置 S3 Event Notification对于 s3:ObjectCreated:*

从那里开始,过程是相同的 - 您的应用程序需要从 S3 检索对象,并从对象正文中提取消息和附件,完成后可选择从 S3 中删除原始消息。

用于提取附件的唯一看起来不错的 PHP 库是 php-mime-mail-parser他们的 GitHub 页面上有一个不错的例子。

我修改了示例以显示相关部分:

$Parser = new PhpMimeMailParser\Parser();
$Parser->setText($raw_email);

foreach ($Parser->getAttachments(true) as $attachment) {
echo 'Filename : '.$attachment->getFilename().'<br />'; // logo.jpg
echo 'Filesize : '.filesize($attach_dir.$attachment->getFilename()).'<br />'; // 1000
echo 'Filetype : '.$attachment->getContentType().'<br />'; // image/jpeg
echo 'MIME part string : '.$attachment->getMimePartStr().'<br />'; // (the whole MIME part of the attachment)
}

关于php - 使用 aws workmail 将托管在 Amazon SES 上的电子邮件通过管道传输到 ec2 托管的 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48194186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com