Задать вопрос
@td4k
Студент не it специальности, но увлекаюсь it техно

Почему в Gmail с формы обратной связи приходит файл, а не текстовое сообщение?

Собственно в теме и есть вопрос, я заполняю форму, а на почту приходит файл, в соответствии с типом "text/plain" or "text/html", вместо простого сообщения с данными из формы. На mail.ru все работает как надо. В чем может быть дело?
  • Вопрос задан
  • 630 просмотров
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
Ashlst
@Ashlst
Фанат эстетики и красивых решений.
Покажите код,пожалуйста.
Мб проблема в заголовках??
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@td4k Автор вопроса
Студент не it специальности, но увлекаюсь it техно
Знаю, что это одним словом пи**ец, а не код. Я не программист, только учусь писать код.. Приму всю критику и советы с умом, буду исправлять себя и свои ошибки)
$message = "
		<html>
<body>
<p>Контакты</p>
<table>
 <tr><td>Имя: ".$_POST['name']."</td></tr>
 <tr><td>Номер: ".$_POST['phone']."</td></tr>
 <tr><td>Email: ".$_POST['email']."</td></tr>
</table>
</body>
</html>";
	function mime_header_encode($str, $data_charset, $send_charset) { // функция преобразования заголовков в верную кодировку 
		if($data_charset != $send_charset) {
		$str=iconv($data_charset,$send_charset.'//IGNORE',$str);
		}
		return ('=?'.$send_charset.'?B?'.base64_encode($str).'?=');
	}
	
	$data_charset='UTF-8';
	$send_charset='windows-1251';
	$dc=$data_charset;
	$sc=$send_charset;
	$type='text/html';
	$from_email= '...'; // от кого
	$from_name= '...';
	$to_email= '...'; // кому
	$subject = 'Поступил заказ!';
	$enc_from= mime_header_encode($from_name,$dc,$sc).'<'.$from_email.'>';
	$message = iconv($dc,$sc.'//IGNORE',$message);
	$headers.="Mime-Version: 1.0\r\n";
	$headers.="Content-type:".$type."; charset=".$sc."\r\n";
	$headers.="From: ".$enc_from."\r\n";
	$result = mail($to_email,$subject,$message,$headers);
	if($result){
		header('Refresh: 0; url=...');
		?>
		<script type='text/javascript'>alert('Спасибо за заказ! Мы Вам перезвоним!')</script>
		<?php
	} else {
		echo 'GET LOST!'; 
	}
Ответ написан
Комментировать
Откуда двойной тип в Content-type: text/htmltext/html;?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы