6. Senden einer E-Mail über die API

Die Methode ist zum Senden einer E-Mail über die API in Fällen vorgesehen, in denen die Funktionalität der Versandkampagnen über die UI des Dienstes aus bestimmten Gründen nicht passt. Die Daten werden im Format application/json übergeben.

HTTP-Anfrage
  • URL: https://sender-solutions.com/api/emails/send-instant-email/
  • HTTP-Methode: POST
  • Content-Type: application/json
Anfragetext (JSON)
{
    "SendEmail": {
        "TrackingSettings": {
            "TrackLinks": true,
            "TrackPlainTextLinks": true,
            "TrackOpen": true,
            "TrackUnsubscribe": true
        },
        "EmailSettings": {
            "InlineImages": true,
            "SendAt": 1769356236,
            "UseDkim": true,
            "UseDkimSelector": null
        },
        "Email": {
            "To": [
                {
                    "Email": "cat@example.com",
                    "Name": "Mr Cat"
                }
            ],
            "Cc": [],
            "Bcc": [],
            "ReplyTo": [],
            "From": {
                "Email": "info@example.org",
                "Name": "MyCompany Title"
            },
            "Headers": [
                {
                    "Name": "X-Request-Id",
                    "Value": "X-abc-123"
                }
            ],
            "Html": "<!doctype html>\r            <html lang=\"en\">\r            <head>\r                <meta charset=\"UTF-8\">\r                <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r                <title>Test Email<\/title>\r            <\/head>\r            <body>\r            <h1>Hello<\/h1>\r            <p>Test email content<\/p>\r            <\/body>\r            <\/html>",
            "PlainText": "Hello\r\nIt's test email content",
            "Subject": "Test Email via API",
            "Attachments": [
                {
                    "ContentBase64": "VGVzdCBGaWxlIGNvbnRlbnQ=",
                    "ContentId": "ec91464b58363fac4924587afecf53d0",
                    "Disposition": "attachment",
                    "Filename": "Attachment12.txt",
                    "Type": "text/plain"
                }
            ]
        }
    }
}
Beispiel einer Anfrage unter Verwendung von cURL

curl --location 'https://sender-solutions.com/api/emails/send-instant-email/' \
--header 'Content-Type: application/json' \
--header 'Authorization: {{api-token}}' \
--data-raw '{
    "SendEmail": {
        "TrackingSettings": {
            "TrackLinks": true,
            "TrackPlainTextLinks": true,
            "TrackOpen": true,
            "TrackUnsubscribe": true
        },
        "EmailSettings": {
            "InlineImages": true,
            "SendAt": 1769356236,
            "UseDkim": true,
            "UseDkimSelector": null
        },
        "Email": {
            "To": [
                {
                    "Email": "cat@example.com",
                    "Name": "Mr Cat"
                }
            ],
            "Cc": [],
            "Bcc": [],
            "ReplyTo": [],
            "From": {
                "Email": "info@example.org",
                "Name": "MyCompany Title"
            },
            "Headers": [
                {
                    "Name": "X-Request-Id",
                    "Value": "X-abc-123"
                }
            ],
            "Html": "<!doctype html>\r            <html lang=\"en\">\r            <head>\r                <meta charset=\"UTF-8\">\r                <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r                <title>Test Email<\/title>\r            <\/head>\r            <body>\r            <h1>Hello<\/h1>\r            <p>Test email content<\/p>\r            <\/body>\r            <\/html>",
            "PlainText": "Hello\r\nIt'\''s test email content",
            "Subject": "Test Email via API",
            "Attachments": [
                {
                    "ContentBase64": "VGVzdCBGaWxlIGNvbnRlbnQ=",
                    "ContentId": "ec91464b58363fac4924587afecf53d0",
                    "Disposition": "attachment",
                    "Filename": "Attachment12.txt",
                    "Type": "text/plain"
                }
            ]
        }
    }
}'
Beschreibung der Felder

Wenn in den Feldern SendEmail.TrackingSettings.* oder SendEmail.EmailSettings.* der Wert null übergeben wird (oder das Feld gar nicht übergeben wird), trifft das System selbst die Entscheidung über die Verarbeitung der E-Mail. Es wird empfohlen, immer alle für Sie wichtigen Einstellungsfelder anzugeben, damit das Verhalten des Systems vorhersehbar ist.

Feld Typ Obligatorisch Beschreibung
SendEmail.TrackingSettings.TrackLinks boolean | null Die Einstellung ist für die Nachverfolgung von Klicks auf Links verantwortlich. Wenn aktiviert, werden die Links im HTML-Teil der E-Mail geändert, um die Nachverfolgung von Klicks zu aktivieren.
SendEmail.TrackingSettings.TrackPlainTextLinks boolean | null Die Einstellung ist für die Nachverfolgung von Klicks auf Links verantwortlich. Wenn aktiviert, werden die Links im plain/text-Teil der E-Mail geändert, um die Nachverfolgung von Klicks zu aktivieren.
SendEmail.TrackingSettings.TrackOpen boolean | null Die Einstellung ist für die Nachverfolgung des Öffnens der E-Mail verantwortlich.
SendEmail.TrackingSettings.TrackUnsubscribe boolean | null Die Einstellung ist für die Nachverfolgung von Abmeldungen von der Aussendung verantwortlich.
SendEmail.EmailSettings.InlineImages boolean | null Wenn diese Option aktiviert ist, wird der HTML-Teil der E-Mail optimiert: externe Bilder werden als Inline-Anhänge hinzugefügt (sie können nicht heruntergeladen werden). Das Erscheinungsbild der E-Mail ändert sich nicht, aber E-Mail-Clients werden einer solchen E-Mail mehr vertrauen.
SendEmail.EmailSettings.SendAt int | null Mindestversanddatum der E-Mail (Unix-Timestamp). Wird für den verzögerten Versand verwendet.
SendEmail.EmailSettings.UseDkim boolean | null Ob eine DKIM-Signatur verwendet werden soll. Das System findet selbst den passenden DKIM-Schlüssel für diese E-Mail.
SendEmail.EmailSettings.UseDkimSelector string | null Wert des Selektors des DKIM-Schlüssels, der für die Signatur verwendet werden soll. Die Übergabe eines nicht leeren Werts dieses Feldes führt dazu, dass das System die Eigenschaft SendEmail.EmailSettings.UseDkim als aktiviert betrachtet, selbst wenn sie als false übergeben wird. Wird kein passender Schlüssel mit dem angegebenen Selektor gefunden, versucht das System, einen anderen passenden DKIM-Schlüssel zu finden und zu verwenden.
SendEmail.Email.To array Array von Objekten mit den Schlüsseln Email und Name. Jedes Objekt steht für einen einzelnen Empfänger der E-Mail. Es ist mindestens ein Empfänger erforderlich.
SendEmail.Email.Cc
SendEmail.Email.Bcc
SendEmail.Email.ReplyTo
array Array von Objekten mit den Schlüsseln Email und Name. Jedes Objekt steht für eine einzelne E-Mail-Adresse und fügt sie der entsprechenden Kopfzeile der E-Mail (Cc, Bcc, ReplyTo) hinzu.
SendEmail.Email.To.*.Email string E-Mail-Adresse des Empfängers. Pflichtfeld für jedes Objekt in SendEmail.Email.To.*.
SendEmail.Email.To.*.Name string Name des Empfängers. Es ist wünschenswert, ihn anzugeben, wenn Ihnen dieser Wert bekannt ist.
SendEmail.Email.Cc.*.Email
SendEmail.Email.Bcc.*.Email
SendEmail.Email.ReplyTo.*.Email
string E-Mail-Adresse. Pflichtfeld für jedes übergebene Element der Arrays Cc, Bcc, ReplyTo. Die Arrays selbst sind nicht obligatorisch.
SendEmail.Email.Cc.*.Name
SendEmail.Email.Bcc.*.Name
SendEmail.Email.ReplyTo.*.Name
string Name des Empfängers. Es ist wünschenswert, ihn anzugeben, wenn Ihnen dieser Wert bekannt ist.
SendEmail.Email.From.Email string E-Mail-Adresse des Absenders. Auf ihrer Grundlage wird die Versanddomain bestimmt. Die Domain muss im persönlichen Konto zum Projekt hinzugefügt und bestätigt sein.
SendEmail.Email.From.Name string Name des Absenders. Es wird empfohlen, ihn anzugeben, damit für die Abonnenten klar ist, von wem die E-Mail stammt.
SendEmail.Email.Headers array Array von Objekten mit den Zeichenketten-Eigenschaften Name und Value. Diese Kopfzeilen werden der E-Mail hinzugefügt. Einige Kopfzeilen sind geschützt und können nicht über die API hinzugefügt oder überschrieben werden. Übergeben Sie nur wirklich notwendige nicht standardmäßige Kopfzeilen.
SendEmail.Email.Html string HTML-Code der E-Mail. Kann leer sein oder fehlen, wenn das Feld SendEmail.Email.PlainText übergeben wird.
SendEmail.Email.PlainText string Textversion der E-Mail. Kann leer sein oder fehlen, wenn das Feld SendEmail.Email.Html übergeben wird.
SendEmail.Email.Subject string Betreff der E-Mail.
SendEmail.Email.Attachments array Array von Objekten, von denen jedes für einen Anhang steht. Anhänge sind nicht obligatorisch, aber wenn sie übergeben werden — sind alle Felder außer ContentId obligatorisch. ContentId wird nur für Anhänge mit Disposition = inline benötigt.
SendEmail.Email.Attachments.*.ContentBase64 string Inhalt des Anhangs im base64-Format.
SendEmail.Email.Attachments.*.ContentId string ContentId (Kennung) des Anhangs, muss innerhalb einer E-Mail eindeutig sein. Wird für Anhänge mit Disposition = inline benötigt.
SendEmail.Email.Attachments.*.Disposition string Legt den Typ des Anhangs fest. Mögliche Werte: attachment — ein Anhang, der heruntergeladen werden kann, und inline — ein Anhang zur Verwendung innerhalb der E-Mail.
SendEmail.Email.Attachments.*.Filename string Name des Anhangs.
SendEmail.Email.Attachments.*.Type string MIME-Typ des Anhangs, zum Beispiel application/pdf.
Beispiel einer erfolgreichen Antwort
{
    "success": true,
    "SendEmail": {
        "SendMessageRequestId": 49,
        "MessageId": "1vb1rzxzem2naah3dxp3t9k6zoj9d4hc@sender-solutions.com"
    }
}

Im Antworttext ist das Feld SendEmail.SendMessageRequestId für die eindeutige Kennung der Aufgabe zum Senden einer einzelnen E-Mail verantwortlich. Das Feld SendEmail.MessageId ist für den eindeutigen Wert der Kopfzeile Message-ID in der E-Mail verantwortlich.
Diese Daten können nützlich sein, um andere Anfragen an unsere API auszuführen oder um sich an den technischen Support zu wenden.