Россылка вложений через sendmail
#1
Отправлено 27 Январь 2015 - 16:31
#2
Отправлено 27 Январь 2015 - 16:45
Александр Пономарев (27 Январь 2015 - 16:31) писал:
Ну, например так
$subj = 'Тема письма'; $mail_address = 'user@host.com'; $letter = 'Это письмо с вашим вложением';//Здесь тело письма //$YOUR_file - это ваше вложение, сохраненое в базе $YOUR_file = file_get_contents(get_file_path(7010, $id, $file_name)); $my_attach['name'] = 'include.pdf'; $my_attach['disp'] = "attachment"; $my_attach['type'] = "application/pdf"; $my_attach['content'] = $YOUR_file; $attach_files[] = $my_attach; sendmail($subj, $letter, "$mail_address", "", "", "", "text/html", "utf-8", array(), $attach_files, -1);
Сообщение отредактировал maksn: 27 Январь 2015 - 16:50
#3
Отправлено 27 Январь 2015 - 16:54
maksn (27 Январь 2015 - 16:45) писал:
$mail_body = 'Это письмо с вашим вложением';//Здесь тело письма //$YOUR_file - это ваше вложение, сохраненое в базе $YOUR_file = file_get_contents(get_file_path(7010, $id, $file_name)); $my_attach['name'] = 'include.pdf'; $my_attach['disp'] = "attachment"; $my_attach['type'] = "application/pdf"; $my_attach['content'] = $YOUR_file; $attach_files[] = $my_attach; sendmail($subj, $letter, "$mail_body", "", "", "", "text/html", "utf-8", array(), $attach_files, -1);
Спасибо за оперативность в ответе, он не могли бы вы дать дополнительно пояснения по следующим вопросам:
1. Где прочитать полное описание синтаксиса sendmail?
2. Если не pdf, а word или excel или jpeg?
3. Почему "$mail" в кавычках, а $letterбез?
4. Что такое $subj? $letter? Заголовок и тело письма?
#4
Отправлено 27 Январь 2015 - 17:08
Александр Пономарев (27 Январь 2015 - 16:54) писал:
1. Где прочитать полное описание синтаксиса sendmail?
2. Если не pdf, а word или excel или jpeg?
3. Почему "$mail" в кавычках, а $letterбез?
4. Что такое $subj? $letter? Заголовок и тело письма?
1. Ну, разве что в файле functions1.php
2. Все можно. Нужно только правильно указать расширение
3. Просто так написал
4. Да, совершенно точно
Код немного подправил. См. верхний ответ
Сообщение отредактировал maksn: 27 Январь 2015 - 17:09
#5
Отправлено 30 Март 2017 - 00:25
#6
Отправлено 30 Март 2017 - 09:18
$my_attach['name'] = 'my_file.html'; // произвольное имя, с которым файл будет лежать в письме $my_attach['disp'] = "attachment"; $my_attach['type'] = "text/html"; // проставляем соответствующий тип $my_attach['content'] = $content; // сюда подставляем любое содержимое из переменной, сформированное на лету
#7
Отправлено 30 Март 2017 - 14:51
$nom=''; //Номер счета
$data=''; //Дата счета
$summ_it=''; // Сумма счета
$html=''; Html страница, которую надо отправить (она и в теле письма и в приложении)
$file['name'] = "schet.html";
$file['disp'] = "attachment";
$file['type'] = "text/html";
$file['content'] = $html;
$attach_files[] = $file;
$kuda=''; // Адрес получателя
$out=sendmail("Счет № ".$nom." от ".$data." на ".$summ_it." рублей", $html, $kuda, "", "","text/html", "utf-8", "", $attach_files, -1);
Не совсем понятен синтаксис sendmail по полям, что в каком и для чего. Брал из примера. Но почему-то не работает и пишет "Message body empty"
#8
Отправлено 30 Март 2017 - 14:55
#9
Отправлено 30 Март 2017 - 14:59
Александр Пономарев (30 Март 2017 - 14:51) писал:
https://clientbase.r...indpost&p=32661 Сами же спрашивали.
Конкретно sendmail тут: https://code-stock.c...able=50&line=21
#11
Отправлено 31 Март 2017 - 09:13
Александр Пономарев (30 Март 2017 - 14:51) писал:
$nom=''; //Номер счета
$data=''; //Дата счета
$summ_it=''; // Сумма счета
$html=''; Html страница, которую надо отправить (она и в теле письма и в приложении)
$file['name'] = "schet.html";
$file['disp'] = "attachment";
$file['type'] = "text/html";
$file['content'] = $html;
$attach_files[] = $file;
$kuda=''; // Адрес получателя
$out=sendmail("Счет № ".$nom." от ".$data." на ".$summ_it." рублей", $html, $kuda, "", "","text/html", "utf-8", "", $attach_files, -1);
почему-то не работает и пишет "Message body empty"
Так проверьте что у Вас в переменной $html
Кстати, в коде у Вас она пустая. Как и адрес получателя
Прежде чем запускать sendmail выведите на экран содержимое. Например, закоментируйте sendmail и выводите эхом, для отладки
$nom=''; //Номер счета
$data=''; //Дата счета
$summ_it=''; // Сумма счета
$html=''; Html страница, которую надо отправить (она и в теле письма и в приложении)
$file['name'] = "schet.html";
$file['disp'] = "attachment";
$file['type'] = "text/html";
$file['content'] = $html;
$attach_files[] = $file;
$kuda=''; // Адрес получателя
echo 'BODY='.$html;
//$out=sendmail("Счет № ".$nom." от ".$data." на ".$summ_it." рублей", $html, $kuda, "", "","text/html", "utf-8", "", $attach_files, -1);
Параметры sendmail по порядку:
$subject,
$body,
$to,
$from = "",
$from_name = "",
$reply_to = "",
$content_type = "text/html",
$charset = "utf-8",
$headers = array(),
$attach_files = array(),
$smtp_server_id = -1,
$thread_id = 1,
$line_id = 0,
$user_id = 0
Сообщение отредактировал maksn: 31 Март 2017 - 09:24
#12
Отправлено 02 Апрель 2017 - 15:03
#13
Отправлено 02 Апрель 2017 - 17:32
sendmail("Счет № ".$nom." от ".$data." на ".$summ_it." рублей",$html2,$mail_adres,"","","","text/html","utf-8","",$attach_files,-1,1,0,0);
Всем спасибо!
А никто не знает, нет ли встроенной функции конвертации html в pdf до отправки?
Количество пользователей, читающих эту тему: 5
0 пользователей, 5 гостей, 0 анонимных













