Heim Backend-Entwicklung PHP-Tutorial Ausführliche Erläuterung der Anwendungsbeispiele der PHP-Funktion mail() zum Senden von E-Mails

Ausführliche Erläuterung der Anwendungsbeispiele der PHP-Funktion mail() zum Senden von E-Mails

Jun 27, 2017 am 10:24 AM
mail php 电子邮件

1. Einführung
Mail()-Funktion, mit dieser Funktion können Sie E-Mails senden.
Anforderungen
Um die Mail-Funktion nutzen zu können, muss PHP in der Lage sein, binäre Maildateien in Ihrem System zu kompilieren und zu versenden. Wenn Sie andere E-Mail-Programme wie qmail oder Postfix verwenden, müssen Sie sicher sein, dass Sie diese zum Versenden von E-Mail-Paketen verwenden können. PHP sucht zuerst nach sendmail in Ihrem Pfad, daher werden die folgenden Pfade empfohlen: :/usr/bin :/usr/sbin :/usr/etc :/etc:/usr/ucblib :/usr/lib. Benutzer, die PHP kompilieren, müssen auch Zugriff auf das binäre Sendmail haben.
Installation
Diese Funktionen sind Teil des PHP-Kerns und können ohne Installation genutzt werden.
Laufzeitkonfiguration
Das Verhalten dieser Funktionen wird durch die globale Konfigurationsdatei php.ini beeinflusst.
Tabelle 1. Grundlegende Mail-Konfigurationsoptionen:

Name Standardwert Veränderbarer Wert

SMTP „localhost“ PHP_INI_ALL

smtp_port „25“ PHP_INI_ALL

sendmail_from NULL PHP_INI_ALL

sendmail_path DEFAULT_SENDMAIL_PATH PHP_INI_SYSTEM

Weitere Konfigurationsoptionen zu Mail finden Sie in der Funktion ini_set(). Im Folgenden finden Sie eine kurze Erläuterung dieser Konfigurationsoption.
SMTP-Zeichenfolge
 Nur unter Windows verwendet: DNS-Name oder IP-Adresse des SMTP-Servers. PHP verwendet den SMTP-Server, wenn E-Mails mit der Funktion mail() gesendet werden.
smtp_portint
Wird nur unter Windows verwendet: Legen Sie die Portnummer fest, um beim Senden von E-Mails mit der Funktion mail() eine Verbindung zum angegebenen SMTP-Server herzustellen. Erst verfügbar nach PHP 4.3.0.
sendmail_from string
Wenn PHP E-Mails in Windows-Systemen sendet, verwendet es die E-Mail-Adresse „Von:“.
sendmail_path string
Wo finde ich das E-Mail-Versandprogramm? Normalerweise in: /usr/sbin/sendmail oder /usr/lib/. Die Konfigurationsoptionen sind hier auf einen Standardwert eingestellt, damit sie für Sie ordnungsgemäß funktionieren. Sollte dies jedoch fehlschlagen, können Sie es hier einstellen.
Wenn Ihr System sendmail nicht verwenden kann, sollten Sie diese Anweisungen befolgen, um einen sendmail-Wrapper/-Ersatz für das bereitgestellte Mail-System einzurichten. Qmail-Benutzer können beispielsweise einen neuen Pfad festlegen: /var/qmail/bin/sendmail oder /var/qmail/bin/qmail-inject.
qmail – verarbeitet E-Mails ohne Optionen korrekt.
Ressourcentyp
Dieses Erweiterungsmodul definiert keinen Ressourcentyp.
Vordefinierte Konstanten
Dieses Erweiterungsmodul definiert keine Konstanten

2. Verwendung
Syntax: ​

bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])   
Nach dem Login kopieren

mail Die Funktion () kann die angegebene Nachricht (Zeichenfolge Nachricht) an die angegebene E-Mail-Adresse (Zeichenfolge an) senden. Mehrere E-Mail-Adressen müssen durch Kommas getrennt werden. Mit dieser Funktion können Sie E-Mail-Anhänge und Sondertypen versenden.
Die Bedeutung jedes Parameters in der obigen Syntax ist:
Zeichenfolge an – die E-Mail-Adresse des Empfängers,
Zeichenfolge Betreff – der Betreff der E-Mail,
Zeichenfolge Nachricht – der Text der E-Mail,
Zeichenfolge „additional_headers“ – Fügen Sie dem Kopf und Ende des Briefes zusätzliche E-Mail-Informationen hinzu.
Wenn die E-Mail erfolgreich gesendet wurde, gibt die Funktion mail() TRUE zurück, andernfalls FALSE. Beachten! ​

Die Ausführungsmethode der Funktion mail() in Windows unterscheidet sich in vielerlei Hinsicht von UNIX-Systemen.
 1. Es wird keine lokale Binärdatei verwendet, um den Nachrichtentext zu bilden;   
 2. Header-Elemente wie From:, Cc:, Bcc: und Date: werden zunächst nicht von MTA interpretiert, können aber von PHP interpretiert werden . PHP < 4.3 unterstützt nur Cc: und unterscheidet zwischen Groß- und Kleinschreibung, PHP >= 4.3 unterstützt alle genannten Header-Elemente und unterscheidet nicht zwischen Groß- und Kleinschreibung.
 2.1. Beispiel 1. Senden Sie eine E-Mail:

mail("joecool@example.com", "My Subject", "Line 1nLine 2nLine 3");
Nach dem Login kopieren

 2.2. Wenn der vierte Parameter verwendet wird, wird diese Parameterzeichenfolge in den Kopf und das Ende des Briefes eingefügt. Dies wird normalerweise eingefügt, um zusätzliche Header-Informationen zu veranschaulichen. Mehrere zusätzliche Headerinformationen müssen durch Wagenrücklaufzeichen r und Zeilenvorschubzeichen n getrennt werden.
Beispiel 2. Senden Sie zusätzliche Header-Informationen per E-Mail:

mail("nobody@example.com", "the subject", $message,"From: webmaster@{$_SERVER[’SERVER_NAME’]}rn"    
."Reply-T webmaster@{$_SERVER[’SERVER_NAME’]}rn"."X-Mailer: PHP/" .phpversion());
Nach dem Login kopieren

2.3 Wenn der Parameter „additional_parameters“ verwendet wird, verwendet das Programm die sendmail_path-Konfiguration, um beim Senden der E-Mail einen zusätzlichen Parameter festzulegen. Dies kann beispielsweise verwendet werden, um den Adressumschlag des Absenders festzulegen, wenn vor dem Versenden die Option -f verwendet wird. Wenn Sie den Absenderumschlag mit dieser Methode einrichten, müssen Sie möglicherweise den Benutzer, den Ihr Webserver ausführt, zu Ihrer Sendmail-Konfiguration hinzufügen, um zu verhindern, dass der Nachricht ein „X-Warning“-Header hinzugefügt wird, wenn Sie den Absender des Umschlags mit festlegen Diese Methode.
Beispiel 3. Senden einer E-Mail mit zusätzlichen Header-Informationen und Anhängen eines Befehlsparameters.

mail("nobody@example.com", "the subject", $message,"From: webmaster@{$_SERVER[’SERVER_NAME’]}",      
 "-fwebmaster@{$_SERVER[’SERVER_NAME’]}");
Nach dem Login kopieren

  注意:其中的第五个参数附加在PHP 4.0.5版本中。在PHP 4.2.3以后的版本中的安全模式中被禁止,如果用它的话将返回一个警告信息和返回FALSE值。   
  你同样能用简单的字符串构造技术建立一个复杂的邮件消息。
例子 4. 发送一个复杂邮件

/*收件人*/
$to = "Mary " . ", " ; //注意逗号
$to .= "Kelly ";
 /*主题*/
$subject = "Birthday Reminders for August";
/*正文*/
$message = ’         
Here are the birthdays upcoming in August!
’;
 /*你能设置头内容:Content-type来发送HTML格式邮件。*/
 $headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=iso-8859-1rn";
 /*附加头消息*/
$headers .= "From: Birthday Reminder rn";
$headers .= "Cc: birthdayarchive@example.comrn";
$headers .= "Bcc: birthdaycheck@example.comrn";
/*发送它*/
mail($to, $subject, $message, $headers);
@example.com>@example.com>@example.com>
Nach dem Login kopieren

注意:
  1、不要在收件人地址和主题中有换行符号,否则邮件可能不能被发送出去。
  2、收件人地址参数(string to)中不能存在以"Something "形式地址,否则当用MTA时mail命令可能不被正确的分析。
  3、PHP使用mail函数发送邮件标题乱码问题 PHP程序使用mail()函数发送邮件的时候,标题中文的话会出现乱码。
解决方法:
  先用函数base64_encode() — 使用 MIME base64 对数据进行编码 标题字符串前加编码类型例如: =?UTF-8?B? 标题字符串后加:?= 邮件header说明Content-type — 防止邮件正文也乱码
举例:

$to  = &#39;xinple@example.com&#39;;
$subject  = "=?UTF-8?B?".base64_encode(&#39;邮件标题&#39;)."?=";
$headers  = &#39;MIME-Version: 1.0&#39; . "rn";
$headers .= &#39;Content-type: text/html; charset=utf-8&#39; . "rn";
// Additional headers
$headers .= &#39;To: Xinple&#39; . "rn";
$headers .= &#39;From: Admin &#39; . "rn";
$headers .= &#39;Reply-To: Xinple&#39; . "rn";
mail($to, $subject, $message, $headers);@example>@example.com>@example.com
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Anwendungsbeispiele der PHP-Funktion mail() zum Senden von E-Mails. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

See all articles