Примитивная программка на Perl/PHP
Дайте пожалуйста код простого CGI на Perl или PHP, который принимает из формы простую фразу (типа "Hello World") и отсылает ее по электронной почте. Надо сделать что-то типа веб-формы для отсылки почтового сообщения на сайте, чтоб не спамили, и удобнее к тому же.
Мы не сильно шарим в Perl/PHP но знаем кучу других языков поэтому хотим попросить вас дать нам простой пример, от которого мы могли бы отталкиваться в нашей дальнейшей работе.
С уважением.
Иванов Артем
http://www.cubereality.com
Код:
class Spammer
{
public $encode = 'windows-1251';
public function sendMails($maillist, $from, $subject, $body, $type='text/html'){
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: $type; charset={$this->encode}\r\n";
$headers .= "From: $from";
$subj = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
foreach($maillist as $email){
mail($email, $subject, $body, $headers);
}
}
}
{
public $encode = 'windows-1251';
public function sendMails($maillist, $from, $subject, $body, $type='text/html'){
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: $type; charset={$this->encode}\r\n";
$headers .= "From: $from";
$subj = '=?koi8-r?B?'.base64_encode(convert_cyr_string($subject, "w","k")).'?=';
foreach($maillist as $email){
mail($email, $subject, $body, $headers);
}
}
}
Пример использования:
Код:
/**Обозначим список яшыков, куда отправить*/
$MailList = array(
0=>"mail@domain.dom",
1=>"mail1@anydomain.dom"
);
if(sizeof($_POST)){
$spam =& new Spammer();
$spam->sendMails($MailList, "<какой-то адрес для from>", "<какой-то subject>", nl2br(htmlspecialchars($_POST['body'])));
}
$MailList = array(
0=>"mail@domain.dom",
1=>"mail1@anydomain.dom"
);
if(sizeof($_POST)){
$spam =& new Spammer();
$spam->sendMails($MailList, "<какой-то адрес для from>", "<какой-то subject>", nl2br(htmlspecialchars($_POST['body'])));
}
$encode - кодировка тела письма.
В $_POST['body'] - тот самый "Hello, World!"
Отправляет по очереди всем адресам, указанным в $MailList
Дайте пожалуйста код простого CGI на Perl или PHP, который принимает из формы простую фразу (типа "Hello World") и отсылает ее по электронной почте. Надо сделать что-то типа веб-формы для отсылки почтового сообщения на сайте, чтоб не спамили, и удобнее к тому же.
Мы не сильно шарим в Perl/PHP но знаем кучу других языков поэтому хотим попросить вас дать нам простой пример, от которого мы могли бы отталкиваться в нашей дальнейшей работе.
С уважением.
Иванов Артем
http://www.cubereality.com[/QUOTE]
Отправлять письма в PHP можно одной функцией - mail(), но делать это надо, естественно, после преобразования символов введенных посетителем в поля формы (иначе Вас просто взломают). Инфа по функциям здесь: http://www.codenet.ru/webmast/php/mail.php - письма,
http://www.codenet.ru/webmast/php/regexp2.php - преобразование строк.
А готовые скрипты:
http://www.dnp-studio.ru/scripts/forms.html
http://www.creater.ru/?tid=26&script_id=2338
Хотя, я сам их не ставил и скрипты не изучал.