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





H?ufige Probleme und L?sungen für den variablen PHP -Umfang umfassen: 1. Die globale Variable kann innerhalb der Funktion nicht zugegriffen werden, und sie muss bei der Verwendung des globalen Schlüsselworts oder Parameters übergeben werden. 2. Die statische Variable wird statisch deklariert und nur einmal initialisiert und der Wert wird zwischen mehreren Aufrufen beibehalten. 3.. Hyperglobale Variablen wie $ _get und $ _post k?nnen direkt in jedem Bereich verwendet werden, aber Sie müssen auf eine sichere Filterung achten. 4. Die anonymen Funktionen müssen über das Schlüsselwort verwenden, und wenn Sie externe Variablen ?ndern, müssen Sie eine Referenz übergeben. Das Beherrschen dieser Regeln kann dazu beitragen, Fehler zu vermeiden und die Code -Stabilit?t zu verbessern.

Um PHP -Datei -Uploads sicher zu verarbeiten, müssen Sie die Quelle und die Type und die Eingabe des Dateinamens und des Pfades überprüfen, Serverbeschr?nkungen festlegen und Mediendateien zweimal verarbeiten. 1. überprüfen Sie die Upload -Quelle, um CSRF durch Token zu verhindern, und erkennen Sie den realen MIME -Typ über die Finfo_file mithilfe der Whitelist -Steuerung. 2. Benennen Sie die Datei in eine zuf?llige Zeichenfolge um und bestimmen Sie die Erweiterung, um sie gem?? dem Erkennungstyp in einem Verzeichnis ohne Web zu speichern. 3. Die PHP -Konfiguration begrenzt die Hochladengr??e und das tempor?re Verzeichnis Nginx/Apache verbietet den Zugriff auf das Upload -Verzeichnis. 4. Die GD -Bibliothek stellt die Bilder neu, um potenzielle b?swillige Daten zu l?schen.

Es gibt drei g?ngige Methoden für den PHP -Kommentarcode: 1. Verwenden Sie // oder #, um eine Codezeile zu blockieren, und es wird empfohlen, // zu verwenden. 2. Verwenden Sie /.../, um Codebl?cke mit mehreren Zeilen zu wickeln, die nicht verschachtelt werden k?nnen, aber gekreuzt werden k?nnen. 3.. Kombinationskenntnisse Kommentare wie die Verwendung / if () {} / Um Logikbl?cke zu steuern oder um die Effizienz mit Editor -Verknüpfungsschlüssel zu verbessern, sollten Sie auf die Schlie?ung von Symbolen achten und das Verschachteln bei der Verwendung vermeiden.

AgneeratorinphpiSamemory-effizientes WaytoiterateOverlargedatasetsByyieldingValueatimeinsteadofReturningThemallatonce.1.GeneratorsusetheyieldKeywordtoproduktenvaluesonDemand, ReducingMemoryUsage.2.TheyareusefulforfulforfulfordlingBiglopploups, Lesebiglochen, Leselungen, Lesebigs, Leselung, oder

Der Schlüssel zum Schreiben von PHP -Kommentaren liegt in der Kl?rung des Zwecks und der Spezifikationen. Kommentare sollten "Warum" und nicht "was getan" erkl?ren, um Redundanz oder zu Einfachheit zu vermeiden. 1. Verwenden Sie ein einheitliches Format wie Docblock (/*/) für Klassen- und Methodenbeschreibungen, um die Lesbarkeit und die Kompatibilit?t der Werkzeuge zu verbessern. 2. Betonen Sie die Gründe für die Logik, z. B. warum JS -Sprünge manuell ausgeben müssen. 3. Fügen Sie eine übersichtsbeschreibung vor komplexem Code hinzu, beschreiben Sie den Prozess in Schritten und helfen Sie, die Gesamtidee zu verstehen. V. Gute Anmerkungen k?nnen die Kommunikationskosten senken und die Effizienz der Code -Wartung verbessern.

Toinstallphpquickly, usexampponwindowsorhomebrewonmacos.1.onwindows, download undInstallxampp, SelectComponents, Startapache und PlaceFilesinhtdocscs.2.Anternativ, manuellinstallphpfrfr

Tolearnphpeffectival, startbysettingupalocalerverenVironmentusexs -LikexamppandacodeeditorikevScode.1) InstallxamppForapache, MySQL und Php.SeacodeeditorForsyntaxSupport.3) testyourscludingveliktingveliktelaThbiliodble.Neclyble.NektFile

In PHP k?nnen Sie quadratische Klammern oder lockige Klammern verwenden, um Zeichenfolgenspezifikationsspezifische Indexzeichen zu erhalten, aber quadratische Klammern werden empfohlen. Der Index startet von 0 und der Zugriff au?erhalb des Bereichs gibt einen Nullwert zurück und kann keinen Wert zugewiesen; MB_SUBSTR ist erforderlich, um Multi-Byte-Zeichen zu verarbeiten. Zum Beispiel: $ str = "Hallo"; echo $ str [0]; Ausgabe H; und chinesische Zeichen wie Mb_Substr ($ str, 1,1) müssen das richtige Ergebnis erzielen. In den tats?chlichen Anwendungen sollte die L?nge der Zeichenfolge vor dem Schleifen überprüft werden, dynamische Zeichenfolgen müssen für die Gültigkeit verifiziert werden, und mehrsprachige Projekte empfehlen, Multi-Byte-Sicherheitsfunktionen einheitlich zu verwenden.
