Отправка сообщений с присоединенными к ним вложениями.
Для отправки сообщений электронной почты с вложениями необходимо использование MIME — спецификации, расширяющей возможности стандартной электронной почты.
Спецификация MIME (Multipurpose Internet Mail Extensions, многоцелевые расширения почты Интернета) описана в RFC 2045-2049. Спецификация MIME позволяет расширить возможности обычной электронной почты для решения следующих задач:
· пересылки восьмибитовых текстов и восьмибитовых символов в заголовке сообщения;
· пересылки двоичных данных любого типа (графики, аудио, видео и т. д.);
· поддержки сложных типов сообщений (к примеру, сообщений, содержащих данные различных типов).
// Отправка сообщений с вложениями
<?php
// Текст сообщения
$msg = "Привет!";
// Путь к файлу. В данном случае предполагается, что файл
// расположен в том же каталоге, что и скрипт
$path = "t.doc";
// Читаем файл
$fp = fopen($path,"r");
if (!$fp)
{
print "Файл $path не может быть прочитан";
return;
}
$file - fread($fp, filesize($path));
fclose($fp);
$boundary = "--".md5(uniqid(time()) ; // Генерируем разделитель
$headers .= "MIME-Version: 1.0\n";
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
$multipart .= "--$boundary\n";
$kod='koi8-r'; // Указываем кодировку
$multipart .= "Content-Type: text/html; charset=$kod\n";
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
$multipart .= "$msg\n\n";
Smessage_part = "";
$message_part .= "Content-Type: application/octet-stream";
$message_part .= "; file_name = \"$path\"\n";
$message_part .= "Content-Transfer-Encoding: base64\n";
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
$message_part .= chunk_split(base64_encode($file))."\n";
$multipart .= "--$boundary\n".$message_part."--boundary--\n";
// Отправляем сообщение
if(mail("ttt@mail.ru", "Привет", $multipart, $headers))
{
echo "Письмо успешно отправлено";
}
?>
Дата добавления: 2015-08-26; просмотров: 814;