@vedernikov

Как прикрепить файл к письму на PHP?

Подскажите, как в таком коде сделать прикрепление файла к письму?

<input type="file" name="file">

<?
if (isset($_POST['act']) && $_POST['message']=='') {
	if ($_POST['act']=='copy') {	
		$email=htmlspecialchars(strip_tags(strval($_POST['email'])));
		$name=htmlspecialchars(strip_tags(strval($_POST['name'])));

		//отправляем письмо
		$data = array();
		$data['capcha'] = 'VERY_SECRET_CODE_FROM_INSIDE';
		$data['robot'] = 1;
		$data['from_url'] = 'http://.../';
		$data['store'] = 1;
		$data['fullname'] = mb_convert_encoding('Не указано', 'windows-1251', 'UTF-8');
		$data['email'] = mb_convert_encoding('mail@mail.ru', 'windows-1251', 'UTF-8');
		$data['subject'] = mb_convert_encoding('Проверка', 'windows-1251', 'UTF-8');
		$data['content'] = mb_convert_encoding("Проверка\n\nПочта: $email\nИмя: $url\n", 'windows-1251', 'UTF-8');
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
		curl_setopt($ch, CURLOPT_URL, 'http://..../');
		curl_setopt($ch, CURLOPT_POST, true);
		curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$res = curl_exec($ch);
		if (curl_errno($ch)) {
			trigger_error(curl_error($ch));
		}
		curl_close($ch);
		if (preg_match('~^OK~', $res)) {
			print_r('<p class="result">Спасибо!</p>');
		} 
		else {
			print_r('<!--'.$res.'--><p class="result">Ошибка!</p>');
		}
	}
}

?>
  • Вопрос задан
  • 944 просмотра
Пригласить эксперта
Ответы на вопрос 3
miraage
@miraage
Старый прогер
Ответ написан
Комментировать
SowingSadness
@SowingSadness
web-разработчик
Используйте PHPMailer что бы было всё просто.
Ответ написан
Комментировать
Похоже, что в этом коде данные для отправки письма отправляются на какой-то сервер POST запросом. Тогда туда надо просто добавить файл гуглить "curl post file multipart form data"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 12:53
1000 руб./за проект
19 апр. 2024, в 12:41
8000 руб./за проект
19 апр. 2024, в 12:05
1500 руб./в час