【问题标题】:GAE Filter AdminMessage RecipientsGAE 过滤器管理员消息收件人
【发布时间】:2013-06-02 08:14:43
【问题描述】:

我正在使用 PHP 运行时,当我使用下面的代码发送管理员电子邮件(使用管理员电子邮件配额)时,它可以正常工作并且我收到了电子邮件。但是,它会将消息发送给所有具有管理员权限的用户(在 GAE 管理控制台中的权限下列出),其中包括两个(非用户)服务帐户(例如 12345678@project.gserviceaccount.com 和 myappid@appspot。 gserviceaccount.com) 跳出。

<?
require_once 'google/appengine/api/mail/AdminMessage.php';
use \google\appengine\api\mail\AdminMessage;

$message = new AdminMessage(array("sender"=> "noreply@myappid.appspotmail.com"));
$message->setSubject("Admin Mail Test");
$message->setHtmlBody("Hello");
$message->send();

?>

有没有办法在仍然使用 AdminMessage 的同时排除这些帐户?

【问题讨论】:

标签: php google-app-engine


【解决方案1】:

免责声明:我对相关 API 不是很熟悉。我可能错过了什么。

刚刚在代码中滚动了一段时间,我看不出有什么办法,但这并不意味着没有办法。

据我所知,问题是这样的:

final class AdminMessage extends BaseMessage

这意味着您不能扩展 AdminMessage,这实际上只是在之前添加了很多检查

ApiProxy::makeSyncCall(
      'mail', 'SendToAdmins', $this->message, $response);

有问题的类不是循环通过管理员,而是简单地触发 API 调用以邮寄给他们。

所以我认为这是一个 API 问题而不是代码问题。如果 API 允许您将管理员标记为不被邮寄,那么您可以做您想做的事情。否则,您可能需要针对您有两个没有活动地址的管理员这一事实做点什么。

如果我站在你的立场上,我会考虑尽可能优雅地处理弹跳的最佳方法。你知道他们要来了,你怎么处理他们?

说实话,几乎所有与电子邮件遭遇退回有关的事情,但除非您有停止列表,否则您可以将退回添加到您只需要每次都继续处理它们。

参考

【讨论】:

    猜你喜欢
    • 2019-07-18
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 2021-01-01
    • 2011-11-13
    • 2011-03-05
    • 2011-01-23
    • 1970-01-01
    相关资源
    最近更新 更多