@HeartOfProgrammer

Как осуществить отправку письмо на емайл?

Читаю книгу "о'рейли Изучаем PHP и MySQL" делаю задания с отправкой письма на почту, но ничего не получается, письмо не приходит. Добавлял форму и php сценарии на хостинг, использую функцию mail().

index.php
<form method="POST" action="report.php">
		<label for="subject">Тема:</label>
		<input type="text" class="subject" name="subject"></br>
		<label for="fname">Имя:</label>
		<input type="text" class="fname" name="fname"></br>
		<label for="lname">Фамилия:</label>
		<input type="text" class="lname" name="lname"></br>
		<label for="email">Ваш электронный адрес</label>
		<input type="text" class="email" name="email"></br>
		<label for="send_email">Кому выслать письмо</label>
		<input type="text" class="send_email" name="send_email"></br>
		<label for="whenithappend">Когда это произашло?</label>
		<input type="text" class="whenithappend" name="whenithappend"></br>
		<label for="howlong">Как долго вы отсуствовали?</label>
		<input type="text" class="howlong" name="howlong"></br>
		<label for="howmany">Сколько их было?</label>
		<input type="text" class="howmany" name="howmany"></br>
		<label for="aliendescription">Опишите их</label>
		<input type="text" class="aliendescription" name="aliendescription" size="32"></br>
		<label for="whattheydid">Что они делали с вами?</label>
		<input type="text" class="whatthedid" name="whattheydid" size="32"></br>
		<label for="fangspotted">Видели ли вы мою собаку фэнга?</label>
		Да <input class="fangspotted" name="fangspotted" type="radio" value="Да">
		Нет <input class="fangspotted" name="fangspotted" type="radio" value="Нет"></br>
		<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQgmBIZf7EkRlcFufKHqZNhEp1s13LSYlMbwBNZVPfKkbVzsF1mhA" width="100" height="175" alt="Моя похищенная собака фэнг.">
		<label for="other">Дополнительная информация:</label>
		<textarea class="other" name="other"></textarea></br>
		<input type="submit" value="Сообщения о похищении" name="sumbit">
	</form>

report.php
<?
		$whenItHappened = $_POST['whenithappend'];
		$howLong = $_POST['howlong'];
		$alienDescription = $_POST['aliendescription'];
		$fangSpotted = $_POST['fangspotted'];
		$email = $_POST['email'];
		$name = $_POST['fname'] . ' ' . $_POST['lname'];
		$howMany = $_POST['howmany'];
		$whatTheyDid = $_POST['whattheydid'];
		$otherInformation = $_POST['other'];
		$subject = $_POST['subject'];
		$to = $_POST['send_email'];

		$msg = "$name был похищен $whenithappened и отсуствовал в течение $howLong.\n" .
		"Количество космических пришельцев: $howMany\n" .
		"Описание космических пришельцев: $alienDescription\n" . 
		"Что они делали? $whatTheyDid\n" .
		" Фэнг замечен? $fangSpotted\n" .
		"Дополнительная информация: $other"; 
		
		mail($to, $subject, $msg, 'From:' . $email);

		echo 'Спасибо за заполнение формы. <br />';
		echo 'Вы были похищены ' . $whenItHappened;
		echo ' и отсутствовали в течение ' . $howLong . '<br />';
		echo 'Опишите их: ' . $alienDescription . '<br />';
		echo 'Что они делали? ' . $whatTheyDid . '<br />';
		echo 'Видели ли вы мою собаку фэнга? ' . $fangSpotted . '<br />';
		echo 'Дополнительная информация: ' . $other . '<br />';
		echo 'Ваш адрес электронной почты: ' . $email;
?>


В чем проблема? Где ошибки?
  • Вопрос задан
  • 253 просмотра
Пригласить эксперта
Ответы на вопрос 4
dmitriy_novikov
@dmitriy_novikov
Занимаюсь web-разработкой с 2010г. http://dmnv.ru
начните с примеров попроще: www.php.su/mail
Ответ написан
thewind
@thewind
php программист, front / backend developer
mail() - очень ненадежная функция. Часто она либо отключена, либо почтовые сервисы кладут письма, посланные такой функцией, в спам, либо вообще отказываются получать. Используйте SMTP для отправки. Но судя по вашему вопросу - до этого момента следует подучиться...
Ответ написан
Комментировать
MetaDone
@MetaDone
Хорошо сформулированный вопрос - 50% решения
Самый очевидный вариант - отсутствие почтовика на сервере.
Как я подозреваю, хостинг бесплатный, так что не видать вам там отправки почты
Ответ написан
Комментировать
maxpoitn2point
@maxpoitn2point
Как всегда, в своем репертуаре
ну а какие нибудь ошибки в логах есть?
Потому что я скопипастил код и у меня все работает
To: maxpoint2point@gmail.com
Subject: тема
X-PHP-Originating-Script: 0:report.php
From:maxpoint2point@gmail.com

имя фамилия был похищен  и отсуствовал в течение долго.
Количество космических пришельцев: 19
Описание космических пришельцев: Зеленые
Что они делали? опыты
 Фэнг замечен? Нет
Дополнительная информация:


И кстати не все переменные указаны без ошибок, поля я заполнял все. Дополнительная информация не отобразилась
а именно не объявили переменную $other
у вас она:
$otherInformation = $_POST['other'];
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы