Программирование на Python и Objective-C в Mac OS

Программирование на Python и Objective-C под Mac OS и для iPhone / iPod Touch

Html письмо mail php: php — Отправка email-письма с картинкой

Содержание

отправка html-письма с вложением « Блог Лексуса

Уууфффффф…. Ненавижу разбираться в чужих скриптах, особенно когда они были написаны в 2001-2003 годах.

Дали мне тут на «переделать» сайт, который был написан на PHP3 7 лет назад. Переделать надо было его «под PHP5». По сути, главный геморой — обработка отправляемых данных — POST, GET, SESSION, FILES, т.к. в то время активно использовали фичу register_globals=on.

Сайт имеет довольно развитую систему администирования пользователей — помимо стандартных добавления/удаления/редактирования/привязки к разл. компаниям/етс.. имеется самописный продвинутый сервис рассылок. И я с этим сервисом честно говоря заебался, споткнувшись о тему, которую решил вынести в сабж данного поста.

Там суть в том, что в этой админке можно делать рассылку с вложениями (различные приглашения, рассылка обновленных прайсов и тд.), и соответственно все письмо полностью генерится на PHP. Пока разбирался, стал в этом деле гуру 🙂

Ниже пример html-письма, где присутствует html + пара рисунков к нему, а также аттач в виде zip-файла. Я заранее раскрасил его для лучшей наглядности, а также не поленился и нарисовал комментарии к нему! (под картинкой ссылка на их показ).

В разделении письма на части учавствуют несколько полей заголовка.

  • MIME-Version: 1.0 — указывает стандарт, по которому формируется тело многосоставного письма (как у нас). Пока другого стандарта нет, поэтому пишем 1.0, а само поле пишем в основном заголовке письма.
  • Content-type — тип данных. Если письмо составное, то нужно присвоить этому полю значение «multipart/mixed».
    Сразу после него нужно объявить маркер — boundary — (помечен красным цветом), который будет разделять наше mixed-содержимое письма на части. По сути части — это «файлы» в письме. В html-письме файлом также является сам html. Если бы это было обычное text-письмо без вложений, то маркер не нужен. Маркер — некая уникальная последовательность, которая не должна встречаться в теле письма. В нашем примере выбраны не совсем удачные маркеры, но это в угоду наглядности. При создании письма на сервере следует сгенерировать случайную последовательность символов.
  • Обратите внимание далее на пустые строки между частями — их нужно делать обязательно.
    Давайте пройдемся далее по всему примеру этого письма:

  • После «главного» заголовка идет маркер, который разделяет файлы (html и зипованный файл). Перед каждым маркером надо ставить два дефиса: «—«, так мы показываем, что начинается следующая часть.
  • Затем идет заголовок части для html. Он также имеет тип данных multipart/mixed, т.к. в html входит 2 картинки. И также нужно придумать еще один, внутренний для html, маркер (помечен синим цветом), который будет разделять на части чистый html, первую и вторую картинки.
  • После синего маркера для объявления новой части — чистого hml, мы пишем к нему заголовок. Теперь уже тип данных text/html, там же указываем кодировку. Затем идет тело голого html
  • Опять указываем синий маркер для границы между частями и пишем заголовок и тело первой картинки. Тип данных, имя, тип кодировки, после чего — сама картинка в текстовом представлении. Аналогично вставляется вторая картинка. Между картинками — маркер синего цвета
  • Все, часть под названием html мы описали, теперь надо ее «закрыть». Делается это указанием маркера и после него установкой тех самых двух дефисов: «—«.
  • Теперь идут две оставшиеся части «первого порядка» 🙂 Тут уже попроще, устанавливается начальный маркер красного цвета, пишем заголовок для zip-файла и его тело, представленное в текстовом виде. Последний штрих — закрывающий маркер, объявляющий об окончании письма.
  • Вот и все, получилось, что все наши файлы, картинки и аттачи влезли в один большой кусок текста, который мы отправляем обычной функцией mail() в теле обычного письма.

    Отсылка от двух до нескольких писем на почту.

    Теги:
    php,
    mail,
    несколько адресатов,
    отправка форм

    В этой статье мы разберем то, как можно отсылать данные с формы на две, а то и больше e-mail адресов.

    Довольно часто стал встречаться этот вопрос, что и с подвигло нас написать небольшую статью о том, как это сделать. В ней мы расскажем о двух способах.

    Первый — когда получатели видят адреса всех других получателей этого письма. В плане написания кода этот вариант куда проще второго. Но его существенным недостатком является отсутствие конфиденциальности e-mail других получателей.

    Второй — каждый получает свою копию письма, где в качестве получателя будет указано только он сам. В некоторых случаях предпочтительнее именно он.

    Рассмотрим эти способы подробнее.

    Способ первый. Общие получатели.

    Для того, чтобы отправить данные из формы на два адреса этим способом, вам нужно в качестве первого аргумента функции mail указать эти адреса через запятую.

    Возьмем для примера код из нашей статьи «Простая форма связи своими руками».

    Всё, что нам нужно сделать, это добавить новое поле в форму, которое будет задавать второй e-mail адрес получателя:

    <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
	<title>Страница</title>
	<link rel="stylesheet" href="/../css/template.css" type="text/css" />
</head>
<body>
	<form action="send.php" method="get">
		<input type="text" placeholder="Введите сюда e-mail" name="e-mail"><br>
		<input type="text" placeholder="Введите сюда второй e-mail" name="e-mail2"><br>
		<input type="text" placeholder="Введите сюда ваше имя" name="name"><br>
		<input type="submit" value="Нажмите, чтобы отправить письмо">
	</form>
</body>
</html>

    И изменить обработчик:

    <?php
	//Получаем данные из глобальной переменной $_GET, так как мы передаем данные методом GET
	$name = $_GET['name']; // Вытаскиваем имя в переменную
	$email1 = $_GET['e-mail']; // Вытаскиваем почту в переменную
	$email2 = $_GET['e-mail2']; // Вытаскиваем почту в переменную
	$message = "Поздравляем, $name, отправка сообщений на почту $email работает"; // Формируем сообщение, отправляемое на почту
	$to = "$email1, $email2"; // Задаем получателя письма
	$from = "noreply-site.web.cofp.ru"; // От кого пришло письмо
	$subject = "Письмо с примера простой формы сайта web.cofp.ru"; // Задаем тему письма
	$headers = "From: $from\r\nReply-To: $to\r\nContent-type: text/html; charset=utf-8\r\n"; // Формируем заголовок письма (при неправильном формировании может ломаться кодировка и т.д.)
	if (mail($to, $subject, $message, $headers)) { // При помощи функции mail, отправляем сообщение, проверяя отправилось оно или нет
		echo "<p>Сообщение успешно отправлено</p>"; // Отправка успешна
	}
	else {
		echo "<p>Что-то пошло не так, как планировалось</p>"; // Письмо не отправилось
	}
?>

    Стоит обратить внимание на строчку 5, в которой мы получаем второй адрес и строчку 7, где мы формируем список получателей письма (у нас их двое в данном случае).

    Результат работы этого скрипта можно посмотреть на демо-странице:

    Соответственно, если вы хотите посылать сообщение сразу по нескольким адресам, все эти почты нужно указывать через запятую. Насколько мы знаем, никаких ограничений на количество получателей нету, но в этом лучше убедиться вам самим.

    Способ второй. Анонимные получатели

    Суть этого метода заключается в том, что по каждому адресу, на который необходимо отправить письмо отсылается своя копия письма.

    Как можно понять такой способ не очень предпочтителен, если вам необходимо разослать письма 100 людям или более, так как скорее всего на сервере стоит ограничение на количество вызываемых функций mail в определенный промежуток времени. Поэтому во время рассылок, учитывают это время и делают перерывы, то есть добавляются какие-то таймеры или ещё что-то. В случае если вам нужно отправлять данные с формы, такой вариант не подойдет для большого количества e-mail  адресов.

    Рассмотрим пример кода для двух адресов, форма у нас будет выглядеть так же, как и в первом способе. Напоминаем, что мы взяли рабочий пример из статьи «Простая форма связи своими руками». Добавили в форму ещё одно поле, которое у нас будет отвечать за адрес второго получателя.

    Обработчик для передачи сообщения двум людям будет выглядеть так:

    <?php
	//Получаем данные из глобальной переменной $_GET, так как мы передаем данные методом GET
	$name = $_GET['name']; // Вытаскиваем имя в переменную
	$to1 = $_GET['e-mail']; // Вытаскиваем почту в переменную
	$to2 = $_GET['e-mail2']; // Вытаскиваем вторую почту в переменную
	$message = "Поздравляем, $name, отправка сообщений на почту $email работает"; // Формируем сообщение, отправляемое на почту
	$from = "noreply-site.web.cofp.ru"; // От кого пришло письмо
	$subject = "Письмо с примера простой формы сайта web.cofp.ru"; // Задаем тему письма
	$headers = "From: $from\r\nReply-To: $to\r\nContent-type: text/html; charset=utf-8\r\n"; // Формируем заголовок письма (при неправильном формировании может ломаться кодировка и т.д.)
	if (!mail($to1, $subject, $message, $headers)) {
		echo "Отправить сообщение на почту $to не удалось";
	}
	if (!mail($to2, $subject, $message, $headers)) {
		echo "Отправить сообщение на почту $to не удалось";
	}
?>

    Результат работы этого способа смотрите на демо-странице(отличается от первой):

    Для отправки сообщения большему количеству людей, как уже говорилось ранее, придется мудрить — посылать в цикле, при этом учитывать разрешения сервера и нагрузку на него.

    wp_mail() – отправка почты в WordPress

    Практическое использование этой функции при отправке формы обратной связи вы можете найти в моём видеоуроке.

    Функция возвращает true в случае успешной отправки email, однако это не означает, что письмо будет получено и прочтено. Это означает, что сама функция отработала без ошибок.

    Кроме того, по умолчанию тип контента письма text/plain, что значит, что HTML-теги не поддерживаются, но это легко исправить несколькими строчками кода.

    Кодировка письма по умолчанию совпадает с кодировкой вашего сайта на WordPress, но и это вы также можете изменить фильтров wp_mail_charset.

    wp_mail( $to, $subject, $message, $headers = '', $attachments = array() )

    Параметры

    $to
    (строка|массив) получатель или получатели письма (в виде массива или через запятую). Обратите внимание, если вы укажете их через запятую, то каждый получатель письма увидит все email-адреса, на которые было выслано это письмо
    $subject
    (строка) тема сообщения
    $message
    (строка) текст сообщения, по умолчанию text/plain, это значит, что HTML-теги не поддерживаются, о том, как включить их поддержку, смотрите в примерах
    $headers
    (строка|массив) заголовки сообщения
    $attachments
    (строка|массив) вложения к письму, нужно указывать полный путь к файлам на сервере. Для того, чтобы вложить несколько файлов, используйте массив, либо строку, где путь к каждому файлу начинается с новой строки

    Примеры

    Обычная отправка письма

    wp_mail( '[email protected]', 'Какая-то тема', 'Какое-то сообщение' );

    Изменение имени и email отправителя

    В WordPress по умолчанию в качестве отправителя письма выставляется «WordPress»,а в качестве его email «[email protected]».

    Я уже писал пост о том, как изменить стандартное имя и email отправителя для всех писем, отправляемых с блога на WordPress, а сейчас рассмотрим пример только для конкретного письма.

    Для этого нам нужно передать параметр $headers.

    wp_mail(
    	'[email protected]',
    	'Какая-то тема',
    	'Какое-то сообщение',
    	array(
    		'From: Миша <[email protected]>'
    	)
    );

    Использование HTML-тегов в письме, фильтр wp_mail_content_type

    Для того, чтобы использовать HTML-теги в тексте сообщения, нужно изменить content-type письма на text/html, а это можно сделать двумя способами.

    Это можно сделать двумя способами.

    Через фильтр – в таком случае HTML-теги станет возможно использовать в любых письмах, отправляемых с блога.

    add_filter( 'wp_mail_content_type', 'true_content_type' );
     
    function true_content_type( $content_type ) {
    	return 'text/html';
    }

    Не знаете, куда вставлять код?

    Второй способ – указать заголовки уже при отправке конкретного письма. Тут мы также и устанавливаем кодировку письма.

    wp_mail(
    	'[email protected]',
    	'Какая-то тема',
    	'Какое-то сообщение', 
    	array(
    		'Content-type: text/html; charset=utf-8'
    	)
    );

    Изменение кодировки письма, фильтр wp_mail_charset

    Кодировка письма по умолчанию соответствует кодировке блога, но ее тоже можно изменить через заголовки (предыдущий пример) или через фильтр:

    add_filter( 'wp_mail_charset', 'true_mail_charset' );
     
    function true_mail_charset( $content_type ) {
    	return 'utf-8';
    }

    Не знаете, куда вставлять код?

    В предыдущем примере (и по умолчанию тоже) WordPress отправляет письма юникодом, но таким способом вы спокойно можете изменить кодировку например на Windows-1251.

    Отправка письма с вложениями

    $upload_dir = wp_upload_dir();
     
    $attachments = array(
    	$upload_dir[ 'path' ] . '/file-1.png',
    	WP_CONTENT_DIR . '/uploads/file-2.txt'
    );
     
    wp_mail( '[email protected]', 'Письмо с вложениями', 'Вложения приложены', array(), $attachments );

    Миша

    Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

    Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

    Отправка писем через SMTP на PHP

    <?php

    $config[‘smtp_username’] = ‘[email protected]’;  //Смените на адрес своего почтового ящика.

    $config[‘smtp_port’] = ‘465’; // Порт работы.

    $config[‘smtp_host’] =  ‘ssl://smtp.yandex.ru’;  //сервер для отправки почты

    $config[‘smtp_password’] = ‘пароль’;  //Измените пароль

    $config[‘smtp_debug’] = true;  //Если Вы хотите видеть сообщения ошибок, укажите true вместо false

    $config[‘smtp_charset’] = ‘utf-8’; //кодировка сообщений. (windows-1251 или utf-8, итд)

    $config[‘smtp_from’] = ‘МегаСервис’; //Ваше имя — или имя Вашего сайта. Будет показывать при прочтении в поле «От кого»

    function smtpmail($to=», $mail_to, $subject, $message, $headers=») {

    global $config;

    $SEND = «Date: «.date(«D, d M Y H:i:s») . » UT\r\n»;

    $SEND .= ‘Subject: =?’.$config[‘smtp_charset’].’?B?’.base64_encode($subject).»=?=\r\n»;

    if ($headers) $SEND .= $headers.»\r\n\r\n»;

    else

    {

    $SEND .= «Reply-To: «.$config[‘smtp_username’].»\r\n»;

    $SEND .= «To: \»=?».$config[‘smtp_charset’].»?B?».base64_encode($to).»=?=\» <$mail_to>\r\n»;

    $SEND .= «MIME-Version: 1.0\r\n»;

    $SEND .= «Content-Type: text/html; charset=\»».$config[‘smtp_charset’].»\»\r\n»;

    $SEND .= «Content-Transfer-Encoding: 8bit\r\n»;

    $SEND .= «From: \»=?».$config[‘smtp_charset’].»?B?».base64_encode($config[‘smtp_from’]).»=?=\» <«.$config[‘smtp_username’].»>\r\n»;

    $SEND .= «X-Priority: 3\r\n\r\n»;

    }

    $SEND .=  $message.»\r\n»;

    if( !$socket = fsockopen($config[‘smtp_host’], $config[‘smtp_port’], $errno, $errstr, 30) ) {

    if ($config[‘smtp_debug’]) echo $errno.»<br>».$errstr;

    return false;

    }

    if (!server_parse($socket, «220», __LINE__)) return false;

    fputs($socket, «HELO » . $config[‘smtp_host’] . «\r\n»);

    if (!server_parse($socket, «250», __LINE__)) {

    if ($config[‘smtp_debug’]) echo ‘<p>Не могу отправить HELO!</p>’;

    fclose($socket);

    return false;

    }

    fputs($socket, «AUTH LOGIN\r\n»);

    if (!server_parse($socket, «334», __LINE__)) {

    if ($config[‘smtp_debug’]) echo ‘<p>Не могу найти ответ на запрос авторизаци.</p>’;

    fclose($socket);

    return false;

    }

    fputs($socket, base64_encode($config[‘smtp_username’]) . «\r\n»);

    if (!server_parse($socket, «334», __LINE__)) {

    if ($config[‘smtp_debug’]) echo ‘<p>Логин авторизации не был принят сервером!</p>’;

    fclose($socket);

    return false;

    }

    fputs($socket, base64_encode($config[‘smtp_password’]) . «\r\n»);

    if (!server_parse($socket, «235», __LINE__)) {

    if ($config[‘smtp_debug’]) echo ‘<p>Пароль не был принят сервером как верный! Ошибка авторизации!</p>’;

    fclose($socket);

    return false;

    }

    fputs($socket, «MAIL FROM: <«.$config[‘smtp_username’].»>\r\n»);

    if (!server_parse($socket, «250», __LINE__)) {

    if ($config[‘smtp_debug’]) echo ‘<p>Не могу отправить комманду MAIL FROM: </p>’;

    fclose($socket);

    return false;

    }

    fputs($socket, «RCPT TO: <» . $mail_to . «>\r\n»);

    if (!server_parse($socket, «250», __LINE__)) {

    if ($config[‘smtp_debug’]) echo ‘<p>Не могу отправить комманду RCPT TO: </p>’;

    fclose($socket);

    return false;

    }

    fputs($socket, «DATA\r\n»);

    if (!server_parse($socket, «354», __LINE__)) {

    if ($config[‘smtp_debug’]) echo ‘<p>Не могу отправить комманду DATA</p>’;

    fclose($socket);

    return false;

    }

    fputs($socket, $SEND.»\r\n.\r\n»);

    if (!server_parse($socket, «250», __LINE__)) {

    if ($config[‘smtp_debug’]) echo ‘<p>Не смог отправить тело письма. Письмо не было отправленно!</p>’;

    fclose($socket);

    return false;

    }

    fputs($socket, «QUIT\r\n»);

    fclose($socket);

    return TRUE;

    }

     

    function server_parse($socket, $response, $line = __LINE__) {

    global $config;

    while (@substr($server_response, 3, 1) != ‘ ‘) {

    if (!($server_response = fgets($socket, 256))) {

    if ($config[‘smtp_debug’]) echo «<p>Проблемы с отправкой почты!</p>$response<br>$line<br>»;

    return false;

    }

    }

    if (!(substr($server_response, 0, 3) == $response)) {

    if ($config[‘smtp_debug’]) echo «<p>Проблемы с отправкой почты!</p>$response<br>$line<br>»;

    return false;

    }

    return true;

    }

    ?>

    Php mail отправка файла

    Отправка писем в php осуществляется с помощью функции mail()

    to — емайл получателя
    subject — заголовок письма
    message — текст письма, сообщение
    mailheaders — почтовые заголовки

    Отправка обычного текстового письма

    Это самый простой способ отправки писем. Вы просто указываете емайл получателя, отправителя и формат text/plain в заголовке. Далее идет пример

    Отправка html-письма, в которое можно вставлять таблицы, рисунки, различные шрифты, стили оформления

    Отправка писем в html формате почти ничем не отличается от отправки писем в текстовом формате. В заголовке вы указываете формат письма text/html а в самом письме вместо обычного текста помещаете html-код.

    Рассмотрим на примере

    Отправка письма с вложением

    Чтобы прикрепить файл к письму потребуется немного более длинный код, но это тоже довольно просто. В приведенном далее коде пропишите имя вашего файла который вы хотите отправить а также его расположение

    Отправка писем сразу нескольким адресатам

    Чтобы отправить письмо сразу нескольким адресатам, лучше всего использовать заголовок Bcc: который отправляет копию письма на указанный емайл

    В этой статье я собираюсь осветить тему отправки файлов по e-mail на PHP. Задача эта весьма популярная, а вот многие не знают, как это делается и научились только отправлять обычные письма без вложенных файлов. Этот пробел я постараюсь заполнить.

    Я написал скрипт, который Вы смело можете копировать и использовать в своих скриптах. Данный код позволяет отправлять файлы по e-mail через PHP:

    Скрипт достаточно хорошо прокомментирован, но я добавлю ещё один важный момент. Обратите внимание, что если идут вложенные файлы, то текст письма нужно тоже делать, как прикрепление к письму, однако, тип содержимого будет другой. Это весьма серьёзная особенность, если не сделать так, то текст письма отправлен не будет. Это очень частая ошибка, поэтому обратите на это особое внимание.

    Данный PHP-скрипт для отправки файлов по e-mail сделан максимально коротким, он универсален, поэтому Вы можете его дорабатывать под свои нужды так, как пожелаете.

    Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 19 ):

    Михайл Русаков ;). Со светлым Рождеством Христовым! Я тебя очень прошу каждые исходники и добавить и покажи «Результат данного примера показан» например как у htmlbook.ru Я тебя предлагаю мое мнение это удобно видеть примеры и все будет понял. Заранее спасибо большое ;). Удачи.

    У вас ошибочка! Написано «Данная код» Вы наверное имели ввиду «Данный код»

    Михаил здравствуйте, я хочу спросить, как можно отправлять несколько файлов. Очень надо. Заранее спасибо!

    Чтобы не изобретать велосипед, можете воспользоваться готовым классом наподобие PHPMailer, который это уже умеет.

    Как-то много долбался с этой ерундой, никак не собиралась работать. У формата email довольно жёсткий стандарт и все пересылаемые файлы кодируются в текстовом виде, запутаться легко. Кстати boundary не стоит делать слишком простым, иначе если эта последовательность попадётся в сегментах сообщения, то он решит, что это очередной разрыв и порвёт письмо.

    Михаил! Сделайте пожалуйста форму html для представленного здесь php обработчика, чтобы его можно было использовать или адаптировать под свои нужды. Такой код без примера html использовать могут только более менее знающие програмисты, а для начинающего разобраться без наглядного примера сложновато..

    Вот форма и скрипт, они должны быть в разных файлах, в action нужно вставить имя файла со скриптом, если он будет не в одной директории с формой то прописать полный путь. Форма: А это немного переделанный скрипт, так как форма уже была и я подогнал по неё скрипт и дописал вывод сообщения при отправке или ошибке.

    А если нужно присоединить сообщение к оправке данных с полей формы, но только после действия (нажатия определённой кнопки) на другой странице сайта? И только после присоединения сообщения отправить. Как это прописать в скрипте? Я в программировании совсем ничего не понимаю.

    Михаил, спасибо за скрипт. Давно уже мучает такой вопрос, и не только меня наверное. Почему с сайта письма попадают в спам на gmail или бывает совсем не приходят? На все остальные почтовые сервисы письма приходят нормально.

    И ещё проблема. Ваш скрипт хорошо работает, но текст присылается со знаками вопросами ))) в ромбиках чёрных Что посоветуете?

    Как именно? Кодировка UTF-8 стоит, сам файл тоже в ней.

    Здравствуйте, Не могу понять где универсальность скрипта. Почему прописано имя файла «form.txt» и соответственно на почту приходит файл с этим именем. Как сохранить оригинальное имя файла (то что было на момент отправики)? Вопрос 2: почему приходит файл нулевого размера?

    Здравствуйте Михаил! Подскажите пожалуйста как прописать, что бы отправка имела такой вот вид http://rghost.ru/7bRSxGzVb/image.png При выборе отправляло данный файл! Спасибо!

    Добрій вечер. Мучает один вопрос. Почему когда приходит сообщение на єлектронную почту, то оно отображается как файл «noname.txt»? Как можно сделать, чтобы отображалось как текст или как изменить «noname» на другое назнавание? Спасибо

    Ищу как мне сделать скрипт на товарный одностраничник с апселлом. У вас самое толковое объяснение, как отправлять сообщения на почту. Но мне нужно: 1. Отправляем на ЛОГИН@yandex.ru 2. Считываем данные с полей формы Имя и Телефон 3. При нажатии кнопки «Отправить» на форме, перебрасывает на дополнительную страничку upsell.php. НО ПРИ ЭТОМ ДАННЫЕ С ПОЛЕЙ ФОРМЫ НЕ ОТПРАВЛЯЮТСЯ НА Е-МЭЙЛ, А СОХРАНЯЮТСЯ-ОЖИДАЮТ КОМАНДЫ ОТПРАВКИ. 4. На странице с апселлом есть 2 кнопки (нет никакой формы): а) если покупатель жмёт кнопку «Добавить в посылку», то вступает в дело функция отправки сообщения mail с собранными данными с полей формы и добавляется название дополнительного товара. Это всё выражается в конечном итоге в виде сообщения на е-мэйл Имя: Телефон: Название дополнительного товара. б) если покупатель жмёт кнопку «Отказаться», то вступает в дело функция отправки сообщения mail с собранными данными с полей формы, но уже без добавления дополнительного товара. Это всё выражается в конечном итоге в виде сообщения на е-мэйл Имя: Телефон:

    Здравствуйте,Михаил.Не могли бы Вы подсказать как можно организовать следующее.Мне нужно что бы человек,на моем сайте,выбрав нужный видеофайл смог бы сразу послать его на указанный им E-mail без скачивания файла на свой компютер.Файлы не большого размера 2-6мб.Буду рад любым подсказкам.

    Код содержит множество ошибок: Неправильный перенос строки, неверный разделитель, отсутствие кодирования письма. http://prntscr.com/jgwp7m

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2020 Русаков Михаил Юрьевич. Все права защищены.

    Пишу скрипт отправки почты с вложением.

    Каким образом можно добавить второе вложение из input type = «file» на форме?

    3 ответа 3

    Три простых шага для решения данной проблемы:

    1. Посмотреть на календарь и уточнить, какой сейчас век на дворе.
    2. Аккуратно выделить этот код, и нажать клавишу Del
    3. Скачать phpmailer
    4. Забыть все эти кустарные ковыряния как страшный сон.

    В итоге код должен получиться примерно таким:

    следует понимать, что отправка почты – это не просто копирование в свой скрипт каких-то определенных сочетаний символов, к оторые случайно сработали в прошлом веке у автора какой-либо допотопной статьи. Это гораздо более сложный процесс, который включает множество нюансов. И поэтому отправку почты надо не лепить вручную из подручных средств на ходу, а доверить проверенному и отлаженному решению.

    Формат HTML для электронной почты Отправить с Php

    Результаты листинга Формат HTML для электронной почты Отправить с Php

    Электронная почта

    Как отправить сообщение в формате HTML с помощью PHP

    7 часов назад Просмотрите другие вопросы с тегами php, электронная почта форматирование или задайте свой вопрос . Блог Overflow Извлечь текст из любого файла сложнее, чем кажется.

    Отзывы: 6