Was ist PHP-Mail?
PHP-Mail ist die integrierte PHP-Funktion, mit der E-Mails von PHP-Skripten gesendet werden.
Die Mail-Funktion akzeptiert die folgenden Parameter.
- E-Mail-Addresse
- Gegenstand
- Botschaft
- CC- oder BC-E-Mail-Adressen
- Dies ist eine kostengünstige Möglichkeit, Benutzer über wichtige Ereignisse zu informieren.
- Lassen Sie Benutzer Sie per E-Mail kontaktieren, indem Sie auf der Website ein Kontaktformular bereitstellen, in dem der bereitgestellte Inhalt per E-Mail gesendet wird.
- Entwickler können damit Systemfehler per E-Mail empfangen
- Sie können es verwenden, um Ihren Newsletter-Abonnenten eine E-Mail zu senden.
- Sie können damit Links zum Zurücksetzen von Passwörtern an Benutzer senden, die ihre Passwörter vergessen haben
- Sie können es verwenden, um Aktivierungs- / Bestätigungslinks per E-Mail zu senden. Dies ist nützlich, wenn Sie Benutzer registrieren und ihre E-Mail-Adressen überprüfen
In diesem Tutorial lernen Sie:
- Warum / Wann soll die PHP-Mail verwendet werden?
- Einfaches Mail-Übertragungsprotokoll
- Bereinigen von E-Mail-Benutzereingaben
- Sichere Mail
Warum / Wann soll das Mail-PHP verwendet werden?
Senden von E-Mails mit PHP
Die PHP-Mail-Funktion hat die folgende grundlegende Syntax
HIER,
- "$ To_email_address" ist die E-Mail-Adresse des E-Mail-Empfängers
- "$ Subject" ist der Betreff der E-Mail
- "$ Message" ist die zu sendende Nachricht.
- "[$ Headers]" ist optional und kann verwendet werden, um Informationen wie CC, BCC einzuschließen
- CC ist die Abkürzung für Carbon Copy. Es wird verwendet, wenn Sie eine Kopie an eine interessierte Person senden möchten, dh eine an ein Unternehmen gesendete Beschwerde-E-Mail kann auch als CC an die Beschwerdekammer gesendet werden.
- BCC ist die Abkürzung für Blind Carbon Copy. Es ist ähnlich wie CC. Die im BCC-Bereich enthaltenen E-Mail-Adressen werden den anderen Empfängern nicht angezeigt.
SMTP (Simple Mail Transmission Protocol)
PHP Mailer verwendet SMTP (Simple Mail Transmission Protocol) zum Senden von E-Mails.
Auf einem gehosteten Server wären die SMTP-Einstellungen bereits festgelegt worden.
Die SMTP-Mail-Einstellungen können über die Datei "php.ini" im PHP-Installationsordner konfiguriert werden.
Konfigurieren der SMTP-Einstellungen auf Ihrem lokalen Host Angenommen, Sie verwenden xampp unter Windows, suchen Sie die "php.ini" im Verzeichnis "C: \ xampp \ php".
- Öffnen Sie es mit dem Editor oder einem beliebigen Texteditor. In diesem Beispiel wird der Notizblock verwendet. Klicken Sie auf das Bearbeitungsmenü
- Klicken Sie auf das Menü Suchen…
- Das Suchdialogmenü wird angezeigt
- Klicken Sie auf die Schaltfläche Weiter suchen
- Suchen Sie die Einträge
- [Mail-Funktion]
- ;; XAMPP: Entfernen Sie die Semi-Spalte nicht, wenn Sie mit einem SMTP-Server wie Mercury arbeiten möchten
- ;; SMTP = localhost
- ;; smtp_port = 25
- Entfernen Sie die Semikolons vor SMTP und smtp_port und setzen Sie SMTP auf Ihren SMTP-Server und den Port auf Ihren SMTP-Port. Ihre Einstellungen sollten wie folgt aussehen
- SMTP = smtp.example.com
- smtp_port = 25
- Beachten Sie, dass die SMTP-Einstellungen von Ihren Webhosting-Anbietern abgerufen werden können.
- Wenn der Server eine Authentifizierung erfordert, fügen Sie die folgenden Zeilen hinzu.
- auth_username = Diese E-Mail-Adresse ist vor Spambots geschützt! JavaScript muss aktiviert werden, damit sie angezeigt werden kann.
- auth_password = example_password
- Speichern Sie die neuen Änderungen.
- Starten Sie den Apache-Server neu.
PHP Mail Beispiel
Schauen wir uns nun ein Beispiel an, das eine einfache Mail sendet.
Ausgabe:
Hinweis: Im obigen Beispiel werden nur die 4 obligatorischen Parameter verwendet.
Sie sollten die oben genannte fiktive E-Mail-Adresse durch eine echte E-Mail-Adresse ersetzen.
Bereinigen von E-Mail-Benutzereingaben
Im obigen Beispiel werden der Einfachheit halber fest codierte Werte im Quellcode für die E-Mail-Adresse und andere Details verwendet.
Nehmen wir an, Sie müssen ein Kontaktformular erstellen, damit Benutzer die Details eingeben und dann senden können.
- Benutzer können versehentlich oder absichtlich Code in die Header einfügen, was zum Senden von Spam-Mails führen kann
- Um Ihr System vor solchen Angriffen zu schützen, können Sie eine benutzerdefinierte Funktion erstellen, die die Werte bereinigt und überprüft, bevor die E-Mail gesendet wird.
Erstellen wir eine benutzerdefinierte Funktion, die die E-Mail-Adresse mithilfe der integrierten Funktion filter_var überprüft und bereinigt.
Filter_var-Funktion Mit der Filter_var-Funktion werden die Benutzereingabedaten bereinigt und validiert.
Es hat die folgende grundlegende Syntax.
HIER,
- "Filter_var (…)" ist die Validierungs- und Desinfektionsfunktion
- "$ Field" ist der Wert des zu filternden Feldes.
- "SANITISIERUNGSART" ist die Art der Desinfektion, die auf dem Feld durchgeführt werden soll, wie z.
- FILTER_VALIDATE_EMAIL - Gibt für gültige E-Mail-Adressen true und für ungültige E-Mail-Adressen false zurück.
- FILTER_SANITIZE_EMAIL - Entfernt unzulässige Zeichen aus E-Mail-Adressen. info \ @domain. (com) gibt zurück Diese E-Mail-Adresse ist vor Spambots geschützt! JavaScript muss aktiviert werden, damit sie angezeigt werden kann.
- FILTER_SANITIZE_URL - Entfernt unzulässige Zeichen aus URLs. http: //[email protected]é kehrt zurück> http: //[email protected]
- FILTER_SANITIZE_STRING - Entfernt Tags aus Zeichenfolgenwerten. bin fett b> wird fett.
Der folgende Code implementiert eine benutzerdefinierte Funktion zum Senden sicherer E-Mails.
Ausgabe:
Sichere Mail
E-Mails können während der Übertragung von unbeabsichtigten Empfängern abgefangen werden.
Dies kann den Inhalt der E-Mail unbeabsichtigten Empfängern zugänglich machen.
Sichere E-Mails lösen dieses Problem, indem E-Mails über Hypertext Transfer Protocol Secure (HTTPS) übertragen werden.
HTTPS verschlüsselt Nachrichten vor dem Senden.
Zusammenfassung
- Die in PHP integrierte Funktion mail () wird zum Senden von E-Mails aus PHP-Skripten verwendet
- Validierungs- und Desinfektionsprüfungen der Daten sind für das Versenden sicherer E-Mails unerlässlich
- Die in PHP integrierte Funktion filter_var () bietet eine benutzerfreundliche und effiziente Möglichkeit zur Datenbereinigung und -validierung