Ru-Board.club
← Вернуться в раздел «Web-программирование»

» Perl, PHP: отправка формы на e-mail

Автор: Cheery
Дата сообщения: 12.12.2010 18:23
Immersion

Цитата:
Не знаю, как установить и настроить SMTP-сервер...
Мне нужен SMTP-сервер на 3 и больше пользователей

при чем тут пользователи??

1) если вы будете пользоваться хостингом, то там есть sendmail, скорее всего (если не бесплатный)
2) если своя машина - ставить любой почтовый сервер - в комплекте с ним идет и SMTP сервер
3) можно воспользоваться другими SMTP серверами (например от mail.ru или gmail), но для этого нужно воспользоваться, к примеру, классом phpmailer
Автор: Immersion
Дата сообщения: 12.12.2010 20:13
2) если своя машина - ставить любой почтовый сервер - в комплекте с ним идет и SMTP сервер

Поподробние пожалуйста
Автор: vlary
Дата сообщения: 12.12.2010 20:38
Immersion
Цитата:
Поподробние пожалуйста
Sendmail, Exim, Postfix - на выбор.
И , естественно. За пять минут тебя никто не научит.

Автор: Immersion
Дата сообщения: 12.12.2010 20:54
Я чайник и учусь Щас сижу и гуглю спс за инфу ))Вот я запускаю серв и вот что мне пишит:
Скрин: http://i081.radikal.ru/1012/ee/941020d8c0be.jpg
Порт:25
Автор: Cheery
Дата сообщения: 12.12.2010 21:21
Immersion

Цитата:
Поподробние пожалуйста

Выбор почтового сервера/Mail Server под Windows
Выбор почтового сервера / Mail Server под *nix

Цитата:
Вот я запускаю серв и вот что мне пишит:

не нужно все валить в одну тему - она не о настройке SMTP сервера. Спрашивайте в теме о том почтовике, что выбрали
Автор: Immersion
Дата сообщения: 12.12.2010 21:34
Под виндовс
Автор: Cheery
Дата сообщения: 12.12.2010 21:45
Immersion

Цитата:
Под виндовс

это ссылка на тему, где обсуждается выбор сервера под Windows
вот и читайте ту тему. а как выберете, то и спрашивайте в теме по данному серверу в разделе Программы.
Автор: Immersion
Дата сообщения: 12.12.2010 22:16
ок спс
Автор: alfa246
Дата сообщения: 11.01.2011 15:29
Нашел такой код и форму. При отправке сообщения появляется надпись Отправкой сообщений можно пользоваться только на сайте ".$_SERVER. пробовал без if'a - не работает =\

Код:
<?php
session_start();
if($_POST['session_id'] != session_id() )
{
exit("Отправкой сообщений можно пользоваться только на сайте ".$_SERVER['HTTP_HOST'].".");
}
else
{
// Обработка полей формы
$message_text = htmlspecialchars(trim($_POST['message_text']));
$name = htmlspecialchars(trim($_POST['name']));

// Проверяем длину сообщения, она не должна превышать $len знаков
$len = 200;
if(strlen($message_text) > $len)
{
exit("Ошибка. Сообщение не должно превышать ".$len. " знаков. ");
}

// здесь надо вставить email куда отправлять сообщение
$to = "example@mail.ru";
$subject="Письмо от ".$name;

// конвертируем из windows-1251 в koi8-r
$subject = convert_cyr_string($subject,'w','k');

// это само письмо
$message ="<html>
<head></head>
<body>
Письмо отправлено - <font color='red'>".date("d.m.Y H:i:s"). "</font><br>
<h3>Текст письма:</h3>". $message_text."
</body>
</html>
";
// конвертируем из windows-1251 в koi8-r
$message = convert_cyr_string($message,'w','k');
// заголовки письма
$headers = "Content-Type: text/html; charset=KOI8-R\r\n";
// от кого письмо
$headers .= "From: server <LPHP.RU>\r\n\r\n";
if(mail($to,$subject,$message,$headers))
{
echo "Письмо успешно отправлено.";
}
else
{
echo "Ошибка. Письмо не отправлено.";
}
}
?>
Автор: Cheery
Дата сообщения: 11.01.2011 19:25
alfa246
вопрос то в чем?
данный пример работает только если сначала показать форму с помощью второго кода..
хочется, чтобы работал в любом случае - убрать вот эту часть

Цитата:
session_start();  
if($_POST['session_id'] != session_id() )  
{  
    exit("Отправкой сообщений можно пользоваться только на  сайте ".$_SERVER['HTTP_HOST'].".");      
}  
else  

Автор: alfa246
Дата сообщения: 11.01.2011 19:30
убирал. не помогало.. в пхп толком не понимаю, немного соображаю в паскале. Еще вопрос : влияет ли
Register_globals:
Output_buffering:
Error_reporting:
Мagic_quotes_gpc:
?

Warning: mail() has been disabled for security reasons in /www_host/hosts/*****.ru/mail.php on line 36
Автор: Cheery
Дата сообщения: 11.01.2011 19:45
alfa246

Цитата:
Еще вопрос : влияет ли

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

Цитата:
Warning: mail() has been disabled for security reasons

Автор: alfa246
Дата сообщения: 15.01.2011 22:49
А если сервер разрешает ползоваться только SMTP почтой. Можно что-нибудь сделать?
Автор: Cheery
Дата сообщения: 15.01.2011 22:59
alfa246

Цитата:
А если сервер разрешает ползоваться только SMTP почтой. Можно что-нибудь сделать

в смысле? разрешает слать через другие SMTP сервера?
пользуйтесь тогда SMTP классами.. например phpmailer
Автор: alfa246
Дата сообщения: 15.01.2011 23:36
Ой. Простите, туплю.
Активировал себе на хостинге почту. Сообщение
Цитата:
Warning: mail() has been disabled for security reasons in /www_host/hosts/xxx.xm6.ru/mail.php on line 36

осталось
полность запутался, на сегодня отбой.
Автор: Cheery
Дата сообщения: 16.01.2011 01:19
alfa246

Цитата:
осталось

вопросы к поддержке хостинга
Автор: Z4masko
Дата сообщения: 17.01.2011 18:55
А подскажите скрипт формы обратной связи с возможностью прикреплять несколько файлов к сообщению
Желательно чтобы можно было указать типы файлов который можно отправлять через форму
Автор: Cheery
Дата сообщения: 17.01.2011 21:40
Z4masko
сколько раз повторять - в этом разделе пишут скрипты, а не ищут готовые
хотите свой - напишите, ничего сложного в этом нет..
для отправки файлов используйте, к примеру, класс phpmailer
Автор: VenomBLR
Дата сообщения: 18.06.2011 20:39
Форумчане!!!
Заранее буду благодарен, если поможете с 2-мя проблемами:
1) Не работает скрипт оправки письма, только пустые строки и ничего больше

<?

$name = name_txt
$email = email_txt
$message = message_txt



$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=windows-1251' . "\r\n";
$headers .= 'From: $name <$email>\n' . "\r\n" .'Reply-To: info@origotrading.eu'. "\r\n";



$ToEmail = "info@origotrading.eu";
$ToName = "ORIGO TRADING LLP";
$ToSubject = "Перевозка";





$EmailBody = "<table width='716' height='207' border='1' bgcolor='#000000'>
<tr>
<td><font size='14' face='Calibri' color='#999999'>\n Sent By: $name_txt \n Senders Email: $email_txt\n Message Sent:\n $message_txt</font></td>
</tr>
</table>";






$EmailFooter="\n©2011 ORIGO TRADING LLP.";

$Message = $EmailBody.$EmailFooter;

mail($ToName." <".$ToEmail.">",$ToSubject, $Message, $headers);


Print "_root.Status=success";

?>

2) Как в ActionScript 2.0 засунуть Skype-вызов?
Как только не извращался, ничего не помогает...
Нашёл рабочий только под 3.
Автор: Cheery
Дата сообщения: 22.06.2011 23:15
VenomBLR

Цитата:
только пустые строки и ничего больше

phpfaq.ru/globals

Цитата:
Как в ActionScript 2.0 засунуть Skype-вызов?
Как только не извращался, ничего не помогает

при чем тут данная тема? свалку то устраивать не надо
Автор: Makintoshik
Дата сообщения: 14.07.2011 11:36
Всем привет
так как я в php вообще дубень (девушка ), хотелось бы попросить вашей помощи
у меня платный хостинг, php поддерживает

форма для отправки на e-mail, она,насколько я понимаю, чисто в html написана
но не работает, outlook открывается, вообщем,я так понимаю, она неправильная
подскажите,пожалуйста, что с ней можно сделать, или как её обыграть в php, чтобы она работала, буду очень благодарна

вот,собственно,сама форма:


<FORM ACTION="mailto:yourdomain@example.ru" METHOD=post>
<TABLE BORDER=0><font size=2>
<tr><td><font size=2>Ваше имя</font></td><td><input type=text name="sub" cols=40>
<tr><td><font size=2>Ваш E-mail</font></td><td><input type=text name="sub" cols=40>
<tr><td><font size=2>Телефон</font></td><td><input type=text name="sub" cols=40>
<tr><td><font size=2>Тип работы</font></td><td><input type=text name="sub" cols=40>
<tr><td><font size=2>Предмет</font></td><td><input type=text name="sub" cols=40>
<tr><td><font size=2>Тема работы</font></td><td><input type=text name="sub" cols=40>
<tr><td><font size=2>Срок выполнения</font></td><td><input type=text name="sub" cols=40>
<tr><td><font size=2>Прикрепить файлы</font></td><td>
<INPUT TYPE="file" NAME="file" cols=40><br>
<INPUT TYPE="file" NAME="file" cols=40>

<tr><td>
</td></tr>
<TR>
<TD colspan=2><font size=2>
Особые требования: <BR><textarea name="mes" cols=40 rows=5></textarea></font></TD></TR>
<TR>
<TD colspan=2 align=center><input type=submit value="Отправить"> <input type=reset value="Очистить"></TD></TR>

</table></form>


P.S. Е-майл поменяла, так что не работает она точно не от этого
Автор: Maxim113
Дата сообщения: 07.03.2012 15:59
Друзья подскажите как сделать перенос в письме?

Код такой:

<?php
// если была нажата кнопка "Отправить"
if($_POST['submit']) {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменной $_POST['mess'] все аналогично
$title = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
$fio = ($_POST['fio']);
$tel = ($_POST['tel']);
$email = ($_POST['email']);

$mess = "Компания: ". $title."\n".
"ФИО: ". $fio."\n".
"Телефон: ". $tel."\n".
"E-mail: ". $email;

// $to - кому отправляем
$to = 'mail@mail.ru';
// $from - от кого
$from='mail@mail.ru';
// функция, которая отправляет наше письмо.
mail($to, $title, $mess, 'From:'.$from);
echo 'Спасибо! Ваше письмо отправлено.';
}
?>
Автор: Alexlio
Дата сообщения: 07.03.2012 17:38

Цитата:
trim() - убираем все лишние пробелы и переносы строк


в слове лишние поразумивается условие если есть два рядом стоящих пробела удалить 1, если есть 2 переноса вподрят удалить 1 зачем тогда перенос делать если же текст из такова приобретет
начало: Привет я


Василий Пупки

конец: Привет я
Василий Пупкин

может я не так понял вопрос????
Автор: Maxim113
Дата сообщения: 08.03.2012 12:35
trim условие применяется только к полю title, но даже если его оттуда убрать, то все поля (компания, фио, телефон, емайл) приходят одной строкой на почту...а надо чтоб после каждой из строк вставлялся перенос строки.
Автор: Maxim113
Дата сообщения: 08.03.2012 21:34
Всем спасибо за попытки решить проблему(всем это одному человеку)

решил сам
mail($to, $zag, $mess, "From: $from
Reply-To: $from
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit");

надо было всего лишь дописать контент тайп.
Автор: Cheery
Дата сообщения: 08.03.2012 22:05
Maxim113

Цитата:
а надо чтоб после каждой из строк вставлялся перенос строки

content-type на это не совсем влияет. надо было попробовать использовать \r\n вместо \n
но нормальный почтовый клиент должен работать и с \n
Автор: Maxim113
Дата сообщения: 08.03.2012 23:47
Почта отсылалась на яндекс почту, смотрел из браузера. Без контент тайпа приходили просто буквы, пробовал все сочетания и n и r и с косыми в разные стороны, всё равно ничего не помогало, спасло только четкое указание HTML и вставка <br> в нужных местах.
Автор: Cheery
Дата сообщения: 09.03.2012 00:00
Maxim113

Цитата:
пробовал все сочетания и n и r и с косыми в разные стороны

надо было посмотреть в заголовках письма какой тип контента выставляется по умолчанию
Автор: kot488
Дата сообщения: 22.11.2012 13:13
День добрый, имеется настроеный web сервер на Centos, на нем крутиться пару сайтов на жумла и битриксе, и установлен kerio connect, подскажите как прописать в php.ini что бы сайт стали почту через kerio
Автор: Cheery
Дата сообщения: 22.11.2012 23:15
kot488
Читайте
http://php.net/manual/en/mail.configuration.php

Страницы: 1234567891011121314151617

Предыдущая тема: Как сделать так чтобы в MySQL грузились тяжёлые картинки


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.