Функция mail()в PHP используется для отправки электронных писем с веб-сервера на адрес электронной почты получателя. Он имеет следующий синтаксис:
mail($to, $subject, $message, $headers, $parameters);
Вот разбивка параметров:
$to: адрес электронной почты получателя.$subject: тема электронного письма.$message: содержимое электронного письма.$headers(необязательно): дополнительные заголовки для включения в электронное письмо, например «От», «Копия» или «СК».$parameters(необязательно): дополнительные параметры, которые можно передать на почтовый сервер.
Вот несколько примеров использования функции mail():
Пример 1. Отправка обычного электронного письма
$to = "recipient@example.com";
$subject = "Hello";
$message = "This is a test email.";
$headers = "From: sender@example.com";
mail($to, $subject, $message, $headers);
Пример 2. Отправка электронного письма с содержимым HTML и дополнительными заголовками
$to = "recipient@example.com";
$subject = "Important Announcement";
$message = "<h1>Important Announcement</h1><p>This is to inform you...</p>";
$headers = "From: sender@example.com\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
mail($to, $subject, $message, $headers);
Пример 3. Отправка электронного письма с вложениями
$to = "recipient@example.com";
$subject = "Attached File";
$message = "Please find the attached file.";
$headers = "From: sender@example.com";
$attachments = array("/path/to/file1.pdf", "/path/to/file2.jpg");
$boundary = md5(uniqid(rand(), true));
$headers .= "Content-Type: multipart/mixed; boundary=" . $boundary;
$message = "--" . $boundary . "\r\n";
$message .= "Content-Type: text/plain; charset=UTF-8\r\n";
$message .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$message .= $message . "\r\n";
foreach ($attachments as $attachment) {
$file = fopen($attachment, "r");
$data = fread($file, filesize($attachment));
fclose($file);
$data = chunk_split(base64_encode($data));
$message .= "--" . $boundary . "\r\n";
$message .= "Content-Type: application/octet-stream; name=\"" . basename($attachment) . "\"\r\n";
$message .= "Content-Transfer-Encoding: base64\r\n";
$message .= "Content-Disposition: attachment\r\n\r\n";
$message .= $data . "\r\n";
}
$message .= "--" . $boundary . "--";
mail($to, $subject, $message, $headers);