Heim >Backend-Entwicklung >PHP-Tutorial >Wie sende und empfange ich E-Mails mit den in PHP integrierten Funktionen?

Wie sende und empfange ich E-Mails mit den in PHP integrierten Funktionen?

PHPz
PHPzOriginal
2024-04-22 14:24:02550Durchsuche

In PHP integrierte Funktionen bieten Funktionen zum Senden und Empfangen von E-Mails. Um eine E-Mail zu senden, müssen Sie den Empfänger, den E-Mail-Betreff, den E-Mail-Inhalt und die Header-Informationen angeben und zum Senden die Funktion mail() verwenden. Um eine E-Mail zu empfangen, müssen Sie eine Postfachverbindung öffnen, die Nachricht abrufen und die Funktion pop3_get_all() verwenden, um alle Nachrichten abzurufen. Für komplexere Anwendungsszenarien können Sie E-Mails auch mit Anhängen versenden, indem Sie den Inhaltstyp Multipart/Mixed angeben und die Datei anhängen.

如何使用 PHP 内置函数发送和接收电子邮件?

So senden und empfangen Sie E-Mails mit den integrierten PHP-Funktionen

PHP bietet eine Reihe integrierter Funktionen zum Senden und Empfangen von E-Mails an Remote-Server. In diesem Artikel erfahren Sie, wie Sie mit diesen Funktionen einen einfachen E-Mail-Handler erstellen.

E-Mail senden

<?php
// 设置邮件参数
$to = 'recipient@example.com';
$subject = 'Test Email';
$message = 'Hello there! This is a test email.';
$headers = "From: sender@example.com\r\n";
$headers .= "Reply-To: sender@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/plain; charset=utf-8\r\n";

// 发送邮件
if (mail($to, $subject, $message, $headers)) {
  echo "Email sent successfully.";
} else {
  echo "Email could not be sent.";
}
?>

E-Mail erhalten

<?php
// 检查邮件
$mailbox = pop3_open('{pop.example.com:110}INBOX', 'username', 'password');

// 读取消息
$messages = pop3_get_all($mailbox);

// 输出消息
foreach ($messages as $message) {
  echo 'From: ' . $message['from'] . PHP_EOL;
  echo 'Subject: ' . $message['subject'] . PHP_EOL;
  echo 'Body: ' . $message['body'] . PHP_EOL;
  echo '-----------------------' . PHP_EOL;
}

// 关闭邮箱连接
pop3_close($mailbox);
?>

Praktische Hülle

<?php
// 发送带有附件的电子邮件
$to = 'recipient@example.com';
$subject = 'Email with Attachment';
$message = 'Please find the attached document for your review.';
$attachment = 'document.pdf';
$headers = "From: sender@example.com\r\n";
$headers .= "Reply-To: sender@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"==BOUNDARY==\"\r\n";
$headers .= "Content-Transfer-Encoding: 7bit\r\n";

// 准备邮件正文
$body = "This is a MIME encoded message.\r\n\r\n";
$body .= "--==BOUNDARY==\r\n";
$body .= "Content-Type: text/plain; charset=\"UTF-8\"\r\n";
$body .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$body .= $message . "\r\n";

// 附加文件
$body .= "--==BOUNDARY==\r\n";
$body .= "Content-Type: application/octet-stream; name=\"" . basename($attachment) . "\"\r\n";
$body .= "Content-Disposition: attachment\r\n";
$body .= "Content-Transfer-Encoding: base64\r\n\r\n";
$body .= chunk_split(base64_encode(file_get_contents($attachment))) . "\r\n";

// 发送电子邮件
if (mail($to, $subject, $body, $headers)) {
  echo "Email with attachment sent successfully.";
} else {
  echo "Email could not be sent.";
}
?>

Das obige ist der detaillierte Inhalt vonWie sende und empfange ich E-Mails mit den in PHP integrierten Funktionen?. 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