如何取消山魈中的预定电子邮件?

Posted

技术标签:

【中文标题】如何取消山魈中的预定电子邮件?【英文标题】:How to cancel a scheduled email in mandrill? 【发布时间】:2015-07-16 02:05:35 【问题描述】:

我正在使用 https://github.com/abishekrsrikaanth/mailto 包在 mandrill 中处理我的电子邮件。该软件包有一种方法来安排这样的电子邮件。

$timestamp = new DateTime('+1 hour');
$mandrill = MailTo::Mandrill();
$mandrill->addRecipient($email, $name)
         ->setFrom($email, $name)
         ->sethtml($html)
         ->setText($text)
         ->setSubject($subject)
         ->send($timestamp);

但我找不到取消预定电子邮件的方法。我读了这个文档https://mandrillapp.com/api/docs/messages.JSON.html#method=cancel-scheduled

请求 JSON

 
    "key": "example key",
    "id": null
 

但我不知道如何实现。有人可以帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:

您可以使用官方的 Mandrill php SDK 作为取消预定电子邮件的方法,该方法未在 MailTo 包中实现。

<?php
try 
    $mandrill = new Mandrill('YOUR_API_KEY');
    $id = 'YOUR-MESSAGE-ID'; // id of scheduled message to be cancelled
    $result = $mandrill->messages->cancelScheduled($id);
    print_r($result);
 catch(Mandrill_Error $e) 
    echo 'A mandrill error occurred: ' . get_class($e) . ' - ' . $e->getMessage();
    throw $e;

?>

这是https://mandrillapp.com/api/docs/messages.php.html#method-cancel-scheduled的信息

您只需要传递消息 id,它就会从预定的消息队列中删除。您很可能会在调度调用的响应中获得消息 ID。

这里是设置 SDK 的详细信息https://mandrillapp.com/api/docs/index.php.html

【讨论】:

是的,取消预定的电子邮件没有在包裹上实现。但是 mandrill api 文档有关于如何通过 JSON 请求取消预定电子邮件的信息。我的问题是我不知道如何实现这个请求。 @JayMarz 更新了我的答案 你能给你的答案提供一个示例 sn-p 吗?

以上是关于如何取消山魈中的预定电子邮件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在解析云代码中将文本文件附加到山魈邮件?

如何在 AWS 配置文件中包含山魈凭证?

Rails 邮件程序山魈设置

如何在山魈的车把表达式内发送花括号?

山魈状态:排队

山魈模板变量不替代