✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Senden Sie E-Mails mit dem Gmail-SMTP-Server und der Swift Mailer-Bibliothek

61

Möchten Sie Ihre E-Mails über den Gmail-SMTP-Server senden? Wenn Sie den SMTP-Server für Ihre E-Mails verwenden, besteht eine hohe Wahrscheinlichkeit, dass Ihre E-Mails in den Posteingang des Benutzers und nicht in den Spam gelangen. Der SMTP-Server verhindert, dass Ihre E-Mails als Spam markiert werden. In diesem Artikel untersuchen wir, wie Sie E-Mails mit dem Gmail-SMTP-Server und der Swift Mailer-Bibliothek senden.

Als Websitebesitzer möchten Sie immer, dass Ihre E-Mails direkt in den Posteingang des Benutzers gelangen und nicht im Spam oder Junk. Es erhöht die Wahrscheinlichkeit, dass der Benutzer Ihre E-Mail liest und die gewünschte Aktion ausführt.

Warum müssen Sie einen SMTP-Server verwenden?

Für eine Website ist es normal, über ein Formular zu verfügen, das eine E-Mail an Benutzer oder Administratoren sendet. Dies kann Ihr Newsletter, Ihr Kontaktformular oder Ihr Registrierungsprozess sein, bei dem Sie eine E-Mail als Bestätigung senden müssen.

PHP bietet eine mail()Funktion zum Versenden von E-Mails. Wenn Ihr Server die E-Mail-Einstellungen jedoch nicht richtig konfiguriert, funktioniert diese Methode nicht. Eine andere Möglichkeit besteht darin, dass Sie beim Senden von E-Mails mit der mail()Methode Spam landen.

Um diese beiden Situationen zu überwinden, sollten Sie den SMTP-Server zum Senden Ihrer E-Mails verwenden.

Mit der Swift Mailer- Bibliothek kann der Benutzer jeden SMTP-Server wie Gmail, Sendgrid, Mandrill oder Ihren eigenen, vom Hosting bereitgestellten SMTP-Server zum Senden der E-Mails verwenden. In diesem Tutorial wähle ich einen Gmail-SMTP-Server aus.

Lassen Sie uns jedoch einen Blick darauf werfen, wie Sie die Swift Mailer-Bibliothek zum Senden von E-Mails verwenden.

Swift Mailer-Installation

Um die Swift Mailer-Bibliothek verwenden zu können, sollten Sie PHP-Version 7.2 oder höher auf Ihrem Server haben. Wenn Sie die ältere Version verwenden, aktualisieren Sie diese auf die neueste PHP-Version. Die meisten Hosting-Anbieter wie Bluehost aktualisieren die PHP-Version auf Anfrage. Sie müssen keine Zeit investieren, um die Version zu aktualisieren.

In Zukunft empfehle ich, Composer zu verwenden, um die Swift Mailer-Bibliothek zu installieren. Öffnen Sie das Terminal in Ihrem Projekt-Root-Verzeichnis und führen Sie den Befehl aus:

composer require swiftmailer/swiftmailer

Da wir Gmail SMTP verwenden werden, müssen Sie einige Einstellungen in Ihrem Google-Konto ändern. Melden Sie sich bei Ihrem Google-Konto an und klicken Sie auf Konto. Sobald Sie sich auf der Google-Kontoseite befinden, klicken Sie auf Sicherheit. Scrollen Sie nach unten und Sie finden die Einstellungen für "Weniger sicherer App-Zugriff". Stellen Sie es auf EIN.

Senden Sie E-Mails mit dem Gmail-SMTP-Server und der Swift Mailer-Bibliothek

Senden Sie E-Mails mit dem Gmail-SMTP-Server und der Swift Mailer-Bibliothek

Zu diesem Zeitpunkt sind Sie mit der Swift Mailer-Bibliothek fertig und haben auch die Gmail-Kontoeinstellungen geändert. Jetzt können Sie gut vorankommen.

Angenommen, Sie haben eine Datei, sendmail.phpin die Sie einen Code schreiben müssen, der E-Mails sendet. Schreiben Sie den folgenden Code in Ihre PHP-Datei.

sendmail.php

<?php require_once 'vendor/autoload.php';   try {     // Create the Transport     $transport = (new Swift_SmtpTransport('smtp.googlemail.com', 465, 'ssl'))       ->setUsername('YOUR_GMAIL_USERNAME')       ->setPassword('YOUR_GMAIL_PASSWORD')     ;       // Create the Mailer using your created Transport     $mailer = new Swift_Mailer($transport);       // Create a message     $body = 'Hello, <p>Email sent through <span style="color:red;">Swift Mailer</span>.</p>';       $message = (new Swift_Message('Email Through Swift Mailer'))       ->setFrom(['FROM_EMAIL_ADDRESS' => 'FROM_NAME'])       ->setTo(['RECEPIENT_1_EMAIL_ADDRESS'])       ->setCc(['RECEPIENT_2_EMAIL_ADDRESS'])       ->setBcc(['RECEPIENT_3_EMAIL_ADDRESS'])       ->setBody($body)       ->setContentType('text/html')     ;       // Send the message     $mailer->send($message);       echo 'Email has been sent.'; } catch(Exception $e) {     echo $e->getMessage(); }

Im obigen Code habe ich die folgenden Werte für die Gmail-SMTP-Servereinstellungen übergeben.

  • Google SMTP-Serveradresse: smtp.googlemail.com
  • Gmail-SMTP-Port: 465
  • Verschlüsselung: ssl

Abgesehen von diesen Werten müssen Sie andere Platzhalter wie YOUR_GMAIL_USERNAME, YOUR_GMAIL_PASSWORD usw. ändern.

Nachdem Sie alle Werte ersetzt haben, führen Sie diese Datei in einem Browser aus. Sie sollten die E-Mail im Posteingang erhalten, nicht im Spam.

Senden Sie einzelne oder mehrere Anhänge in einer E-Mail

Manchmal müssen Sie möglicherweise Anhänge in einer E-Mail senden. Mit Swift Mailer können Sie einzelne oder mehrere Anhänge wie folgt versenden:

$message->attach(Swift_Attachment::fromPath(__DIR__. '/sample.png')); //absolute path for your attachment $message->attach(Swift_Attachment::fromPath(__DIR__. '/sample-ebook.pdf'));

Alles, was Sie tun müssen, ist attachmethod zu verwenden und den absoluten Pfad der zu sendenden Datei als Anhang zu übergeben. Hier gehe ich davon aus, dass Sie ’sample.png‘ und ’sample-ebook.pdf‘ als Anhänge senden müssen.

Unser endgültiger Code ist also wie folgt.

sendmail.php

<?php require_once 'vendor/autoload.php';   try {     // Create the Transport     $transport = (new Swift_SmtpTransport('smtp.googlemail.com', 465, 'ssl'))       ->setUsername('YOUR_GMAIL_USERNAME')       ->setPassword('YOUR_GMAIL_PASSWORD')     ;       // Create the Mailer using your created Transport     $mailer = new Swift_Mailer($transport);       // Create a message     $body = 'Hello, <p>Email sent through <span style="color:red;">Swift Mailer</span>.</p>';       $message = (new Swift_Message('Email Through Swift Mailer'))       ->setFrom(['FROM_EMAIL_ADDRESS' => 'FROM_NAME'])       ->setTo(['RECEPIENT_1_EMAIL_ADDRESS'])       ->setCc(['RECEPIENT_2_EMAIL_ADDRESS'])       ->setBcc(['RECEPIENT_3_EMAIL_ADDRESS'])       ->setBody($body)       ->setContentType('text/html')       ->attach(Swift_Attachment::fromPath(__DIR__. '/sample.png'))       ->attach(Swift_Attachment::fromPath(__DIR__. '/sample-ebook.pdf'))     ;       // Send the message     $mailer->send($message);       echo 'Email has been sent.'; } catch(Exception $e) {     echo $e->getMessage(); }

Es dreht sich alles um das Senden von E-Mails über die Swift Mailer-Bibliothek. Sie können Symfony Swift Mailer auch zum Senden von Nachrichten über einige SMTP-Server wie Mailgun, Mandrill usw. verwenden. Ich würde gerne Ihre Gedanken und Vorschläge im Kommentarbereich unten hören.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen