Key Takeaways
- Swift Mailer ist eine leistungsstarke, komponentenbasierte Bibliothek, mit der Programmierer E-Mails mit einem objektorientierten Ansatz mit minimaler Anforderungen von PHP 5.2 oder h?her mit der SPL-Erweiterung und einer minimalen Speichergrenze von 8 MB. Swift Mailer kann über Birne oder durch Hochladen der Dateien mit einem FTP installiert werden. Es besteht aus mehr als 150 Klassen und Schnittstellen, einschlie?lich Mailer, Transportern, Mime -Entit?ten, Encodern und Plugins.
- Swift Mailer bietet Funktionen zum Erstellen einer E-Mail mit mehreren Empf?ngern, einem Thema und einem einfachen Textk?rper. Es erm?glicht auch Anh?nge, benutzerdefinierte SMTP -Konfiguration und Verfolgung von Empf?ngern, die die E -Mail nicht erhalten.
- Swift Mailer verfügt au?erdem über ein Dekorateur -Plugin, mit dem Sie dieselbe E -Mail an mehrere Empf?nger mit kleinen Unterschieden senden k?nnen, z. B. den Empf?ngernamen im E -Mail -K?rper. Dies ist von Vorteil für Aufgaben wie das Senden von Newsletter an Abonnenten.
- Das programmgestellte Senden von E -Mails ist eine h?ufige Aufgabe, mit der Programmierer h?ufig zu tun haben müssen. Obwohl Sie die nativen Funktionen von PHP verwenden k?nnen, k?nnen diese zu niedrig sein, insbesondere wenn Sie eine oder mehrere Dateien an Ihre Nachricht anh?ngen m?chten. Wenn Sie die nativen Funktionen nicht verwenden m?chten oder wenn Sie E-Mails mit einem objektorientierten Ansatz senden m?chten, ist dies der Artikel für Sie. Ich werde Ihnen Swift Mailer vorstellen, einer leistungsstarken Komponentenbibliothek, in der Sie E-Mails problemlos senden k?nnen. Swift Mailer wurde im Jahr 2005 gestartet und ist eine Bibliothek, in der mehrere Klassen enth?lt, mit denen Sie E -Mails in Ihren PHP -Skripten oder Webanwendungen senden k?nnen. Swift Mailer hat einige Anforderungen, sie sind jedoch minimal. Die Bibliothek ben?tigt Php 5.2 oder h?her mit der SPL -Erweiterung und einer minimalen Speichergrenze von 8 MB. Unter Berufung auf die offizielle Dokumentation ist die Installation von Swift Mailer trivial. Normalerweise geht es nur beim Hochladen der extrahierten Quelldateien auf Ihren Webserver. Die einfachste M?glichkeit, die Bibliothek zu installieren, besteht darin, die Dateien mit einem FTP hochzuladen. Die Installation aus dem Birnenkanal ist nur eine Frage der Befehle vom Typ zwei:
pear channel-discover pear.swiftmailer.org pear install swift/swiftDie Swift Mailer -Familie von Klassen
Swift Mailer besteht aus mehr als 150 Klassen und Schnittstellen, die in mehreren Komponenten zusammengefasst sind. Jeder von ihnen hat einen bestimmten Zweck.
- Mailer: Der Mailer, der von der Swift_Mailer -Klasse realisiert wird, ist die zentrale Klasse in der Bibliothek und die, die die E -Mail tats?chlich über die Methode send () sendet. Sein Konstruktor akzeptiert eine Instanz einer Klasse, die die Schnittstelle swift_transport implementiert, mit der Sie E -Mails mit einem benutzerdefinierten SMTP senden k?nnen.
- Transporter: Sie implementieren die Schnittstelle SWIFT_TRALSPORT und deren Umfang besteht darin, mit einem Dienst zu kommunizieren, um eine E -Mail -Nachricht zu übermitteln. Die Hauptklassen sind SWIFT_SMTPTRANSPORT, das das SMTP -Protokoll, Swift_Sendmailtransport verwendet, das mit einer ausführbaren Sendmail -Sendmail -Datei kommuniziert, und Swift_mailTransport, die auf der Funktion des PHP Native Mail () () beruht.
- MIME -Entit?ten: Dies ist eine Schlüsselkomponente in der Bibliothek. Die Klasse, mit der Sie den Empf?nger, das Subjekt, den K?rper usw. angeben, wird aus mehreren Einheiten, die zusammengefasst sind, zusammengestellt. Zwei Beispiele für Entit?ten sind die Anh?nge und der E -Mail -Header.
- Encoder: Diese Komponente wird nicht etwas, mit dem Sie sich befassen werden, da sie hinter den Kulissen wirkt. Es gibt zwei Arten von Encodern: Base64 und zitierbar. Ihr Ziel ist es, den Inhalt in ein Format zu verwandeln, das den RFC -Spezifikationen entspricht.
- Plugins: Diese werden verwendet, um die grundlegenden Funktionen von Swift Mailer zu erweitern. Einige der Plugins sind Antiflood - und ?ndern Sie nur einige Unterschiede im E -Mail -Text.
Ein grundlegendes Beispiel
Mit mir so weit? Gut. Nachdem Sie eine Vorstellung davon haben, wie die Komponenten in der Bibliothek organisiert sind, lassen Sie uns die H?nde schmutzig machen und sehen, wie Sie die Leistung und Flexibilit?t von Swift Mailer nutzen k?nnen. In diesem ersten und sehr einfachen Beispiel zeige ich Ihnen die Erstellung einer E-Mail mit zwei Empf?ngern, einem Motiv und einem einfachen Textk?rper. Nach der Erstellung wird es an die Empf?nger gesendet. Der folgende Code verwendet drei der im vorherigen Abschnitt genannten Klassen: Swift_mailtransport, Swift_mailer und Swift_Message. Beachten Sie au?erdem die erste Zeile des Codes, die für den Autoloader von Swift Mailer, die für die Verwendung der Bibliothek ben?tigt wird, ben?tigt.pear channel-discover pear.swiftmailer.org pear install swift/swiftWie Sie sehen k?nnen, wird Swift_mailTransport verwendet, um eine Instanz einer Transportschicht zu erstellen, die die native PHP Mail () -Funktion verwendet. Dann habe ich eine Swift_Message erstellt Instanz, die Sie als E -Mail -Objekt betrachten k?nnen. In den folgenden Zeilen setze ich die Empf?nger mithilfe der Methode SETTO (), das E -Mail -Betreff mit setSubject (), der E -Mail -Organisation mit SetBody () und dem Absender mit der Methode setFrom () fest. Mit der definierten Ebene und der erstellten E -Mail ist es an der Zeit, die E -Mail tats?chlich zu senden, die mit der Send () -Methode der SWIFT_MAILER -Klasse durchgeführt wird.
Ein Beispiel mit Anh?ngen
Es besteht kein Zweifel, dass Anh?nge ein Grundnahrungsmittel für die heutigen E -Mail -Systeme sind. Niemand kann ohne sie leben. In diesem etwas komplizierteren Beispiel wird angezeigt, wie Sie eine E -Mail senden, die nicht nur einen Anhang, sondern auch andere Funktionen hat.- Zwei zus?tzliche Empf?nger, eine in CC und die zweite in BCC mit setcc () und setbcc ().
- Ein Anhang, der mit der Methode cattest () aus der Festplatte abgerufen wurde.
- Eine benutzerdefinierte SMTP -Konfiguration mit der Klasse SWIFT_SMTPTRANSPORT.
- Wissen, welche Empf?nger die E -Mail nicht mit dem zweiten Parameter der Send () -Methode erhalten haben.
pear channel-discover pear.swiftmailer.org pear install swift/swiftIch habe eine andere Transportschicht verwendet, eine SMTP , die mit der Klasse SWIFT_SMTPTRANSPORT eingestellt wird. Es akzeptiert zwei Parameter: den SMTP -Server und den Verbindungsport. Sie verwenden die Instanz, um einen geeigneten Benutzernamen und einen geeigneten Kennwort festzulegen, um mit den Methoden SetUserName () und setPassword () auf den Server zugreifen zu k?nnen. Genau wie beim ersten Beispiel habe ich ein Swift_Message -Objekt erstellt und die Empf?nger, das Thema usw. gesetzt. Diesmal nutzte ich jedoch auch die SetCC () und den SetBCC () Methoden, mit denen Sie, wie Sie vielleicht vermuten, Carbon Copy und Blind Carbon Copy -Empf?nger einstellen k?nnen. Die Schlüsselmethode dieses Beispiels ist Cattel (), der eine von der Festplatte entnommene Datei unter Verwendung der statischen Methode von Path () anschlie?t, die den Pfad zur Datei, die Sie als Parameter anh?ngen m?chten, übertragen werden. Beachten Sie, dass ich diesmal auch die Anzahl der fehlgeschlagenen Empf?nger ausdrucken habe, die mit dem zweiten Parameter der Send () -Methode abgerufen wurden.
Verwenden einer Vorlage
Das dritte und letzte Beispiel zeigt Ihnen, wie Sie das Dekorateur -Plugin verwenden, ideal für Dinge wie das Senden von Newslettern an Ihre Abonnenten. Sie k?nnen dieselbe E -Mail an mehrere Empf?nger mit kleinen Unterschieden wie dem Empf?ngernamen im E -Mail -K?rper senden. Das Plugin schaut in die Vorlage (den K?rper) und ersetzt die Platzhalter durch die festgelegten Werte. Um das Plugin zu verwenden, müssen Sie es zun?chst mit der Registerplugin () -Methode registrieren und dann eine Reihe von Ersatzwerten erstellen und verwenden. Im folgenden Code werde ich zwei Platzhalter einfügen, Benutzername und Transaktionen , die programmgesteuert durch Werte ersetzt werden, die sich auf die E -Mail des Benutzers beziehen.<span><span><?php </span></span><span><span>require_once 'lib/swift_required.php'; </span></span><span> </span><span><span>// Create the mail transport configuration </span></span><span><span>$transport = Swift_MailTransport<span>::</span>newInstance(); </span></span><span> </span><span><span>// Create the message </span></span><span><span>$message = Swift_Message<span>::</span>newInstance(); </span></span><span><span>$message->setTo(array( </span></span><span> <span>"hello@gmail.com" => "Aurelio De Rosa", </span></span><span> <span>"test@fake.com" => "Audero" </span></span><span><span>)); </span></span><span><span>$message->setSubject("This email is sent using Swift Mailer"); </span></span><span><span>$message->setBody("You're our best client ever."); </span></span><span><span>$message->setFrom("account@bank.com", "Your bank"); </span></span><span> </span><span><span>// Send the email </span></span><span><span>$mailer = Swift_Mailer<span>::</span>newInstance($transport); </span></span><span><span>$mailer->send($message);</span></span>Der Dekorateur -Plugin -Konstruktor akzeptiert einen Parameter: eine Reihe von Werten, um die Platzhalter zu ersetzen. Jeder Wert dieses Arrays verwendet die E-Mail des Benutzers für seinen Schlüssel und ein Unterarray, das Platzhalterpaare enth?lt. Dies ist genau das Ziel des $ Ersatz -Arrays. Im obigen Beispiel habe ich als Platzhalter eine Zeichenfolge in zwei Klammern verwendet (d. H. {Fullname}) Aber Sie k?nnen alles verwenden, was Sie wollen. Dieses Mal habe ich nicht alle Empf?nger in derselben Aussage wie zuvor festgelegt und habe eine für die Schleife verwendet. Dies geschieht, weil das Plugin den Sendeprozess abf?ngt, die Empf?nger -E -Mail liest und die Platzhalter anhand der Werte des Ersatzarrays ersetzt.
Schlussfolgerung
In diesem Artikel habe ich gezeigt, wie Sie problemlos E -Mails mit Swift Mailer senden k?nnen. Dies ist eine sehr leistungsstarke Bibliothek, die Sie, wie Sie gesehen haben, mit einem OOP -Ansatz viele Dinge erm?glichen. Natürlich hat Swift Mailer viele andere Methoden und Klassen, die ich in diesem Artikel nicht behandelt habe. Sie k?nnen sie in der offiziellen Dokumentation untersuchen, dies sollte jedoch ausreichen, damit Sie mit dem Senden von E -Mails ohne Probleme damit beginnen k?nnen. Bild über Fotolienh?ufig gestellte Fragen zu Swift Mailer
Wie kann ich Swift Mailer mit Composer installieren? Um Swift Mailer zu installieren, müssen der Komponist auf Ihrem System installiert werden. Sobald Sie den Komponisten installiert haben, k?nnen Sie Swift Mailer installieren, indem Sie den folgenden Befehl in Ihrem Projektverzeichnis ausführen: Composer ben?tigt "Swiftmailer/Swiftmailer:^6.0". Dieser Befehl fordert den Komponist auf, das Swift Mailer -Paket und seine Abh?ngigkeiten in Ihr Projekt herunterzuladen.
Wie kann ich eine E -Mail mit Swift Mailer senden? Konfigurieren des Mailer und Senden der Nachricht. Hier ist ein grundlegendes Beispiel dafür, wie Sie eine E -Mail mit Swift Mailer senden:
require_once
-> setSubject ('Hallo') -> setfrom (['John@doe.com' => 'John Doe'])
-> setto (['reciver@domain.org', 'other@domain.org' => 'Ein Name'])
-> setBody ('Hier ist die Nachricht selbst'); $ transport = (neu Swift_SmtpTransport ('SMTP.Example.org', 25))
-> setUnername ('dein Benutzername')
-> setPassword ('dein Passwort');
$ mailer = new Swift_mailer ($ transport);
$ result = $ mailer-> send ($ message);
Wie kann ich Anh?nge zu einer E -Mail mit Swift Mailer hinzufügen? Sie k?nnen Dateien von einem Pfad, einer Zeichenfolge oder einer vorhandenen Swift -Anhangsinstanz anh?ngen. Hier ist ein Beispiel dafür, wie Sie eine Datei aus einem Pfad anh?ngen:
$ message = (new Swift_Message ())
-> setSubject ('Hallo')
-> setfrom (['John @doe.com '=>' John doe '])
-> setto ([' reciver@domain.org '])
-> setBody (' Hier ist die Nachricht selbst ')
Wie kann ich HTML -E -Mails mit Swift Mailer senden? Hier ist ein Beispiel:
$ message = (new Swift_Message ())
-> setSubject ('Hallo')
-> setfrom (['John@doe.com' => 'John Doe '])
-> setto ([' reciver@domain.org '])
-> setbody ('
Hier ist die html Nachricht selbst
',' text/html ');Wie kann ich Fehler im Swift -Mailer verarbeiten? Sie k?nnen diese Ausnahmen fangen, um Fehler zu behandeln. Hier ist ein Beispiel:
try {
$ result = $ mailer-> send ($ message); Senden der E -Mail: '. $ e-> getMessage ();}
Wie kann ich Swift Mailer mit Google Mail verwenden? Einstellungen. Hier ist ein Beispiel:
$ transport = (neu Swift_Smtptransport ('SMTP.gmail.com', 465, 'SSL')
-> setusername ('Ihr Google Mail -Benutzername')
- > setPassword ('Ihr Google Mail -Passwort');
Wie kann ich mehrere E -Mails mit Swift Mailer senden?
Sie k?nnen mehrere E -Mails mit Swift Mailer senden, indem Sie mehrere Nachrichteninstanzen erstellen und mit derselben Mailer -Instanz senden. Hier ist ein Beispiel:
$ message1 = (new Swift_Message ())
-> setSubject ('Hallo')
-> setfrom (['John@doe.com' => 'John Doe '])
-> setBody (' Hier ist die Nachricht selbst ');
$ message2 = (new Swift_Message ())
-> setSubject (' Hallo ')
-> setfrom ([' John@doe.com '=>' John Doe '])
-> setto ([' receiver2@domain.org '])
-> setbody (' Hier ist die Nachricht selbst ');
$ result1 = $ mailer-> send ($ message1);
$ result2 = $ mailer-> send ($ message2);
Wie kann ich Swift verwenden Mailer mit Symfony?
Swift Mailer ist in Symfony integriert und kann als Dienst verwendet werden. Sie k?nnen E -Mails mit Swift Mailer in Symfony senden, indem Sie den Mailer -Dienst erhalten und diese zum Senden einer Nachricht verwenden. Hier ist ein Beispiel:
$ message = (new Swift_Message ())
-> setSubject ('Hallo')
-> setfrom (['John@doe.com' => 'John Doe '])
-> setBody (' Hier ist die Nachricht selbst ');
$ this-> get (' mailer ')-> send ($ meldung);
Wie kann ich die Priorit?t einer E-Mail mit Swift Mailer festlegen?
Sie k?nnen die Priorit?t einer E -Mail mit Swift Mailer festlegen, indem Sie die SetPriority -Methode auf der Nachrichteninstanz aufrufen. Die Priorit?t ist eine Ganzzahl zwischen 1 (h?chster) und 5 (niedrigst). Hier ist ein Beispiel:
$ message = (new Swift_Message ())
-> setSubject ('Hallo')
-> setfrom (['John@doe.com' => 'John Doe '])
-> setBody (' Hier ist die Nachricht selbst ')
-> setPriority (1);Wie kann ich asynchron mit Swift Mailer E -Mails senden? Sie k?nnen dies jedoch mit einer Nachrichtenwarteschlange erreichen. Sie k?nnen Nachrichten aufnehmen und sie dann in einem separaten Vorgang senden. Auf diese Weise kann Ihre Bewerbung weiterhin andere Aufgaben bearbeiten, ohne darauf zu warten, dass die E -Mails gesendet werden.
Das obige ist der detaillierte Inhalt vonPHP Master | E -Mail mit Swift Mailer senden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

ToversionAPHP-basiertApieffektiv, useUrl-basiertversionsforclarityAndaseFrouting, separateversionedCodetoAvoidConflicts, DeprecateoldversionswithClearcommunication, und considercustomheadsonlywaNno.

TosecurelyHandleAuthenticationAuthorizationInphp, folge theSteps: 1.Alwayshashpasswordswithpassword_hash () und password_verify (), usePreeParedStatementStopreventsQlinjapitca und StoreuserDatain $ _SessionArtelogin.2.ImplementscaChescescesc

ProzeduralandObject-orientedProgramming (OOP) inPhpdifferS sisideftribitionInstructure, Wiederverwendbarkeit und datahandling.1.ProceduralProgrammingusSfunctions-organisierte Folgesequentiell, optableForsmallscripts.

Phpdoesnothaveabuilt-inWeakmapbutoffersWeakreferenceForsimilarFunction.1.WeakreferenceAllowsholdingReferences WithoutPreventingGAGECollection

Um Datei -Uploads in PHP sicher zu verarbeiten, besteht der Kern darin, Dateitypen zu überprüfen, Dateien umzubenennen und die Berechtigungen zu beschr?nken. 1. Verwenden Sie Finfo_File (), um den realen MIME -Typ zu überprüfen, und nur bestimmte Typen wie Bild/JPEG sind zul?ssig. 2. Verwenden Sie Uniqid (), um zuf?llige Dateinamen zu generieren und sie im Root-Verzeichnis ohne Web zu speichern. 3.. Begrenzen Sie die Dateigr??e durch Php.ini- und HTML -Formulare und setzen Sie die Verzeichnisberechtigungen auf 0755; 4. Verwenden Sie Clamav, um Malware zu scannen, um die Sicherheit zu verbessern. Diese Schritte verhindern effektiv Sicherheitslücken und stellen sicher, dass der Upload -Prozess des Datei -Uploads sicher und zuverl?ssig ist.

Ja, PHP kann mit NoSQL -Datenbanken wie MongoDB und Redis durch bestimmte Erweiterungen oder Bibliotheken interagieren. Verwenden Sie zun?chst den MongoDBPHP -Treiber (installiert über PECL oder Composer), um Client -Instanzen zu erstellen und Datenbanken und Sammlungen zu betreiben, wobei Sie Insertion, Abfrage, Aggregation und andere Vorg?nge unterstützen. Zweitens verwenden Sie die Predis Library oder PHPREDIS-Erweiterung, um eine Verbindung zu Redis herzustellen, Schlüsselwerteinstellungen und -akquisitionen durchzuführen und PHPREDIS für Hochleistungsszenarien zu empfehlen, w?hrend Predis für die schnelle Bereitstellung bequem ist. Beide sind für Produktionsumgebungen geeignet und gut dokumentiert.

In PHP ist der Hauptunterschied zwischen == und == die Strenge der Typprüfung. == Die Konvertierung des Typs wird vor dem Vergleich durchgeführt, beispielsweise 5 == "5" gibt true zurück und === fordert an, dass der Wert und der Typ gleich sind, bevor True zurückgegeben wird, z. B. 5 === "5" gibt false zurück. In den Nutzungsszenarien ist === sicherer und sollte zuerst verwendet werden, und == wird nur verwendet, wenn die Typumwandlung erforderlich ist.

Die Methoden zur Verwendung grundlegender mathematischer Operationen in PHP sind wie folgt: 1. Additionszeichen unterstützen Ganzfaktoren und Floating-Punkt-Zahlen und k?nnen auch für Variablen verwendet werden. String -Nummern werden automatisch konvertiert, aber nicht für Abh?ngigkeiten empfohlen. 2. Subtraktionszeichen verwenden - Zeichen, Variablen sind gleich, und die Typumwandlung ist ebenfalls anwendbar. 3. Multiplikationszeichen verwenden * Zeichen, die für Zahlen und ?hnliche Zeichenfolgen geeignet sind; 4. Division verwendet / Zeichen, die vermeiden müssen, durch Null zu dividieren, und beachten Sie, dass das Ergebnis m?glicherweise schwimmende Punktzahlen sein kann. 5. Die Modulzeichen k?nnen verwendet werden, um ungerade und sogar Zahlen zu beurteilen, und wenn negative Zahlen verarbeitet werden, stimmen die Restzeichen mit der Dividende überein. Der Schlüssel zur korrekten Verwendung dieser Operatoren liegt darin, sicherzustellen, dass die Datentypen klar sind und die Grenzsituation gut behandelt wird.
