Sendgrid-nodejs: So erstellen Sie einen Nachrichtenthread mit Mail-API

Erstellt am 30. Mai 2018  ·  3Kommentare  ·  Quelle: sendgrid/sendgrid-nodejs

Problemzusammenfassung

Ich habe ein Webhook-Setup zum Parsen eingehender E-Mails, das einwandfrei funktioniert, aber ich verwende die E-Mail-API, um dem Absender dieser E-Mail zu antworten. Ich kann die E-Mail problemlos senden, möchte jedoch auf die E-Mail des Absenders antworten und einen E-Mail-Thread erstellen. Ich konnte in Sendgrids Dokumenten nichts anderes zu diesem Thema finden als die Möglichkeit, benutzerdefinierte Header hinzuzufügen.

Nachdem ich mir angesehen hatte, wie E-Mails im Allgemeinen funktionieren, lernte ich das Feld In-Reply-To und das Feld References kennen. Ich habe die Nachrichten-ID erfolgreich aus der E-Mail des Absenders abgerufen und das Feld In-Reply-To in meinem Nachrichtenkopf darauf gesetzt. Darüber hinaus füge ich die Nachrichten-ID an die Referenzzeichenfolge an und sende diese ebenfalls mit.

Wenn ich mir die unformatierte E-Mail in Google Mail ansehe, sehe ich, dass beide Felder festgelegt sind, sie wird jedoch weiterhin als neue E-Mail und nicht als Antwort auf das Original gesendet.

Dies ist im Grunde mein Code, ich kann nicht alles anzeigen, aber wenn etwas geklärt werden muss, bin ich mehr als bereit, dies zu tun.

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

  sgMail.send(msg)

Was das Feld References betrifft, nehme ich einfach die vorherigen references aus der E-Mail des Absenders und hänge dann die Nachrichten-ID an diese an. Ich habe das Gefühl, dass ich das vielleicht nicht richtig mache, aber ich bin mir nicht ganz sicher.

Danke für die Hilfe!

Freundliche Grüße,
Chris

question

Hilfreichster Kommentar

Es stellt sich heraus, dass Sie, um eine Antwort zu geben, den E-Mail-Betreff des Absenders im Betreff Ihrer E-Mail angeben müssen.

  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'
  };

Alle 3 Kommentare

Es stellt sich heraus, dass Sie, um eine Antwort zu geben, den E-Mail-Betreff des Absenders im Betreff Ihrer E-Mail angeben müssen.

  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'
  };

Vielen Dank für die Bereitstellung der Lösung @Chrischuck!

Was soll diese Variable sein?

$ {Referenzen}

Dieser SO-Beitrag sagt, dass es die Nachrichten-ID sein soll. Ist es das, was Sie verwenden?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

nicoasp picture nicoasp  ·  3Kommentare

prasoonjalan picture prasoonjalan  ·  3Kommentare

egges picture egges  ·  3Kommentare

thinkingserious picture thinkingserious  ·  4Kommentare

kiranshashiny picture kiranshashiny  ·  4Kommentare