php mailer form

МВ
На сайте с 23.11.2018
Offline
0
287

Здравствуйте!

Помогите пожалуйста с php mail кодом.

Почту отправляет, но вложения не приходят на почту, подскажите где ошибка?

в php



if (isset ($_POST['email'])) {

$to = 'example@ex.ru';
$from = $_POST['email'];
$name = $_POST['name'];
$phone = $_POST['phone'];
$model = $_POST['model'];
$sn = $_POST['sn'];
$trouble = $_POST['trouble'];
$subject = "Заполнена контактная форма с ".$_SERVER['HTTP_REFERER'];
$message = "Имя: ".$_POST['name']."\nEmail: ".$from."\nIP: ".$_SERVER['REMOTE_ADDR']."\n phone:" .$_POST['phone']. "\n модель:" .$_POST['model']. "\n sn:" .$_POST['sn']. "\n проблема:" .$_POST['trouble'];
$boundary = md5(date('r', time()));
$filesize = '';
$headers = "MIME-Version: 1.0\r\n";
$headers .= "From: " . $from . "\r\n";
$headers .= "Reply-To: " . $from . "\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$message="Content-Type: multipart/mixed; boundary=\"$boundary\"

--$boundary
Content-Type: text/plain; charset=\"utf-8\"
Content-Transfer-Encoding: 7bit

$message";
if(is_uploaded_file($_FILES['fileFF']['tmp_name'])) {
$attachment = chunk_split(base64_encode(file_get_contents($_FILES['fileFF']['tmp_name'])));
$filename = $_FILES['fileFF']['name'];
$filetype = $_FILES['fileFF']['type'];
$filesize += $_FILES['fileFF']['size'];
$message.="

--$boundary
Content-Type: \"$filetype\"; name=\"$filename\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"$filename\"

$attachment";
}
$message.="
--$boundary--";


if ($filesize < 10000000) {
mail($to, $subject, $message, $headers);
echo $_POST['name'].' Ваше сообщение получено, спасибо!';
} else {
echo 'Извините, письмо не отправлено. Размер всех файла превышает 10 МБ.';
}
}

В HTML


<form name="zayavka" method="POST" action="zayavka.php">
<fieldset>
<legend>Контактная информация</legend>
<p><label for="name" :required>Ф.И.О.: * </label><input type="name" id="name" name="name"></p>
<p><label for="email" :required>E-mail: * </label><input type="email" id="email" name="email"></p>
<p><label for="phone" :required>Номер телефона: * </label><input type="phone" id="phone" name="phone"></p>
<p><label for="model" :required>Модель смартфона: * </label>
<select name="model" style="width: 205px" class="textinputs" style="width:300px;">
<option />
<option value="ZA550KL">ZenFone Live L1 ZA550KL</option>
</select>
</p>
<p><label for="sn" :required>Серийный номер смартфона: * </label><input type="sn" id="sn" name="sn"></p>
<p><label for="trouble" :required>Неисправность: * </label><input type="trouble" id="trouble" name="trouble"></p>
<label for="fileFF">Скан или Фото чека (макс 3мб): * <input name="fileFF" type="file" size="30" maxlength="60" id="fileFF" /><br>
<input type="checkbox" name="person" value="accept" /> Согласие на обработку персональных данных <br />
</fieldset>
<p><input type="submit" value="Отправить"></p>
<br>
</form>
M
На сайте с 04.12.2013
Offline
183
#1

$message="Content-Type: multipart/mixed; boundary=\"$boundary\"

Дальше смотреть не стал. Формат подобного письма можно посмотреть в моей статье Как сделать отправку письма с вложением?

Хостинг FOZZY (http://fozzy.com.ru) / Выслушаю предложения на домены (http://u75.ru/domains-for-sale) / Домены и скрипт для коротких ссылок (http://u75.ru/domains-for-shortcuts)
Gerga
На сайте с 02.08.2015
Offline
89
#2

МихаилВЛГ, используйте готовое, протестированное программное решение PHPMailer для отправки email.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий