Нужно, чтобы вместо message прикреплялся готовый файл с сервера и отправлялся mail(). Или есть другое решение ?
Пример 1 демонстрирует работу с библиотекой PHPMailer. Пример 2 использует mail() функцию напрямую. Пользуйтесь нужным вам примером
Пример 1: как использовать PHPMailer:
PHPMailer - полнофункциональный модуль создания и передачи электронной почты для PHP. Метод AddAttachment: $mail->AddAttachment("files/file1.pdf");
позволяет прикреплять файлы.
<?php
require_once('../class.phpmailer.php');
$mail = new PHPMailer(); // По умолчанию использует php "mail ()"
$body = file_get_contents('contents.html');
$body = eregi_replace("[\]",'',$body);
$mail->AddReplyTo("name@yourdomain.com","First Last");
$mail->SetFrom('name@yourdomain.com', 'First Last');
$mail->AddReplyTo("name@yourdomain.com","First Last");
$address = "whoto@otherdomain.com";
$mail->AddAddress($address, "John Doe");
$mail->Subject = "PHPMailer Test Subject via mail(), basic";
$mail->AltBody = "Чтобы просмотреть сообщение, используйте HTML-совместимый просмотрщик электронной почты!"; // optional, Закомментировать и протестировать.
$mail->MsgHTML($body);
$mail->AddAttachment("files/file1.pdf"); // pdf file path
$mail->AddAttachment("files/fileթ.pdf"); // pdf file path
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
Еще одна популярная библиотека Swiftmailer
Пример 2: Использует mail() функцию напрямую:
$name = "Название здесь идет";
$email = "someone@gmail.com";
$to = "$name <$email>";
$from = "John Doe ";
$subject = "тема ";
$mainMessage = "Привет,я сообщение с pdf файлом";
$fileatt = "files/test.pdf"; // Расположение файла
$fileatttype = "application/pdf";
$fileattname = "newName.pdf"; //Имя, которое вы хотите использовать для отправки, или вы можете использовать то же имя
$headers = "From: $from";
// Открываем и читаем файл в переменную.
$file = fopen($fileatt, 'rb');
$data = fread($file, filesize($fileatt));
fclose($file);
// Это прикрепляет файл
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$message = "Это multi-part сообщение в формате MIME․\n\n" .
"-{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$mainMessage . "\n\n";
$data = chunk_split(base64_encode($data));
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatttype};\n" .
" name=\"{$fileattname}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileattname}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"-{$mime_boundary}-\n";
// Отправить письмо
if(mail($to, $subject, $message, $headers))
{
echo "Письмо отправлено.";
} else {
echo "При отправке почты произошла ошибка.";
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
подскажите почему не работает своя функция в opecart 20 делаю так в контролере:
Помогите, пожалуйста, написать скрипт, формирующий и обрабатывающий блок опроса мнения посетителей сайтаДля формирования блока использовать...
в переменную $_COOKIE['id'] записан id пользователя например 8, при выводе он выводит 08, при попытке обрезать строку через substr($_COOKIE['id'], 1, 1) или substr($_COOKIE['id'],...
Существует ли возможность сделать PHP или Python/Django приложение переносным те