Jump to content
  • 0

Отправка сообщений с сайта


Alfa2015
 Share

Question

Здравствуйте!

Научите, пожалуйста, отправлять сообщения с сайта!

Облазила весь инет, но безрезультатно: нигде не пишут подробно об этом. 

Отсюда https://github.com/PHPMailer/PHPMailer скачала код для отправки сообщений, но там ТАК запутано! 

Столько файлов, не могу разобраться...

 

Вот, к примеру, есть форма

<form method="post">	<p>		<label for="addr">eMail:</label>		<input type="text" name="addr" id="addr" size="30" />	</p>	<p>		<label for="theme">Тема письма:</label>		<input type="text" name="theme" id="theme" size="30" />	</p>	<p>		<label for="text">Текст письма:</label>		<textarea rows="10" cols="20" name="text" id="text"></textarea>	</p>	<p>		<input type="submit" value="Отправить" />	</p></form>

Как сделать, чтобы она заработала?

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

перед формой можно вставить код отправки письма взять можно например здесь http://php.net/manual/ru/function.mail.php

я бы посоветовал функцию вроде этой

function mail_utf8($to, $from_user, $from_email,$subject = '(No subject)', $message = ''){$from_user = "=?UTF-8?B?".base64_encode($from_user)."?=";$subject = "=?UTF-8?B?".base64_encode($subject)."?=";$headers = "From: $from_user <$from_email>\r\n"."MIME-Version: 1.0" . "\r\n" ."Content-type: text/html; charset=UTF-8" . "\r\n";return mail($to, $subject, $message, $headers);}
здесь есть все что вам может понадобиться если ваш сайт вдруг не utf то придется сменить кодировку в коде или переделывать сайт, я бы посоветовал перейти на utf

у вас должно получиться что-то вроде

<?PHPfunction mail_utf8($to, $from_user, $from_email,$subject = '(No subject)', $message = ''){$from_user = "=?UTF-8?B?".base64_encode($from_user)."?=";$subject = "=?UTF-8?B?".base64_encode($subject)."?=";$headers = "From: $from_user <$from_email>\r\n"."MIME-Version: 1.0" . "\r\n" ."Content-type: text/html; charset=UTF-8" . "\r\n";return mail($to, $subject, $message, $headers);}$from_user = 'Ваше ФИО';$from_email = 'name@mail.ru';if(isset($_POST['theme'])) $subject = $_POST['theme']; else $subject = '';if(isset($_POST['text'])) $message = $_POST['text']; else $message = '';if(isset($_POST['addr'])) $to = $_POST['addr']; else $to = '';if($to) mail_utf8($to, $from_user, $from_email, $subject, $message);?>
но было бы не плохо делать определенные проверки на приходящие данные
Link to comment
Share on other sites

  • 0

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

$name = (string) trim( strip_tags( $_POST['name'] ) );

Link to comment
Share on other sites

  • 0
Вот, к примеру, есть форма

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

<form method="post" action="/sendmail.php">....

создаете в директории вашего проекта файл sendmail.php

с содерджимым которое  написано в посте http://htmlforum.ru/index.php?showtopic=51829&p=347380

что происходит: ваша форма передаст параметры методом post скрипту sendmail.php , он их примет $_POST['theme'] - здесь принимается параметр тема письма, подставит в функцию и отправит письмо

Edited by Andryshok
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy