gpt4 book ai didi

amazon-web-services - 将 AWS SES 收到的电子邮件转换为人类可读的格式

转载 作者:行者123 更新时间:2023-12-05 05:20:02 37 4
gpt4 key购买 nike

在转发到 SNS 或 S3 之前,是否可以将 AWS SES 中收到的电子邮件转换为人类可读的格式?如果可能,请分享示例代码。

收到的邮件内容示例如下

FW: Test Email 1\r\n\r\nTest 1\r\n\r\nFrom: Ashan \r\nSent: Friday, 
April 21, 2017 2:30 PM\r\nTo: ‘test@example.org'
<test@example.org<mailto:t=\r\nest@example.org>>\r\nSubject: Test
Email\r\n\r\nHi,\r\n\r\nThis is a test
mail.\r\n\r\nRegards,\r\nAshan\r\n\r\n--
_000_HK2PR0302MB2609710D3BC86E413C88D359B81A0HK2P2MB2609_\r\nContent-
Type: text/html; charset=\"us-ascii\"\r\nContent-Transfer-Encoding:
quoted-printable\r\n\r\n<html xmlns:v=3D\"urn:schemas-microsoft-
com:vml\" xmlns:o=3D\"urn:schemas-micr=\r\nosoft-com:office:office\"
xmlns:w=3D\"urn:schemas-microsoft-com:office:word\"
=\r\nxmlns:m=3D\"http://schemas.microsoft.com/office/2004/12/omml\"
xmlns=3D\"http:=\r\n//www.w3.org/TR/REC-html40\">\r\n<head>\r\n<meta
http-equiv=3D\"Content-Type\" content=3D\"text/html; charset=3Dus-
ascii\"=\r\n>\r\n<meta name=3D\"Generator\" content=3D\"Microsoft Word
15 (filtered medium)\">\r\n<style><!--\r\n/* Font Definitions
*/\r\n@font-face\r\n\t{font-family:\"Cambria Math\";\r\n\tpanose-
1:2 4 5 3 5 4 6 3 2 4;}\r\n@font-face\r\n\t{font-
family:Calibri;\r\n\tpanose-1:2 15 5 2 2 2 4 3 2 4;}\r\n/* Style
Definitions */\r\np.MsoNormal, li.MsoNormal,
div.MsoNormal\r\n\t{margin:0in;\r\n\tmargin-bottom:.0001pt;\r\n\tfont-
size:11.0pt;\r\n\tfont-family:\"Calibri\",sans-serif;}\r\na:link,
span.MsoHyperlink\r\n\t{mso-style-
priority:99;\r\n\tcolor:#0563C1;\r\n\ttext-
decoration:underline;}\r\na:visited,
span.MsoHyperlinkFollowed\r\n\t{mso-style-
priority:99;\r\n\tcolor:#954F72;\r\n\ttext-
decoration:underline;}\r\np.msonormal0, li.msonormal0,
div.msonormal0\r\n\t{mso-style-name:msonormal;\r\n\tmso-margin-top-
alt:auto;\r\n\tmargin-right:0in;\r\n\tmso-margin-bottom-
alt:auto;\r\n\tmargin-left:0in;\r\n\tfont-size:12.0pt;\r\n\tfont-
family:\"Times New Roman\",serif;}\r\nspan.EmailStyle18\r\n\t{mso-
style-type:personal;\r\n\tfont-family:\"Calibri\",sans-
serif;\r\n\tcolor:windowtext;}\r\nspan.EmailStyle19\r\n\t{mso-style-
type:personal;\r\n\tfont-family:\"Calibri\",sans-
serif;\r\n\tcolor:#1F497D;}\r\nspan.EmailStyle20\r\n\t{mso-style-
type:personal;\r\n\tfont-family:\"Calibri\",sans-
serif;\r\n\tcolor:#1F497D;}\r\nspan.EmailStyle21\r\n\t{mso-style-
type:personal;\r\n\tfont-family:\"Calibri\",sans-
serif;\r\n\tcolor:#1F497D;}\r\nspan.EmailStyle22\r\n\t{mso-style-
type:personal-reply;\r\n\tfont-family:\"Calibri\",sans-
serif;\r\n\tcolor:#1F497D;}\r\n.MsoChpDefault\r\n\t{mso-style-
type:export-only;\r\n\tfont-size:10.0pt;}\r\n@page
WordSection1\r\n\t{size:8.5in 11.0in;\r\n\tmargin:1.0in 1.0in 1.0in
1.0in;}\r\ndiv.WordSection1\r\n\t{page:WordSection1;}\r\n-->
</style><!--[if gte mso 9]><xml>\r\n<o:shapedefaults v:ext=3D\"edit\"
spidmax=3D\"1026\" />\r\n</xml><!--><!--[if gte mso 9]>
<xml>\r\n<o:shapelayout v:ext=3D\"edit\">\r\n<o:idmap v:ext=3D\"edit\"
data=3D\"1\" />\r\n</o:shapelayout></xml><!-->\r\n</head>\r\n<body
lang=3D\"EN-US\" link=3D\"#0563C1\" vlink=3D\"#954F72\">\r\n<div
class=3D\"WordSection1\">\r\n<p class=3D\"MsoNormal\"><span
style=3D\"color:#1F497D\">Test 4 - </span><span
=\r\nstyle=3D\"color:#1F497D\"><a

预期电子邮件的文本内容是“嗨,这是一封测试邮件”

最佳答案

我能够实现结果,而不是转换邮件,将它们存储到 S3 存储桶并使用 S3 触发器,调用转发邮件内容的 Lambda 函数。为了简化转发,我使用了 NPM 库 aws-lambda-ses-forwarder ,它完成了所有繁重的工作。以下代码显示了电子邮件转发的逻辑。

var LambdaForwarder = require("aws-lambda-ses-forwarder");

exports.handler = function(event, context) {

var overrides = {
config: {
fromEmail: "<forwarded-email-address>",
subjectPrefix: "",
emailBucket: "ses-bucket",
emailKeyPrefix: "emails/",
forwardMapping: {
"<received-email-address>": [
"<your-email-address>"
]
}
}
};
LambdaForwarder.handler(event, context, overrides);
};
  • forwarded-email-address - 您将从该地址收到发送到收件箱的电子邮件。
  • received-email-address - 您将收到 Lamda 转发到您收件箱的发送到此地址的电子邮件。
  • your-email-address - 您希望接收转发电子邮件的电子邮件地址。

此外,请确保 Lambda 函数具有使用 SES 从 S3 读取和转发邮件的正确权限。

关于amazon-web-services - 将 AWS SES 收到的电子邮件转换为人类可读的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45256687/

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