0

私の使用例では、複数の BCC 受信者を含む 1 つのメールを送信する必要があり、それぞれが独自の置換を使用しています。

SendGrid の Node Library "Kitchen Sink" の例をいくつかの静的テスト データで使用しようとしています。BCC 受信者でメッセージを作成できますが、各受信者は最後の置換値セットを受信して​​います。

私のコードの関連部分は次のとおりです。

const mail = new helper.Mail();
const personalization = new helper.Personalization();
const testData = [
  {
    email: 'recipient1@gmail.com',
    name: 'Bob Smith',
    dollars: '100',
    points_for_play: '2500',
  },
  {
    email: 'recipient2@gmail.com',
    name: 'Mary Smith',
    dollars: '50',
    points_for_play: '1000',
  },
];

testData.forEach(function(recipientData) {
  var substitutionValues = _.omit(recipientData, ['email', 'name']);
  var bccRecipient = new helper.Email(recipientData.email, recipientData.name);

  personalization.addBcc(bccRecipient);

  _.forOwn(substitutionValues, function(value, key) {
    var substitution = new helper.Substitution('%' + key + '%', value);
    personalization.addSubstitution(substitution);
  });
});

mail.addPersonalization(personalization);

その結果、各 bcc 受信者は最後の置換値を受け取ります。

%dollars% = 50
%points_for_play% = 1000

また、BCC 受信者ごとに新しいパーソナライゼーションを作成しようとしましたが、その結果、パーソナライゼーション インスタンスには "to" 配列が必要であるというエラーが発生し、正しくないようです... どこが間違っているのでしょうか?

4

1 に答える 1