@eellazy

Как прикрепить картинку к письму?

Всем привет!
Никак не получается прикрепить к форме обратной связи файл

Вот мой рабочий код. Который без проблем отправляет данные с формы но без файла
$level1= $_POST['level1'];
$level2= $_POST['level2'];
$level3= $_POST['level3'];
$level5= $_POST['level5'];
$name= $_POST['name'];
$phone= $_POST['phone'];

$address  = 'elbo@gmail.com' . ', '; 
$address .= 'elbo@gmail.com';

$mes = "
<b>Планировка кухни: </b>$level1 <br>
<b>Площадь кухонного помещения: </b>$level2 <br>
<b>Вид фасада: </b>$level3 <br>
<b>Требуется отстрочка: </b>$level5 <br><br>
<b>Имя: </b>$name <br>
<b>Телефон: </b>$phone <br>
";
$sub='Заявка с сервиса на подбор кухни';
$email='elbo@gmail.com';


$send = mail ($address,$sub,$mes,"Content-type:text/html; charset = utf-8\r\nFrom:$email");
ini_set('short_open_tag', 'On'); header('Refresh: 3; URL=/thanks/ok.html');


Как прикрепить сюда еще и файл? Поле с файлом имеет имя - file
  • Вопрос задан
  • 448 просмотров
Пригласить эксперта
Ответы на вопрос 1
@neol
Проще всего - используя PHPMailer

$mail = new PHPMailer();
$mail->CharSet = 'utf-8';
$mail->isMail();
$mail->setFrom('noreply@site.ru');
$mail->addAddress('username@site.ru');
// Нельзя просто так взять и воткнуть данные из POST. Проверьте хотя бы размер.
$mail->addStringAttachment($_POST['file'], 'attachment.zip');
$mail->isHTML(TRUE);
$mail->Subject = 'Тема';
$mail->Body = '<b>текст</b>';
$mail->AltBody = 'текст';
if(!$mail->send()) {
    echo  'Не удалось отправить сообщение: ' . $mail->ErrorInfo;
} else {
    echo 'Сообщение отправлено';
}


Чтобы понимать, что на самом деле там происходит, можно почитать, например это - webcheatsheet.com/php/send_email_text_html_attachm...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы