Здравствуйте
Использую phpmailer для отправки e-mail. Письма должны содержать некоторый текст в формате html и приаттаченный файл data.csv
Проблема в следующем. Если отправлять с аттачем, то письмо приходит с пустым текстом. Хотя текст отправляется
При этом, если аттач отключить, то текст виден. Но нужно с аттачем ))
Заголовки при отправке:
From: root <root@localhost>
To: <neon12121@gmail.com>
Subject: Заказ
Return-Path: root@localhost
X-Priority: 3
X-Mailer: phpmailer [version .9]
Content-Transfer-Encoding: 8bit
Content-Type: Multipart/Mixed; charset = "UTF-8";
boundary="Boundary-=_b8b1041028ba2ae1c090742ac2e7063be"
MIME-Version: 1.0
Само тело письма при отправке:
--Boundary-=_b8b1041028ba2ae1c09 0742ac2e7063be
Content-Type: text/html
Content-Transfer-Encoding: 8bit
<html><head></head><body>04/18/2011 17:08:25 Данные заказа:<br>Заказчик <br> Телефон <br> Место доставки <br> Дата отгрузки <br> e-mail: <br><table></table></body></html>
--Boundary-=_b8b1041028ba2ae1c09 0742ac2e7063be
Content-Type: application/octet-stream;
name="data.csv"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="data.csv"
IrkiOyLC6OQg7/Du5PPq9ujoIjsiwPDy6Orz6yI7Isru6+j35fHy4u4gKPjyKSI7Itjo8Ojt4CAo
7OwpIjsiwvvx7vLgICjs7CkiOyJTICjv6+754OT8IOriLuwpIjsiVFMgKO7h+eD/IO/r7vng5Pwg
6uIu7CkiOyLR8u7o7O7x8vwgKPDz4Ski Ow0KIjEiOyI0LS00IjsiIjsiIjsiIjsi IjsiMC4wMCI7
IjAuMDAiOyIwLjAwIjsNCiIyIjsiNC0tNCI7IiI7IiI7IiI7IiI7IjAuMDAiOyIwLjAwIjsiMC4w
MCI7DQoiMyI7IjQtLTQiOyIiOyIiOyIi OyIiOyIwLjAwIjsiMC4wMCI7IjAuMDAi Ow0KIjQiOyI0
LS00IjsiIjsiIjsiIjsiIjsiMC4wMCI7IjAuMDAiOyIwLjAwIjsNCiI1IjsiNC0tNCI7IiI7IiI7
IiI7IiI7IjAuMDAiOyIwLjAwIjsiMC4w MCI7DQoiNiI7IjQtLTQiOyIiOyIiOyIi OyIiOyIwLjAw
IjsiMC4wMCI7IjAuMDAiOw0KIjciOyI0LS00IjsiIjsiIjsiIjsiIjsiMC4wMCI7IjAuMDAiOyIw
LjAwIjsNCiI4IjsiNC0tNCI7IiI7IiI7 IiI7IiI7IjAuMDAiOyIwLjAwIjsiMC4w MCI7DQoiOSI7
IjQtLTQiOyIiOyIiOyIiOyIiOyIwLjAwIjsiMC4wMCI7IjAuMDAiOw0KIjEwIjsiNC0tNCI7IiI7
IiI7IiI7IiI7IjAuMDAiOyIwLjAwIjsi MC4wMCI7DQoiMTEiOyI0LS00IjsiIjsi IjsiIjsiIjsi
MC4wMCI7IjAuMDAiOyIwLjAwIjsNCiIxMiI7IjQtLTQiOyIiOyIiOyIiOyIiOyIwLjAwIjsiMC4w
MCI7IjAuMDAiOw0KIjEzIjsiNC0tNCI7 IiI7IiI7IiI7IiI7IjAuMDAiOyIwLjAw IjsiMC4wMCI7
DQoiMTQiOyI0LS00IjsiIjsiIjsiIjsiIjsiMC4wMCI7IjAuMDAiOyIwLjAwIjsNCiIxNSI7IjQt
LTQiOyIiOyIiOyIiOyIiOyIwLjAwIjsi MC4wMCI7IjAuMDAiOw0KIjE2IjsiNC0t NCI7IiI7IiI7
IiI7IiI7IjAuMDAiOyIwLjAwIjsiMC4wMCI7DQoiMTciOyI0LS00IjsiIjsiIjsiIjsiIjsiMC4w
MCI7IjAuMDAiOyIwLjAwIjsNCiIxOCI7 IjQtLTQiOyIiOyIiOyIiOyIiOyIwLjAw IjsiMC4wMCI7
IjAuMDAiOw0KIjE5IjsiNC0tNCI7IiI7IiI7IiI7IiI7IjAuMDAiOyIwLjAwIjsiMC4wMCI7DQoi
MjAiOyI0LS00IjsiIjsiIjsiIjsiIjsi MC4wMCI7IjAuMDAiOyIwLjAwIjsNCiIy MSI7IjQtLTQi
OyIiOyIiOyIiOyIiOyIwLjAwIjsiMC4wMCI7IjAuMDAiOw0KIjIyIjsiNC0tNCI7IiI7IiI7IiI7
IiI7IjAuMDAiOyIwLjAwIjsiMC4wMCI7 DQoiMjMiOyI0LS00IjsiIjsiIjsiIjsi IjsiMC4wMCI7
IjAuMDAiOyIwLjAwIjsNCiIyNCI7IjQtLTQiOyIiOyIiOyIiOyIiOyIwLjAwIjsiMC4wMCI7IjAu
MDAiOw0KIjI1IjsiNC0tNCI7IiI7IiI7 IiI7IiI7IjAuMDAiOyIwLjAwIjsiMC4w MCI7DQoiMjYi
OyI0LS00IjsiIjsiIjsiIjsiIjsiMC4wMCI7IjAuMDAiOyIwLjAwIjsNCiIyNyI7IjQtLTQiOyIi
OyIiOyIiOyIiOyIwLjAwIjsiMC4wMCI7 IjAuMDAiOw0KIjI4IjsiNC0tNCI7IiI7 IiI7IiI7IiI7
IjAuMDAiOyIwLjAwIjsiMC4wMCI7DQoiMjkiOyI0LS00IjsiIjsiIjsiIjsiIjsiMC4wMCI7IjAu
MDAiOyIwLjAwIjsNCiIzMCI7IjQtLTQi OyIiOyIiOyIiOyIiOyIwLjAwIjsiMC4w MCI7IjAuMDAi
Ow0KIjMxIjsiNC0tNCI7IiI7IiI7IiI7IiI7IjAuMDAiOyIwLjAwIjsiMC4wMCI7DQoiMzIiOyI0
LS00IjsiIjsiIjsiIjsiIjsiMC4wMCI7 IjAuMDAiOyIwLjAwIjsNCiIzMyI7IjQt LTQiOyIiOyIi
OyIiOyIiOyIwLjAwIjsiMC4wMCI7IjAuMDAiOw0KIjM0IjsiNC0tNCI7IiI7IiI7IiI7IiI7IjAu
MDAiOyIwLjAwIjsiMC4wMCI7DQoiMzUi OyI0LS00IjsiIjsiIjsiIjsiIjsiMC4w MCI7IjAuMDAi
OyIwLjAwIjsNCiIzNiI7IjQtLTQiOyIiOyIiOyIiOyIiOyIwLjAwIjsiMC4wMCI7IjAuMDAiOw0K
IjM3IjsiNC0tNCI7IiI7IiI7IiI7IiI7 IjAuMDAiOyIwLjAwIjsiMC4wMCI7DQoi MzgiOyI0LS00
IjsiIjsiIjsiIjsiIjsiMC4wMCI7IjAuMDAiOyIwLjAwIjsNCiIzOSI7IjQtLTQiOyIiOyIiOyIi
OyIiOyIwLjAwIjsiMC4wMCI7IjAuMDAi Ow0KIjQwIjsiNC0tNCI7IiI7IiI7IiI7 IiI7IjAuMDAi
OyIwLjAwIjsiMC4wMCI7DQoiNDEiOyI0LS00IjsiIjsiIjsiIjsiIjsiMC4wMCI7IjAuMDAiOyIw
LjAwIjsNCiI0MiI7IjQtLTQiOyIiOyIi OyIiOyIiOyIwLjAwIjsiMC4wMCI7IjAu MDAiOw0KIjQz
IjsiNC0tNCI7IiI7IiI7IiI7IiI7IjAuMDAiOyIwLjAwIjsiMC4wMCI7DQoiNDQiOyI0LS00Ijsi
IjsiIjsiIjsiIjsiMC4wMCI7IjAuMDAi OyIwLjAwIjsNCiLI0s7DziI7IiI7IiI7 IjAiOyIiOyIi
OyIiOyIwLjAwIjsiMC4wMCI7DQo=
--Boundary-=_b8b1041028ba2ae1c09 0742ac2e7063be--
1. NeoN121 - 18 Апреля, 2011 - 16:09:15 - перейти к сообщению
2. Garda1 - 19 Апреля, 2011 - 12:07:17 - перейти к сообщению
показал бы исходники хоть чтоли, а так кнешна в своё время тоже промаялся с аттачем, но вот етот кусок кода работает, исправить только на свои данные осталось
Спойлер (Отобразить)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- {
- }
- {
- $post = clean_data($_POST);
- $error .= '<li>Не заполнено поле <b>"Фамилия"</b></li>';
- }
- $error .= '<li>Не заполнено поле <b>"Имя"</b></li>';
- }
- $error .= '<li>Не заполнено поле <b>"телефон"</b></li>';
- }
- $error .= '<li>Не заполнено поле <b>"E-mail"</b></li>';
- }
- if ($post['usluga']=='0') {
- $error .= '<li>Не заполнено поле <b>"Выберите услугу"</b></li>';
- }
- $error .= '<li>Не заполнено поле <b>"Ваше сообщение"</b></li>';
- }
- $error .= '<li>Не заполнено поле <b>"Название организации"</b></li>';
- }
- $error .= '<li>Неверно введена контрольная строка антиспама</li>';
- }
- {
- $HTML .= '<ol class="messaga bad_messaga">';
- $HTML .= $error;// Вывод системных сообщений
- $HTML .= '</ol>';
- $HTML .= '<br><br>';
- }
- else //если нет ашибок, то собираем письмо
- {
- $bound = 'spravka-1234';
- $emailTo = 'mymail@mail.ru';
- $headers = 'From: YourSite.ru <'.$emailTo.'>'."\r\n";
- $headers .= "Mime-Version: 1.0\r\n";
- $headers .= "Content-type: multipart/mixed; boundary=\"$bound\"\r\n";
- $text .= "\n\n--$bound\r\n";
- $text .= "Content-type: text/html; charset=\"utf-8\"\r\n";
- $text .= "Content-Transfer-Encoding: quoted-printable\r\n";
- $text .= '<b>ФИО:</b> '.$post['lastname'].' '.$post['firstname'].' '.$post['secondname'].'<br>';
- $text .= '<b>Телефон:</b> '.$post['telephone'].'<br>';
- $text .= '<b>E-mail:</b> '.$post['email'].'<br>';
- $text .= '<b>Услуга:</b> '.$post['usluga'].'<br>';
- $text .= '<b>Сообщение:</b> '.$post['additionalinfo'].'<br>';
- $text .= '<b>Организация:</b> '.$post['company'].'<br>';
- $file_name = $_FILES['rekvizity']['tmp_name'];
- if(!$file){echo 'файл не прочитан!';exit;}
- $text .= "\r\n--$bound\n";
- $text .= "Content-type: application/octet-stream; name=\"=?utf-8?b?".base64_encode($_FILES['rekvizity']['name'])."?=\"\n";
- $text .= "Content-Transfer-Encoding:base64\n";
- $text .= "Content-Disposition:attachment filename=\"$file_name\"\n\n";
- $text .= "$bound--\r\n";
- $cool = true;
- $HTML .= '<ol class="messaga ok_messaga">';
- $HTML .= '<li>Заявка отправлена, наш агент свяжется с Вами в ближайшее время.</li>';// Вывод системных сообщений
- $HTML .= '</ol>';
- }
- }
- $HTML .= '
- <div class="uss_form_tml">
- <form enctype="multipart/form-data" method="POST" action="'.PUZ_PAGE.'" name="orderuslugaddform" id="orderuslugaddform">
- <div class="uss_form_item uss_form_text">
- <label>Фамилия (*)</label>
- <input type="text" class="text" name="lastname" value="'.$_REQUEST['lastname'].'">
- </div>
- <div class="uss_form_item uss_form_text">
- <label>Имя (*)</label>
- <input type="text" class="text" name="firstname" value="'.$_REQUEST['firstname'].'">
- </div>
- <div class="uss_form_item uss_form_text">
- <label>Отчество </label>
- <input type="text" class="text" name="secondname" value="'.$_REQUEST['secondname'].'">
- </div>
- <div class="uss_form_item uss_form_text">
- <label>Телефон (*)</label>
- <input type="text" class="text" name="telephone" value="'.$_REQUEST['telephone'].'">
- </div>
- <div class="uss_form_item uss_form_text">
- <label>Ваш E-mail (*)</label>
- <input type="text" class="text" id="emailid" name="email" value="'.$_REQUEST['email'].'">
- </div>
- <div class="uss_form_item uss_form_text">
- <label>ICQ</label>
- <input type="text" class="text" name="icq" value="'.$_REQUEST['icq'].'">
- </div>
- <div class="uss_form_item uss_form_select">
- <label>Выберите услугу (*)</label>
- <select name="usluga" class="select">
- <option value="0">выбор...</option>
- <option '.($_REQUEST['usluga'] == 'Поставка оборудования и материалов' ? 'selected' : false).' value="Поставка оборудования и материалов">Поставка оборудования и материалов</option>
- <option '.($_REQUEST['usluga'] == 'Проектирование' ? 'selected' : false).' value="Проектирование">Проектирование</option>
- <option '.($_REQUEST['usluga'] == 'Монтаж, установка' ? 'selected' : false).' value="Монтаж, установка">Монтаж, установка</option>
- <option '.($_REQUEST['usluga'] == 'Обслуживание систем безопасности' ? 'selected' : false).' value="Обслуживание систем безопасности">Обслуживание систем безопасности</option>
- </select>
- </div>
- <div class="uss_form_item uss_form_textarea">
- <label>Ваш вопрос (*)</label>
- <textarea id="additionalinfoid" name="additionalinfo">'.$_REQUEST['additionalinfo'].'</textarea>
- </div>
- <div class="uss_form_item uss_form_text">
- <label>Название организации (*)</label>
- <input type="text" class="text" name="company" value="'.$_REQUEST['company'].'">
- </div>
- <div class="uss_form_item uss_form_text">
- <label>Файл с реквизитами организации</label>
- <input type="file" name="rekvizity" value="">
- </div>
- <div class="uss_form_item uss_form_captcha">
- <label>Введите символы, которые видите на картинке</label>
- <input type="text" id="captchaid" name="captcha" value="">
- </div>
- <div class="uss_form_item uss_form_notice">Внимание! Поля, помеченные * - обязательны для заполнения</div>
- <div class="uss_form_item uss_form_submit">
- <input type="submit" name="sendorderuslugform" value="Отправить">
- </div>
- </form>
- </div>
- ';}
- echo $HTML;