0

当活动发送过程启动时,AttachRecipientsService 以“ATTACH_SENDER_TOPIC_ARN”为主题发布到 SNS。但是,AWS / MoonMail 中没有此操作的订阅者。知道如何处理“ATTACH_SENDER”吗?

如果没有此信息,则无法发送活动。

如此处所述:https ://github.com/microapps/MoonMail/wiki/Campaigns

用户服务将获取消息并附加一个发件人对象,以及实际的发件人凭据,以防他能够发送活动(将消息推送到 PrecompileCampaign 主题),或者将消息放入活动错误主题。

但是没有用户服务。任何想法?

4

2 回答 2

1

用户服务不是开源的,但是可以看一下sendTestCampaign函数。如果您向它提供一个campaignsender对象,它基本上会立即向PrecompileCampaign主题传递一条 SNS 消息。

于 2017-04-19T14:17:55.953 回答
0

我通过向“PRECOMPILE_CAMPAIGN_TOPIC_ARN”发送 SNS 事件来替换用户服务。

事件\lib\attach_recipients_count_service.js

 _publishToSns(canonicalMessage) {
        debug('= AttachRecipientsService._publishToSns', canonicalMessage);
        const params = {
          Message: JSON.stringify(canonicalMessage),
          TopicArn: process.env.PRECOMPILE_CAMPAIGN_TOPIC_ARN
        };
        return this.snsClient.publish(params).promise()
          .then(() => canonicalMessage);
      }

确保 canonicalMessage 包含“发送者”对象:

"sender": {
    "region": "...",
    "apiKey": "...",
    "apiSecret": "...",
    "ratePerSecond": "...",
    "emailAddress": "...",
    "fromName": "..."
  }
于 2017-04-19T17:49:15.627 回答