Dieses Paket bietet eine einfache Möglichkeit, Abonnements für E-Mail-Listen verschiedener E-Mail-Dienste zu integrieren.
Derzeit unterstützt dieses Paket:
Postkutsche (von uns gebaut :-))
MailChimp
Wir investieren viele Ressourcen in die Erstellung erstklassiger Open-Source-Pakete. Sie können uns unterstützen, indem Sie eines unserer kostenpflichtigen Produkte kaufen.
Wir freuen uns sehr, dass Sie uns eine Postkarte aus Ihrer Heimatstadt schicken und erwähnen, welches unserer Pakete Sie verwenden. Unsere Adresse finden Sie auf unserer Kontaktseite. Wir veröffentlichen alle erhaltenen Postkarten auf unserer virtuellen Postkartenwand.
Sie können dieses Paket über Composer installieren mit:
Komponist benötigt Spatie/Laravel-Newsletter
Um die Konfigurationsdatei in config/newsletter.php
zu veröffentlichen, führen Sie Folgendes aus:
PHP-Artist-Anbieter:publish --tag="newsletter-config"
Dadurch wird eine Datei newsletter.php
in Ihrem Konfigurationsverzeichnis mit folgendem Inhalt veröffentlicht:
return [/* * Der Treiber, der für die Interaktion mit der MailChimp-API verwendet werden soll. * Sie können „log“ oder „null“ verwenden, um zu verhindern, dass * die API direkt aus Ihrer Umgebung aufgerufen wird. */'driver' => env('NEWSLETTER_DRIVER', SpatieNewsletterDriversMailcoachDriver::class),/** * Diese Argumente werden dem Treiber übergeben. */'driver_arguments' => ['api_key' => env('NEWSLETTER_API_KEY'),'endpoint' => env('NEWSLETTER_ENDPOINT'), ],/* * Der zu verwendende Listenname, wenn in einer Methode kein Listenname angegeben ist. */'default_list_name' => 'subscribers','lists' => [/* * Dieser Schlüssel wird zur Identifizierung dieser Liste verwendet. Er kann * als listName-Parameter verwendet werden, der in den verschiedenen Methoden bereitgestellt wird. * * Sie können eine beliebige Zeichenfolge festlegen und so viele Listen hinzufügen, wie Sie möchten. */'subscribers' => [/* * Bei Verwendung des Mailcoach-Treibers sollte dies die E-Mail-Listen-UUID sein, * die in der Mailcoach-Benutzeroberfläche angezeigt wird * * Bei Verwendung des MailChimp-Treibers sollte dies eine MailChimp-Listen-ID sein. * http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id. */'id' => env('NEWSLETTER_LIST_ID'), ], ], ];
Damit dieses Paket mit Mailcoach funktioniert, müssen Sie das Mailcoach SDK installieren.
Composer benötigen spatie/mailcoach-sdk-php
Als Nächstes müssen Sie Werte für den API-Schlüssel, den Endpunkt und list.subscribers.id
in der Konfigurationsdatei angeben. Sie finden den API-Schlüssel und den Endpunkt im Mailcoach-Einstellungsbildschirm. Der Wert für list.subscribers.id
muss die UUID einer E-Mail-Liste auf Mailcoach sein. Sie finden diesen Wert auf dem Einstellungsbildschirm einer E-Mail-Liste
Um MailChimp zu verwenden, installieren Sie dieses zusätzliche Paket.
Composer benötigen Dredm/Mailchimp-API
Der driver
der newsletter
Konfigurationsdatei muss auf SpatieNewsletterDriversMailChimpDriver::class
gesetzt sein.
Als Nächstes müssen Sie Werte für den API-Schlüssel und list.subscribers.id
angeben. Sie finden diese Werte in der MailChimp-Benutzeroberfläche.
Der endpoint
muss auf null gesetzt sein.
Nachdem Sie das Paket installiert und die Werte in die Konfigurationsdatei eingegeben haben, wird die Arbeit mit diesem Paket ein Kinderspiel sein. Alle folgenden Beispiele verwenden die Fassade. Vergessen Sie nicht, es oben in Ihre Datei zu importieren.
verwenden Sie SpatieNewsletterFacadesNewsletter;
Das Abonnieren einer E-Mail-Adresse kann folgendermaßen erfolgen:
Newsletter nutzen; Newsletter::subscribe('[email protected]');
Lassen Sie uns jemanden abmelden:
Newsletter::unsubscribe('[email protected]');
Für Mailcoach können Sie zusätzliche Attribute als zweites Argument übergeben:
Newsletter::subscribe('[email protected]', ['first_name' => 'Rince', 'last_name' => 'Wind']);
Für MailChimp können Sie Merge-Variablen als zweites Argument übergeben:
Newsletter::subscribe('[email protected]', ['FNAME'=>'Rince', 'LNAME'=>'Wind']);
Sie können jemanden in eine bestimmte Liste eintragen, indem Sie einen Listennamen übergeben:
Newsletter::subscribe('[email protected]', listName: 'subscribers');
Dieses dritte Argument ist der Name einer Liste, die Sie in der Konfigurationsdatei konfiguriert haben.
Sie können auch jemanden abonnieren und/oder aktualisieren. Die Person wird abonniert oder aktualisiert, wenn sie bereits abonniert ist:
Newsletter::subscribeOrUpdate('[email protected]', ['first_name' => 'Rince', 'last_name' => 'Wind']);
Bei MailChimp können Sie jemanden bei einer oder mehreren bestimmten Gruppen/Interessen abonnieren, indem Sie das vierte Argument verwenden:
Newsletter::subscribeOrUpdate( '[email protected]', ['FNAME'=>'Rince','LNAME'=>'Wind'], 'Abonnenten', ['interests'=>['interestId'=>true, 'interestId'=>true]], );
Fügen Sie einfach false
hinzu, wenn Sie jemanden aus einer Gruppe/einem Interesse entfernen möchten.
So können Sie jemanden von einer bestimmten Liste abmelden:
Newsletter::unsubscribe('[email protected]', 'subscribers');
Löschen ist nicht dasselbe wie Abmelden. Im Gegensatz zur Abmeldung führt das Löschen eines Mitglieds zum Verlust des gesamten Verlaufs (Hinzufügen/Anmelden/Änderungen) und zum Entfernen des Mitglieds aus der Liste. In den meisten Fällen möchten Sie unsubscribe
anstelle von delete
verwenden.
So führen Sie einen Löschvorgang durch:
Newsletter::delete('[email protected]');
Mit der getMember
-Funktion können Sie Informationen zu einem Abonnenten abrufen:
Newsletter::getMember('[email protected]');
Für MailCoach wird eine Instanz von SpatieMailcoachResources|Subscriber
zurückgegeben. Für MailChimp wird ein Array mit Informationen zum Abonnenten zurückgegeben.
Wenn sich niemand mit dieser E-Mail-Adresse angemeldet hat, gibt die Funktion false
zurück
Es gibt auch eine praktische Methode, um zu überprüfen, ob jemand bereits ein Abonnement hat:
Newsletter::hasMember('[email protected]'); //gibt einen booleschen Wert zurück
Darüber hinaus können Sie auch überprüfen, ob ein Benutzer Ihre Liste abonniert hat:
Newsletter::isSubscribed('[email protected]'); //gibt einen booleschen Wert zurück
Wenn Sie mehr Funktionalität benötigen, erhalten Sie eine Instanz der zugrunde liegenden API mit
$api = Newsletter::getApi();
Wenn Sie Probleme beim Erhalt der MailChimp-Integration haben, können Sie den letzten Fehler wie folgt sehen:
Newsletter::getApi()->getLastError();
Führen Sie die Tests aus mit:
Anbieter/Behälter/Schädling
Weitere Informationen zu den letzten Änderungen finden Sie im CHANGELOG.
Weitere Informationen finden Sie unter BEITRAGEN.
Wenn Sie sicherheitsrelevante Probleme entdecken, senden Sie bitte eine E-Mail an [email protected], anstatt den Issue-Tracker zu verwenden.
Freek Van der Herten
Alle Mitwirkenden widmen sich der Bereitstellung von Arbeitskräften für Wartung und neue tolle Dinge.
Die MIT-Lizenz (MIT). Weitere Informationen finden Sie in der Lizenzdatei.