Changelog

Doppelte E-Mails mit idempotency verhindern

Veröffentlicht am:

Mit der neuen idempotency Funktion in Lettermint verhinderst du, dass Empfänger doppelte E-Mails erhalten. Mit einem idempotency key stellst du sicher, dass eine E-Mail nur einmal gesendet wird, selbst wenn mehrere Sendeversuche über API, SMTP oder andere Integrationen unternommen werden.

Was ist idempotency?

Idempotency ist ein Begriff, der häufig in der Welt der Softwareentwicklung verwendet wird. Es bedeutet, dass eine Operation immer dasselbe Ergebnis liefert, unabhängig davon, wie oft sie ausgeführt wird. Im Fall von E-Mails sorgt idempotency dafür, dass dieselbe E-Mail nicht mehrfach an denselben Empfänger gesendet wird.

Stell dir vor, es tritt ein Netzwerkproblem auf oder eine Funktion innerhalb einer Anwendung wird versehentlich doppelt ausgeführt. Mit idempotency verhinderst du doppelte E-Mails.

Wann verwendet man idempotency?

Idempotency ist nützlich in Situationen, in denen du verhindern möchtest, dass dieselbe Aktion mehrfach ausgeführt wird, wie zum Beispiel:

  • Benutzerfehler: Stellt sicher, dass durch Klicken auf eine Schaltfläche nur eine E-Mail gesendet wird.
  • Serverprobleme: Verhindert doppelte E-Mails bei Serverfehlern.
  • Netzwerkprobleme: Verhindert doppelte E-Mails bei Ausfällen.

Es ist also kein Problem, alle E-Mails standardmäßig mit idempotency zu versenden. Dies ist besonders praktisch bei transactional E-Mails mit wichtigen Informationen.

Wie funktioniert idempotency in Lettermint?

Idempotency ist in vielen unserer Integrationen verfügbar, wie PHP, Laravel, Node.js und über unser SMTP und API. Dies macht es einfach, idempotency anzuwenden und sicherzustellen, dass E-Mails ohne Duplikate gesendet werden.

Unten siehst du ein Beispiel, wie du diese Funktion in unserem PHP SDK verwendest:

          $lettermint = new Lettermint\Lettermint('your-api-token');

$lettermint->email
    ->from('John Doe <john@yourdomain.com>')
    ->to('recipient@example.com')
    ->subject('Hello from Lettermint!')
    ->text('Hello! This is a test email.')
    ->idempotencyKey('123e4567-e89b-12d3-a456-426614174000')
    ->send();

        

In diesem Beispiel wird der idempotencyKey verwendet, um sicherzustellen, dass die E-Mail nur einmal gesendet wird, selbst wenn die send() Funktion mit demselben key mehrfach aufgerufen wird.

Möchtest du mehr über idempotency erfahren und Beispiele für andere Integrationen wie Node.js, SMTP oder API sehen? Schau dir unsere Dokumentation an.