gpt4 book ai didi

php - 如何接收和使用从 Mailgun 发送的 Webhook 数据?

转载 作者:搜寻专家 更新时间:2023-10-31 21:33:45 25 4
gpt4 key购买 nike

我正在使用来自 MailGun API 的网络钩子(Hook)在电子邮件已送达时通知我。

我使用 RequestBin 服务查看正在发送的数据:

domain: domain.com
token: 6o02nxnu-7grjkvkzxdyn2lsm0w7fagidgxzon8-cucz8u15w0
signature: a4d27e390495691fb4b8fb76b3b8a71c90cf8cd467140f5c3d36e023ec343e5c
Message-Id: <20140721155006.120305.72293@domain.com>
timestamp: 1405957808
X-Mailgun-Sid: WyJjZjMyNCIsICJjaHJpc3NlY2tsZXJAZ21haWwuY29tIiwgIjAxNzBiNSJd
message-headers: [["Received", "by luna.mailgun.net with HTTP; Mon, 21 Jul 2014 15:50:06 +0000"], ["Content-Type", ["multipart/alternative", {"boundary": "21586684bc984a0cbc485d4a862fc34c"}]], ["Mime-Version", "1.0"], ["Subject", "Please Check Your Account"], ["From", "Sender Name <testemail@domain.com>"], ["To", "Chris <anotheremail@gmail.com>"], ["X-Mailgun-Sid", "WyJjZjMyNCIsICJjaHJpc3NlY2tsZXJAZ21haWwuY29tIiwgIjAxNzBiNSJd"], ["Date", "Mon, 21 Jul 2014 15:50:08 +0000"], ["Sender", "testemail@domain.com"]]
recipient: email@domain.com
event: delivered

我现在正尝试使用他们通过 POST 数组发送的信息并将其插入到我的数据库中。

我可以直接从他们发送的 POST 数组中获取以下变量:

$recipient_email = $_POST['recipient']; //This works
$timestamp = $_POST['timestamp']; //This works

我无法直接从 POST 数组获取以下变量。它们位于我不熟悉的“消息标题”变量中的数据类型中。我怎样才能访问这些?

$sender_name = ?;
$sender_email = ?;
$recipient_name = ?;
$subject = ?;

$sql = 'INSERT into mail SET
from_name = "'.$sender_name.'",
from_email = "'.$sender_email.'",
to_name = "'.$recipient_name.'",
to_email = "'.$recipient_email.'",
subject = "'.$subject.'",
date = "'.$timestamp.'"';

$result = $conn->query($sql) or die(mysqli_error($conn));

最佳答案

嗯,message-headers 是一组数组。对于每个子数组,第一项(key 0)是“标签”,第二项(key 1)是“值”。所以你可以这样做:

foreach ($POST['message-headers']} as $i => $header) {
switch( $header[0] ) {
case 'Subject'
$subject = $header[1];
break;
case 'Sender'
$sender_email = $header[1];
break;
/* Any other cases that I'm too lazy for now ...*/
}
}

(尽管构建一个 $header[0] 与变量名称的映射,然后在没有 switch 的情况下简单地循环可能更容易阅读,但这只是我的味道。)

但是请参数化 SQL 查询!否则你很快就会被黑客入侵。

关于php - 如何接收和使用从 Mailgun 发送的 Webhook 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24872501/

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