PHP отправка почты

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

<?php

// Строка для уменьшения предупреждений Денвера
Error_Reporting(E_ALL & ~E_NOTICE);

//если информация из формы formmail.html послана скрипту mail.php
if ($submit == 'Поcлать')
{
//если не все поля заполнены
if ($name=='' or $mail=='' or $message=='' or $pr!='5')
$sent = file_get_contents("php/mail/nosentmail.html");
//если заполнены все поля
else
{
// дата
$data = date ("d m Y") ." г.";
//в какой форме будет получено письмо
$body = file_get_contents("php/mail/mail.html");
//email, тот куда будет приходить сообщение
$user = $eadmin;
//откуда сообщение
$newm = $turl;
//перемещение данных в собщении
$body = str_replace ("%name%",$name,$body);
$body = str_replace ("2018",$data,$body);
$body = str_replace ("%message%",$message,$body);
$body = str_replace ("%mail%",$mail,$body);
$body = str_replace ("%newm%",$newm,$body);
// для правильного отображения в html
$headers = "Content-Type: text/html; charset=UTF-8\n";
$headers.= "From: ".$user;
//посылка письма
@mail ($user,$newm,$body,$headers);
//занесение в переменную $sent содержимого файла формы собщения
$sent = file_get_contents("php/mail/sentmail.html");
//перемещение участков строк в файле sentmail.html
$sent = str_replace("%name%","$name",$sent );
$sent = str_replace("%mail%","$mail",$sent );
$sent = str_replace("2018","$data",$sent );
$sent = str_replace("%message%","$message",$sent );
}
}

?>

Для этого необходимо создать в Dreamweaver новый документ, заполнить его выше представленным содержимым и сохранить его под имененем mail.php не забыв проверить кодировку вновь созданного документа и если необходимо привести ее в соответствие с кодировкой пректа. Полный путь к файлу будет D:/Mysitephp/php/mail/mail.php.

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

<?php

//-------------------------------------------------------------------------------------

if (!$page or $page == home)
{
$text = 'home.html';
$title = 'Титул главной страницы сайта';
$titlepage = 'Заголовок главной страницы сайта';
$meta = "home_meta.html";
}
//-------------------------------------------------------------------------------------

elseif ($page == 'rub1_part1')
{
$text = 'rub1_part1.html';
$title = 'Титул страницы Рубрика 1 Раздел 1';
$titlepage = 'Заголовок страницы Рубрика 1 Раздел 1';
$meta = "rub1_part1_meta.html";
}
elseif ($page == 'rub1_part2')
{
$text = 'rub1_part2.html';
$title = 'Титул страницы Рубрика 1 Раздел 2';
$titlepage = 'Заголовок страницы Рубрика 1 Раздел 2';
$meta = "rub1_part2_meta.html";
}
elseif ($page == 'rub1_part3')
{
$text = 'rub1_part3.html';
$title = 'Титул страницы Рубрика 1 Раздел 3';
$titlepage = 'Заголовок страницы Рубрика 1 Раздел 3';
$meta = "rub1_part3_meta.html";
}
//-------------------------------------------------------------------------------------
elseif ($page == 'mail')
{
$text = "formmail.html";
$title = "Форма обратной связи, контактная информация";
$meta = "formmail_meta.html";
}
//-------------------------------------------------------------------------------------
else
{
$text = "404.html";
$title = "Ошибка, ошибочная ссылка";
$meta = "404_meta.html";
}

//========================================================
$text = $doctemplates.'/pages/'.$text;

if ($page == "sentmail")
{
include "php/mail/mail.php";
$text = $sent;
$title = "Отправка письма, форма обратной связи, контактная информация";
$meta = "formmail_meta.html";
}
else
$text = file_get_contents ( "$text" );

$meta = $doctemplates."/pages/meta/".$meta;
$meta = file_get_contents ( "$meta" );

?>

Теперь можно запустить локальный сервер Denwer или перезапустить его, если он уже запущен, набрать в адресной строке браузера mysitephp.ru и перейти по ссыле "обратная связь" в топ меню открывшейся страницы. Должна открыться страница с формой обратной связи. Далее можно поработать с формой, понажимать на кнопку отправки почты пустой фрормы, заполненной и заполненной не полностью и пронаблюдать за тем, как работает данный скрипт майлера. Протестировать реальную отправку почты можно будет только на реальном хостинге, что будет описано в дальнейшем.

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

Перейти и растаять в своей любимой социалке