Heim  >  Artikel  >  Backend-Entwicklung  >  So senden Sie E-Mails mit der PHP-Funktion email()

So senden Sie E-Mails mit der PHP-Funktion email()

王林
王林Original
2023-05-22 15:10:362280Durchsuche

Mit der kontinuierlichen Entwicklung und Popularisierung des Internets ist E-Mail zu einem unverzichtbaren Bestandteil der täglichen Kommunikation der Menschen geworden. Während des Website-Backend-Entwicklungsprozesses ist es häufig erforderlich, PHP zum Senden von E-Mails zu verwenden, um Funktionen wie E-Mail-Benachrichtigungen und Registrierungsüberprüfung zu erfüllen. PHP bietet die Funktion email() zum Senden von E-Mails und ist sehr einfach zu verwenden. In diesem Artikel wird detailliert beschrieben, wie Sie die PHP-Funktion email() zum Senden von E-Mails verwenden.

1. SMTP-Konfiguration

Bevor Sie die Funktion email() zum Senden von E-Mails verwenden, muss SMTP konfiguriert werden. SMTP steht für Simple Mail Transfer Protocol und ist ein Standardprotokoll für die E-Mail-Übertragung. Für den E-Mail-Versand benötigt SMTP den vom Betreiber bereitgestellten SMTP-Server. Im Allgemeinen stellen die Betreiber Informationen wie SMTP-Serveradresse, Port, Kontonummer und Passwort bereit. Wir müssen diese Informationen in PHP konfigurieren.

Das Folgende ist ein SMTP-Konfigurationsbeispiel:

$smtpserver = "smtp.qq.com"; // SMTP服务器地址
$smtpserverport = 465; // SMTP服务器端口(默认为25,但是一般都会被封掉,所以建议选择其他可用端口)
$smtpusermail = "xxx@qq.com"; // 发件人邮箱账号
$smtpuser = "xxx"; // 发件人邮箱用户名
$smtppass = "xxx"; // 发件人邮箱密码

2. Verwenden Sie die Funktion email(), um E-Mails zu senden.

Die Verwendung der Funktion email() zum Senden von E-Mails erfordert die folgenden Parameter:

email($to, $subject, $body, $headers);

Darunter bezieht sich $to auf die E-Mail-Adresse des Empfängers, $subject bezieht sich auf den E-Mail-Betreff, $body bezieht sich auf den E-Mail-Inhalt und $headers bezieht sich auf die E-Mail-Header-Informationen (optional).

Das Folgende ist die spezifische Verwendung der Funktion email():

$to = "xxx@xxx.com"; // 收件人邮箱地址
$subject = "测试邮件"; // 邮件主题
$body = "这是一封测试邮件,请勿回复!"; // 邮件内容
$mailtype = "HTML"; // 邮件类型(HTML或文本)
$charset = "UTF-8"; // 编码方式

// MIME版本
$headers = "MIME-Version:1.0
";
// 邮件类型
$headers .= "Content-type:text/".$mailtype.";charset=".$charset."
";
// 发件人地址
$headers .= "From: xxx@xxx.com
";
// 服务器认证信息
$headers .= "Authorization: login ".$smtpuser.",password=".$smtppass."
";

// 发送邮件
$smtp = new Smtp($smtpserver, $smtpserverport, true, $smtpusermail, $smtppass);
$smtp->debug = FALSE;
$smtp->sendmail($to, $smtpusermail, $subject, $body, $headers);

echo "邮件发送成功!";

Bevor Sie eine E-Mail senden, müssen Sie eine SMTP-Klasseninstanz erstellen. Die SMTP-Klasse ist eine Klassenbibliothek eines Drittanbieters, auf die in PHP verwiesen werden muss. Das Folgende ist die Referenzmethode der SMTP-Klassenbibliothek:

require_once("class.smtp.php");
require_once("class.phpmailer.php");

3. Vollständiger Code

Basierend auf dem obigen Code werden wir ihn vervollständigen und einige Anpassungen vornehmen, um besser zu verstehen, wie die Funktion email() verwendet wird. Das Folgende ist der vollständige Code:

// SMTP配置
$smtpserver = "smtp.qq.com"; // SMTP服务器地址
$smtpserverport = 465; // SMTP服务器端口(默认为25,但是一般都会被封掉,所以建议选择其他可用端口)
$smtpusermail = "xxx@qq.com"; // 发件人邮箱账号
$smtpuser = "xxx"; // 发件人邮箱用户名
$smtppass = "xxx"; // 发件人邮箱密码

// 邮件配置
$to = "xxx@xxx.com"; // 收件人邮箱地址
$subject = "测试邮件"; // 邮件主题
$body = "这是一封测试邮件,请勿回复!"; // 邮件内容
$mailtype = "HTML"; // 邮件类型(HTML或文本)
$charset = "UTF-8"; // 编码方式

// MIME版本
$headers = "MIME-Version:1.0
";
// 邮件类型
$headers .= "Content-type:text/".$mailtype.";charset=".$charset."
";
// 发件人地址
$headers .= "From: xxx@xxx.com
";
// 服务器认证信息
$headers .= "Authorization: login ".$smtpuser.",password=".$smtppass."
";

// 引用SMTP和PHPMailer类库
require_once("class.smtp.php");
require_once("class.phpmailer.php");

// 发送邮件
$smtp = new Smtp($smtpserver, $smtpserverport, true, $smtpusermail, $smtppass);
$smtp->debug = FALSE;
$smtp->sendmail($to, $smtpusermail, $subject, $body, $headers);

echo "邮件发送成功!";

Die Verwendung der email()-Funktion zum Senden von E-Mails ist sehr einfach. Sie müssen lediglich SMTP- und E-Mail-Informationen konfigurieren und die sendmail()-Methode in der SMTP-Klasse aufrufen. Während des Sendevorgangs müssen Sie die folgenden Punkte beachten:

1 Die SMTP-Klassenbibliothek ist eine Klassenbibliothek eines Drittanbieters und wir müssen in PHP darauf verweisen.

2. Der E-Mail-Inhalt innerhalb der Funktion email() darf keine speziellen HTML-Tags wie < enthalten, da dieses Symbol nicht den Spezifikationen des SMTP-Protokolls entspricht und dazu führt, dass die E-Mail nicht gesendet werden kann.

3. Da der SMTP-Server die Größe von E-Mails begrenzt, kann es sein, dass die E-Mail nicht gesendet wird, wenn sie zu groß ist.

Kurz gesagt, es ist sehr praktisch, die Funktion email () von PHP zum Senden von E-Mails zu verwenden, mit der verschiedene E-Mail-Benachrichtigungen, Registrierungsüberprüfungen, Passwortabrufe und andere Funktionen in der Website-Backend-Entwicklung realisiert werden können. Ich hoffe, dass dieser Artikel für PHP-Entwickler hilfreich sein kann.

Das obige ist der detaillierte Inhalt vonSo senden Sie E-Mails mit der PHP-Funktion email(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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