Kernpunkte
- PHP bietet eine einfache und effiziente M?glichkeit, E -Mails zu senden, einschlie?lich grundlegender Klartextnachrichten, HTML -Nachrichten und Mailen mit Anh?ngen.
- PHPs
mail()
-Funktion wird zum Senden von E -Mails verwendet. Für einfache E -Mails sind nur drei Parameter erforderlich: die Adresse des Empf?ngers, des Motivs und des K?rpers der E -Mail. - Beim Senden von HTML -E -Mails oder E -Mails mit Anh?ngen müssen Sie den MIME -Standard verwenden, um die Mail in Teile zu unterteilen und mit ausgew?hlten Grenzen zu trennen. Jeder Abschnitt sollte definieren, was der Inhalt ist, wie er codiert ist, wie der Inhalt gehandhabt wird, und wie der Inhalt selbst.
- Verwenden der Phpmailer -Bibliothek kann die Funktionalit?t des E -Mail -Sendens in PHP verbessern, wodurch eine Verbindung zu SMTP -Servern, Anh?nge, Handhabungsfehler, Senden mehrerer E -Mails, Hinzufügen von benutzerdefinierten Headern und mehr hinzugefügt wird.
M?glicherweise m?chten Sie ein Skript in PHP schreiben, um einem Freund eine E -Mail mit einer interessanten Antwortadresse zu senden. Es gibt jedoch immer sinnvollere Dinge zu tun! Natürlich haben Sie m?glicherweise andere Gründe: Zum Beispiel ben?tigen Sie m?glicherweise einen Cron-Job, um Sie über das Problem zu informieren, oder Sie werden benachrichtigt, wenn der Benutzer eingeleitet wird, oder Sie haben ein Kontakt mit uns, um die Nachricht an Sie weiterzuleiten, oder Sie m?chten Ihre PHP-F?higkeiten demonstrieren und Ihre eigenen webbasierten Mail-Kunden schreiben. Und es ist sehr einfach! In den meisten F?llen kann Ihre PHP -Installation E -Mails senden. Wenn Sie ein gemeinsam genutztes Hosting verwenden oder PHP über ein Paketverwaltungssystem wie APT-GET installieren lassen, sind Sie wahrscheinlich bereits eingerichtet. Sie müssen sich nur um eine zus?tzliche Konfiguration kümmern, wenn Sie PHP aus Quelle kompilieren oder PHP unter Windows ausführen. In beiden F?llen sind viele Ressourcen online verfügbar, die Ihnen helfen. Da dies über den Rahmen dieses Artikels hinausgeht, gehe ich davon aus, dass Sie ihn eingerichtet haben. Wenn nicht, wird Google Ihr Freund sein.
Super Basic -Beispiel
Um eine sehr einfache E -Mail zu senden, lautet der Code wie folgt:
<?php mail($address, $subject, $message); ?>
Tats?chlich geht es darum, eine grundlegende E -Mail mit einfachem Text zu senden (wenn sie nicht für Sie funktioniert, überprüfen Sie Google erneut, um die ordnungsgem??e Konfiguration von PHP). Lassen Sie uns nun sehen, wie das im Skript aussieht. Angenommen, Sie m?chten, dass das Skript Sie jedes Mal per E -Mail senden, wenn die Abfrage fehlschl?gt:
<?php $query = "SELECT left_arm AS arm_in, right_leg AS leg_in, front_head AS head_in FROM hokey_pokey WHERE its_about = 'all'"; try { $result = $db->query($query); // ... } catch (PDOException $e) { mail("bad_things@my_database.com", "Error in " . $_SERVER["SCRIPT_NAME"], $e->getMessage()); } ?>
Wenn Ihre Abfrageausführung einige unvorhergesehene Fehler gibt, erhalten Sie eine E -Mail, in der Sie informiert werden, welches Skript einen Fehler hat und was der Fehler ist.
Volles HTML -Mail -Beispiel
Lassen Sie uns nun ein komplettes mehrteiliges Beispiel sehen mail()
, das einen HTML -K?rper und eine einfache Textalternative und einen Dateianhang enth?lt:
<?php mail($address, $subject, $message); ?>
Um das Verst?ndnis der grundlegenden Konzepte zu vereinfachen, wurden einige Aspekte typischerer E -Mail -Skripte vereinfacht, obwohl ich dies in diesem Abschnitt erkl?ren werde. Erstens ist das $emailList
-Array mit einigen E -Mail -Adressen gefüllt, mit denen ich meine E -Mail weitergeben m?chte. Das Array wird am Ende des Skripts iteriert und jede Adresse erh?lt eine Kopie meiner E -Mail. Als n?chstes wird die $headers
-Sziel mit verschiedenen E -Mail -Headern erstellt. Jeder Header in der Zeichenfolge wird durch CRLF (rn
) getrennt und entspricht dem RFC 2822 -Standard, der das Format von E -Mail -Nachrichten definiert. "From:" Fluffy Mumsy "$boundary = md5(time())
zu, da die Wahrscheinlichkeit einer Kollision sehr niedrig ist. Der Inhalt von novyrus.zip
(hier befindet sich im selben Verzeichnis wie das Skript) wird von Base64 codiert und in "Bl?cke" unterteilt, sodass der Mail -Client einfacher zu handhaben ist. Das Ergebnis wird in $goodAttachment
gespeichert und wird sp?ter erscheinen. Schlie?lich ist die Komposition des E-Mail-K?rpers ... "--Yagottakeepemseparatedrn" Dies ist die erste Instanz, die früher definierte Grenze zu verwenden und dem Mail-Client mitzuteilen: "Hey, dies ist der Beginn des ersten Teils der E-Mail-Nachricht, der immer mit einem doppelten Dash vor der von Ihnen ausgew?hlten Grenzzeichenfolge beginnt. "Inhaltstyp: Multipart/Alternative; blo?e =" Jedes EMailalternative "RN" Zus?tzlich zu dem im E-Mail-Header angegebenen "Multipart/gemischten" k?nnen Sie auch "Multipart/Alternative" im K?rper und unterschiedliche Grenzen (spezifisch für diesen Zusammenbruch) verwenden, um ein alternatives Format für Nachrichten bereitzustellen. "-EeAchemailalternativen" Dies ist die erste Instanz der verschachtelten Grenze und startet die erste alternative Version der Nachricht. "Inhaltstyp: text/plain; charset =" ISO-8859-1 "RN". Dieser Inhalts-Header sagt dem Mail-Client, dass diese Alternative einfacher Text ist. Wenn der Client keine komplexeren Formate (z. B. HTML) anzeigen kann, wird diese Version der Nachricht verwendet. Der "Content-Transfer-Coding: 7bitrn" -Kenner-kodierende Header gibt das in der Nachricht verwendete Codierungsschema an. Aus historischen Gründen ist "7bit" der Standardwert, sodass er weggelassen werden kann. Ich habe es nur aufgenommen, um Sie wissen zu lassen. "Sie haben eine günstige Text-E-Mail, die Sie kein Geld haben. Bitte ignorieren Sie. "-EeAchemailalternativen" Die erste Alternative ist abgeschlossen und Sie k?nnen die n?chste Alternative starten. "Inhaltstyp: text/html; charset =" iSO-8859-1 "RN" Dieser Header vom Typ Inhalt benachrichtigt den Client, dass diese Version als HTML formatiert ist und der Charaktersatz verwendet wird. "... rn" beachten Sie, dass sich der Inhalt dieser Version sehr von der einfachen Textversion unterscheidet, au?er dass er HTML -Tags enth?lt. Einige Spam -Filter betrachten dies m?glicherweise als einen weiteren Grund, um zu verhindern, dass meine Post meinen Posteingang erreicht. "--yagottakeepemseparatedrn" Dies ist die mehrteilige/gemischte Grenze, die darauf hinweist, dass Sie das Ende des Abschnitts des Nachrichtenk?rpers erreicht haben, der alle Alternativen enth?lt. "Inhaltstyp: application/zip; name =" novyrus.zip "rn" Der Header vom Typ Inhalt zeigt an, dass der n?chste Teil der E-Mail eine Anhang (novyrus.zip
Datei) ist und es sich um eine Zip-Datei handelt. "Content-Transfer-Coding: Base64RN" 7-Bit-Codierungslimit-Zeichen für sieben Bits und k?nnen nicht alle von einer ZIP-Datei erforderlichen Bin?rzeichen repr?sentieren. Deshalb ist die Datei Basis64 codiert und geschnürt. Mit dem Content-transfer-kodierenden Header hier wissen Sie, wie der Client die Anhangsdatei dekodieren. Die "Inhaltsdisposition: AttachmentRN" -Kupplungs-Header beschreibt, wie der Inhalt wiedergegeben wird.W?hrend es wenig sinnvoll ist, eine ZIP -Datei als Inline -Element in einer Nachricht anzuzeigen, ist es sehr nützlich, um Bilder einzubetten. $goodAttachment . "rn"
Der Inhalt der beigefügten Datei wird einfach in den Mix abgeladen. "-Yagottakeepemseparated ..." Dies ist die endgültige Grenze, die Deklaration endet mit einem Satz von Doppelfragen am Ende ohne Inhalt.
Zusammenfassung
Das ist es! Sie haben gelernt, wie man ultra-basische Text-E-Mails und vollst?ndige HTML-E-Mails mit Anh?ngen sendet. Eine einfache E -Mail ruft einfach die mail()
-Funktion auf. Für HTML -Nachrichten müssen Sie die E -Mails mit dem MIME -Standard in Abschnitte unterteilen und mit der Grenze Ihrer Wahl trennen. Sie definieren dann, was der Inhalt ist, wie er codiert ist, wie der Inhalt gehandhabt wird, und den Inhalt selbst. Abh?ngig davon, wer Sie E -Mails senden m?chten, müssen Sie sich darüber im Klaren sein, was Ihre E -Mail h?here Wahrscheinlichkeit als Spam machen, nur für den Fall, dass Sie wirklich etwas Ernstes senden m?chten. Bilder von Photosani / Shutterstock
FAQs über das Senden von E -Mails mit PHP
(Der FAQ-Teil wird hier weggelassen, da die L?nge zu lang ist und nicht mit dem pseudooriginalen Ziel übereinstimmt. Der Inhalt des FAQ-Teils steht im Einklang mit dem Originaltext. Nehmen Sie einfach die Anweisungen für den Originaltext, um Pseudooriginal zu vervollst?ndigen.)
Das obige ist der detaillierte Inhalt vonSenden von E -Mails mit PHP. 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)

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.

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.

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