So richten Sie Mailgun mit PHP schnell ein
Als ich mit dem Coding begann, habe ich lange überlegt, ob ich ASP.NET oder PHP lernen sollte. Ich habe Tausende von Forenbeiträgen zu beiden Sprachen gelesen, um meine Entscheidung zu treffen.
Ich habe mich hauptsächlich wegen der Community, der vielen Beispiele und der Tatsache, dass es Open Source ist, für PHP entschieden. Sicherlich haben Sie sich aus ähnlichen Gründen dazu entschlossen, in die Welt von PHP einzutauchen.
PHP ist eine der am häufigsten verwendeten Sprachen, dennoch gibt es im Internet viele verwirrende oder veraltete Informationen.
Das Ziel dieses Beitrags ist es, Ihnen einen detaillierten Überblick darüber zu geben, wie Sie Mailgun in Ihrer PHP-Umgebung mit einfachen Copy-and-Paste-Beispielen nutzen.
Die offizielle Mailgun-PHP-Bibliothek nutzen
Ein sehr unkomplizierter Weg, Mailgun zu nutzen und seine herausragende API für den Versand von E-Mails einzusetzen, ist die Installation der offiziellen PHP-Bibliothek in Ihrer Entwicklungsumgebung, die geschrieben und gepflegt wird als Open-Source-Projekt von unserem Mailgunner Travis.
Schritte
- Öffnen Sie Ihr Terminal und navigieren Sie zum öffentlichen Ordner Ihres Servers. Hier speichern Sie Ihre Website. Der Pfad variiert je nach Installation und verwendetem Webserver –
cd /var/www/html - Erstellen Sie ein leeres Verzeichnis für dieses Projekt –
mkdir mailgun-php - Wechseln Sie in das Verzeichnis und führen Sie den folgenden Befehl aus –
cd mailgun-php(wechselt das Verzeichnis) - Führen Sie nun den folgenden Befehl aus, um Composer herunterzuladen und zu installieren. –
curl -sS https://getcomposer.org/installer | php
Wenn Composer auf diese Weise verwendet wird, können wir PHP-Bibliotheken ganz einfach lokal in den Ordner herunterladen. Nutzen wir nun Composer, um die Mailgun-Bibliothek selbst zu installieren.
- Führen Sie dies aus, um Composer mitzuteilen, dass wir die Mailgun-Bibliothek (hier Version 1.7.1) und ihre Abhängigkeiten nutzen (und sie daher herunterladen müssen). –
php composer.phar require mailgun/mailgun-php:~1.7.1
Herzlichen Glückwunsch, Sie haben die offizielle Mailgun-Bibliothek installiert und sind nun bereit, mit dem Coding zu beginnen!
Öffnen Sie eine Datei und binden Sie die Datei vendor/autoload.php ein, um loszulegen. Alle unten stehenden Beispiele setzen voraus, dass Sie dies bereits in Ihre Datei eingebunden haben:
Befolgen Sie dann diese Anweisungen in der offiziellen Dokumentation , um eine Nachricht mit dem SDK zu senden:
messages()->send($domain, $params);
$mg->messages()->send('example.com', [
'from' => 'bob@example.com',
'to' => 'sally@example.com',
'subject' => 'The PHP SDK is awesome!',
'text' => 'It is so simple to send a message.'
]);
?>
Denken Sie daran: $domain muss mit der Domain übereinstimmen, die Sie konfiguriert haben auf app.mailgun.com.
Swift Mailer nutzen
Mailgun mit Swift Mailer zu nutzen, ist ein Kinderspiel.
Stellen Sie sicher, dass Sie die SMTP-Anmeldedaten Ihrer Domain zur Hand haben! Sie finden diese hier , sie heißen:
- Standard-SMTP-Anmeldung
- Standard-Passwort
Schritte
- Erstellen Sie einen Ordner namens Swiftmailer –
mkdir swiftmailer, cd swiftmailer - Laden Sie Composer herunter, um swiftmailer und seine Abhängigkeiten zu installieren.
curl -sS https://getcomposer.org/installer | php
- Installieren Sie Swiftmailer
php composer.phar require swiftmailer/swiftmailer @stable
- Die Dateien werden heruntergeladen. Sobald dies abgeschlossen ist, erstellen Sie einfach Ihre eigene leere Datei, um zu testen, ob Phpmailer funktioniert. In Ihrem Terminal erreichen Sie das wie folgt:
touch mailgun_with_swiftmailer.phpvim mailgun_with_swiftmailer.php
Hier verwenden wir vim, aber Sie können die Datei mailgun_with_swiftmailer.php in dem Editor bearbeiten, der Ihnen am meisten zusagt.
setUsername('your SMTP username')
->setPassword('your SMTP password')
;
// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
// Create a message
$message = Swift_Message::newInstance('Hello from Mailgun')
->setFrom(array('someone@domain.com' => 'John Doe'))
->setTo(array('someone_else@domain.org', 'third_contact@domain.org' => 'A third name'))
->setBody("And that's another ace in the hole for the Mailgun dev!")
;
// Send the message
$result = $mailer->send($message);
?>
Weitere Informationen zum Versenden weitaus komplexerer E-Mails finden Sie in der offiziellen Swiftmailer-Dokumentation, die hier online verfügbar ist.
PHP Mailer nutzen
Mailgun kann auch in Verbindung mit einer der bekanntesten PHP-E-Mail-Bibliotheken verwendet werden: PHP Mailer.
PHP Mailer ist eine sehr gute Alternative zur integrierten PHP-Funktion mail(), da sie den Prozess beschleunigt und es Ihnen ermöglicht, den Versand von E-Mails mit PHP stark anzupassen. Linux-Distributionen und Mac OS X verfügen über eine integrierte Funktion zum Senden von E-Mails, auch wenn diese unzuverlässig ist. Übrigens ist es erwähnenswert, dass Windows überhaupt keine Möglichkeit bietet, E-Mails zu versenden. Daher empfehle ich Ihnen, weiterzulesen.
Schritte
- Erstellen Sie einen Ordner namens
phpmailermkdir phpmailercd phpmailer
- Laden Sie Composer herunter, um
phpmailerund seine Abhängigkeiten zu installieren.curl -sS https://getcomposer.org/installer | php
- Composer ist bereit, installieren wir nun Phpmailer(5.2.8):
php composer.phar require phpmailer/phpmailer:5.2.8
- Die Dateien werden heruntergeladen. Sobald dies abgeschlossen ist, erstellen Sie einfach Ihre eigene leere Datei, um zu testen, ob Phpmailer funktioniert.
touch mailgun_with_phpmailer.phpvim mailgun_with_phpmailer.php
Hier verwenden wir vim, aber Sie können die Datei mailgun_with_phpmailer.php in dem Editor bearbeiten, der Ihnen am meisten zusagt.
isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.mailgun.org'; // Specify mailgun SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'username@domain.com'; // SMTP username from https://mailgun.com/cp/domains
$mail->Password = 'myp@55w0rd'; // SMTP password from https://mailgun.com/cp/domains
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl'
$mail->From = 'sender@domain.com'; // The FROM field, the address sending the email
$mail->FromName = 'Orlie'; // The NAME field which will be displayed on arrival by the email client
$mail->addAddress('recipient@domain.net', 'BOB'); // Recipient's email address and optionally a name to identify him
$mail->isHTML(true); // Set email to be sent as HTML, if you are planning on sending plain text email just set it to false
// The following is self explanatory
$mail->Subject = 'Email sent with Mailgun';
$mail->Body = '<span style="color: red">Mailgun rocks</span>, thank you <em>phpmailer</em> for making emailing easy using this <b>tool!</b>';
$mail->AltBody = 'Mailgun rocks, shame you can't see the html sent with phpmailer so you're seeing this instead';
if(!$mail->send()) {
echo "Message hasn't been sent.";
echo 'Mailer Error: ' . $mail->ErrorInfo . "n";
} else {
echo "Message has been sent n";
}
?>
Die Einstellungen für die Authentifizierung mit dem SMTP-Server von Mailgun finden Sie hier, genau wie bei Swiftmailer.
Melden Sie sich in Ihrem Mailgun Control Panel an, wählen Sie eine Domain aus (oder die Sandbox-Domain, die jedem neuen Konto beiliegt, falls Sie noch keine benutzerdefinierte Domain konfiguriert haben), und fügen Sie diese Details (Standard-SMTP-Anmeldung, Standard-Passwort) per Copy-and-Paste in die Felder für den SMTP-Benutzernamen und das Passwort im obigen Code-Snippet ein.
Einrichten ist großartig
Nutzen Sie andere Bibliotheken in Verbindung mit Mailgun? Falls ja, würden wir uns freuen, dies in unserem nächsten PHP-Blogbeitrag mit ausführlicher Berichterstattung und Beispielen vorzustellen!
Viel Spaß beim Versenden!