我写了一个模块在PHP Laminas发送邮件通过Mailgun API。我能够发送邮件,以及列出的未决队列。我想使用message-id
删除mailgun中的特定邮件。有没有人可以指导我,如果可能的话?如果是,如何进行?
我在文档方面最接近的是清除域队列,这不是我想要的。https://help.mailgun.com/hc/en-us/articles/360012487654-How-Can-I-Delete-Messages-From-the-Queue-
下面是我写的使用Mailgun发送邮件的代码。
/**
* MailgunApiSendRequest constructor.
*
* @param MailgunApiModel $mailgunApiModel
* @param MailgunApiSendResponse $mailgunApiSendResponse
*/
public function __construct(MailgunApiModel $mailgunApiModel, MailgunApiSendResponse $mailgunApiSendResponse)
{
$this->mailgunApiModel = $mailgunApiModel;
$this->mailgunApiSendResponse = $mailgunApiSendResponse;
}
/**
* @return MailgunApiSendResponse
* @throws ClientExceptionInterface
*/
public function send(): MailgunApiSendResponse
{
/** @var Mailgun $mailgun */
$mailgun = $this->getMailgunApiClient()->create();
/** @var array[] $params */
$params = [
"from" => $this->getMailgunApiClient()->getFromEmail(),
"to" => $this->getMailgunApiModel()->getEmailAddress(),
"subject" => $this->getMailgunApiModel()->getTitle(),
"text" => $this->getMailgunApiModel()->getContent(),
"o:deliverytime" => Carbon::now()->adddays(3)->toRfc2822String(),
];
/** @var SendResponse $sendResponse */
$sendResponse = $mailgun->messages()->send($this->getMailgunApiClient()->getEmailDomain(), $params);
/** @var array[] $data */
$data = [
"id" => $sendResponse->getId(),
"message" => $sendResponse->getMessage()
];
$this->getMailgunApiSendResponse()->setResponse($data);
return $this->getMailgunApiSendResponse();
}
下面是根据Mailgun日志的当前状态。
{
"envelope": {
"transport": "smtp",
"sender": "Admin@sandboxf130aeded8d44db4b211ec6bb2488f14.mailgun.org",
"targets": "gohar*****@gmail.com"
},
"storage": {
"region": "us-west1",
"env": "production",
"key": "BAABAQYhT_85YerJ675CSDFASXxRjabYg==",
"url": "https://storage-us-west1.api.mailgun.net/v3/domains/sandboxf130aeded8d44db4b211ec6bb2488f14.mailgun.org/messages/BAABAQYhT_85YerJ675CbouSEEXxRjabYg=="
},
"method": "HTTP",
"log-level": "info",
"recipient-domain": "gmail.com",
"event": "accepted",
"user-variables": {},
"id": "984HKEiQRemVjMeFKoHyyw",
"recipient": "gohar*****@gmail.com",
"tags": null,
"timestamp": 1684929274.7635095,
"flags": {
"is-test-mode": false,
"is-authenticated": true
},
"message": {
"size": 387,
"headers": {
"from": "Admin <Admin@sandboxf130aeded8d44db4b211ec6bb2488f14.mailgun.org>",
"subject": "Live Test",
"message-id": "20230524115434.bc162edb03872131@sandboxf130aeded8d44db4b211ec6bb2488f14.mailgun.org",
"to": "gohar*****@gmail.com"
},
"scheduled-for": 1685188473
},
"originating-ip": "124.29.239.111"
}
"scheduled-for": 1685188473
显示它将在3天后发送。
1条答案
按热度按时间py49o6xq1#
Mailgun不提供删除邮件的选项。
https://documentation.mailgun.com/en/latest/api-sending.html#retrieving-stored-messages:~:text=process%20this%20data.-,Deleting%20Stored%20Messages,-Stored%20messages%20are