Sendgrid-nodejs: Как создать ветку сообщений с API почты

Созданный на 30 мая 2018  ·  3Комментарии  ·  Источник: sendgrid/sendgrid-nodejs

Резюме проблемы

У меня есть настройка веб-перехватчика для анализа входящих писем, которая работает нормально, но я использую API почты, чтобы ответить отправителю этого письма. Я могу отправить электронное письмо нормально, но я хочу ответить на электронное письмо отправителя и создать цепочку писем. Я не нашел ничего по этой теме в документации Sendgrid, кроме возможности добавлять собственные заголовки.

Изучив, как в целом работают электронные письма, я узнал о полях In-Reply-To и References. Я успешно извлек идентификатор сообщения из электронной почты отправителя и установил для него поле In-Reply-To в заголовке сообщения. Кроме того, я добавляю идентификатор сообщения к строке ссылок и отправляю его вместе с ним.

Когда я смотрю на исходное электронное письмо в Gmail, я вижу, что оба поля заданы, но оно по-прежнему отправляется как новое электронное письмо, а не как ответ на оригинал.

По сути, это мой код, я не могу показать все, но если что-то нуждается в разъяснении, я с радостью это сделаю.

  const msg = {
    to: from,
    headers: {
      References: `${references} ${messageId}`,
      'In-Reply-To': messageId
    },
    from: '[email protected]',
    subject: 'subject',
    text: 'reply',
  };

  sgMail.send(msg)

Что касается поля References , я просто беру предыдущее значение references из электронной почты отправителя и затем добавляю к нему идентификатор сообщения. У меня есть ощущение, что я делаю это неправильно, но я не совсем уверен.

Спасибо за помощь!

Наилучшие пожелания,
Крис

question

Самый полезный комментарий

Оказывается, чтобы ответить, вам нужно указать тему письма отправителя в теме письма.

  const msg = {
    to: from,
    headers: {
      References: `${references} ${messageId}`,
      'In-Reply-To': messageId
    },
    from: '[email protected]',
    subject: `Re: ${subject}`, // where subject is the sender's subject.
    text: 'reply'
  };

Все 3 Комментарий

Оказывается, чтобы ответить, вам нужно указать тему письма отправителя в теме письма.

  const msg = {
    to: from,
    headers: {
      References: `${references} ${messageId}`,
      'In-Reply-To': messageId
    },
    from: '[email protected]',
    subject: `Re: ${subject}`, // where subject is the sender's subject.
    text: 'reply'
  };

Спасибо за решение, @Chrischuck!

что это за переменная?

$ {ссылки}

В этом сообщении SO говорится, что это должен быть идентификатор сообщения .. это то, что вы используете?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги