Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

27.12.2008, 17:44
|
|
Banned
Регистрация: 02.12.2005
Сообщений: 63
Провел на форуме: 243503
Репутация:
-15
|
|
Кто поможет?
Помогите! Нужен пхп для отправки писем в html с вложением. Киньте кто нить скрипт в личку или сюда. Заранее благодарин.
|
|
|

27.12.2008, 20:48
|
|
Banned
Регистрация: 02.12.2005
Сообщений: 63
Провел на форуме: 243503
Репутация:
-15
|
|
Ну может кто поможет? Что сюда запихать что бы можно было присоединять файлы или картинки? Желательно, что бы можно было присоединять много файлов, а не один.
PHP код:
<?
if (@function_exists("mail"))
{
include "config.php";
?>
<?
if (isset($_GET['send']) and isset($_POST['sform']))
{
$to = trim($_POST['to']);
if ($to != "")
{
$from = $_POST['from'];
$theme = $_POST['theme'];
$content = $_POST['content'];
$to = ereg_replace (",([^ ]{1})", ", \\1", $to);
$theme = $theme==""?"No subject":$theme;
if (@$_POST['cyr_encode'] == "yes")
$theme = "=?koi8-r?B?".base64_encode(convert_cyr_string($theme, "w","k"))."?=";
if (@$_POST['html'] == "yes")
$ctype = "html";
else
$ctype = "plane";
$header = "Content-Type: text/$ctype; charset=\"$charset\" \r\n";
$header .= "From: $from \r\n";
$header .= "X-Mailer: PHP-Mailer by s1ayer[www.spg.arbse.net] \r\n";
if (@$_POST['hide_addr'] == "yes")
{
$error = 0;
$to_array = explode (", ", $to);
for ($i=0; $i<count($to_array); $i++)
{
if ($to_array == "")
continue;
if (!@mail($to_array[$i], $theme, $content, $header))
$error++;
}
if ($error == 0)
print "Отправка письма завершилась без ошибок<br><br>";
else
print "Невозможно отправить письмо!<br><br>";
}
else
{
if (@mail($to, $theme, $content, $header))
print "Отправка письма завершилась без ошибок<br><br>";
else
print "Невозможно отправить письмо!<br><br>";
}
}
else
print "Вы не заполнили поле 'Кому' !<br><br>";
}
?>
<SCRIPT LANGUAGE="JavaScript">
<!--
function hide_button (){
document.getElementById('button').style.display = "none";
document.getElementById('processing').style.display = "block";
}
//-->
</SCRIPT>
<form action="?send" method="post">
<table>
<tr><td>Кому:</td><td><input type="text" name="to" value="<?=$default_to?>" size=40></td></tr>
<tr><td>От кого:</td><td><input type="text" name="from" value="<?=$default_from?>" size=40></td></tr>
<tr><td>Тема:</td><td><input type="text" name="theme" size=40></td></tr>
<tr><td valign="top">Содержание:</td><td><textarea name="content" rows=9 cols=50><?=$default_sign?></textarea></td></tr>
<tr><td colspan=2>
Опции:<br>
<ul>
<li>отправить в HTML ? <input type="checkbox" name="html" value="yes"></li>
<li>кодировать заголовок письма в koi8 ? <input type="checkbox" name="cyr_encode" value="yes" checked></li>
<li>скрыть других адресатов ? <input type="checkbox" name="hide_addr" value="yes" checked></li>
</ul>
</td>
</tr>
<tr><td colspan=2 align="right"><input type="hidden" name="sform" value="yes"><input type="submit" value="Отправить" id=button style="display: block" onClick="hide_button()"><button id="processing" style="display: none" disabled>Пожалуйста, ждите...</button></td></tr>
</table>
</form>
<?
}
else
print "Извините, сервер не поддерживает функции <tt>mail ()</tt>";
?>
PHP код:
<?
$charset = "windows-1251"; //кодировка письма
$default_to = "slayer <admin_progamers@rambler.ru>, somebody <mail@server.com>"; //адресаты по умолчанию
$default_from = "s1ayer <admin_progamers@rambler.ru>"; //отправитель по умолчанию
$default_sign = "\r\n---\r\nBest regards, admin (http://www.spg.arbse.net)"; //подпись в теле письма
?>
|
|
|

27.12.2008, 21:38
|
|
Познавший АНТИЧАТ
Регистрация: 07.01.2007
Сообщений: 1,263
Провел на форуме: 3326855
Репутация:
702
|
|
Есть класс на пхп для этого
|
|
|

27.12.2008, 21:51
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
http://www.php-mail.ru/?id=4
|
|
|

27.12.2008, 22:22
|
|
Banned
Регистрация: 02.12.2005
Сообщений: 63
Провел на форуме: 243503
Репутация:
-15
|
|
Залил вот так. На добавление файла кнопка есть, но файл не пересылает на нужный мыл. И мне нужно присоеденить несколько файлов. Как можно это зделать и что бы все работало.
PHP код:
<?
if (@function_exists("mail"))
{
include "config.php";
?>
<?
if (isset($_GET['send']) and isset($_POST['sform']))
{
$to = trim($_POST['to']);
if ($to != "")
{
$from = $_POST['from'];
$theme = $_POST['theme'];
$content = $_POST['content'];
$to = ereg_replace (",([^ ]{1})", ", \\1", $to);
$theme = $theme==""?"No subject":$theme;
// если был файл, то прикрепляем его к письму
if(isset($_FILES['attachfile'])) {
if($_FILES['attachfile']['error'] == 0){
$mail->AddAttachment($_FILES['attachfile']['tmp_name'], $_FILES['attachfile']['name']);
}
}
// если было изображение, то прикрепляем его в виде картинки к телу письма.
if(isset($_FILES['attachimage'])) {
if($_FILES['attachimage']['error'] == 0){
if (!$mail->AddEmbeddedImage($_FILES['attachimage']['tmp_name'], 'my-attach', 'image.gif', 'base64', $_FILES['attachimage']['type']))
die ($mail->ErrorInfo);
$mess .= 'А вот и наша картинка:<br /><img src="cid:image.gif" border=0><br />я показал как ее прикреплять, соответственно Вам осталось вставить ее в нужное место Вашего письма ;-) ';
}
}
$mail->Body = $mess;
if (@$_POST['cyr_encode'] == "yes")
$theme = "=?koi8-r?B?".base64_encode(convert_cyr_string($theme, "w","k"))."?=";
if (@$_POST['html'] == "yes")
$ctype = "html";
else
$ctype = "plane";
$header = "Content-Type: text/$ctype; charset=\"$charset\" \r\n";
$header .= "From: $from \r\n";
$header .= "X-Mailer: PHP-Mailer by s1ayer[www.spg.arbse.net] \r\n";
if (@$_POST['hide_addr'] == "yes")
{
$error = 0;
$to_array = explode (", ", $to);
for ($i=0; $i<count($to_array); $i++)
{
if ($to_array == "")
continue;
if (!@mail($to_array[$i], $theme, $content, $header))
$error++;
}
if ($error == 0)
print "Отправка письма завершилась без ошибок<br><br>";
else
print "Невозможно отправить письмо!<br><br>";
}
else
{
if (@mail($to, $theme, $content, $header))
print "Отправка письма завершилась без ошибок<br><br>";
else
print "Невозможно отправить письмо!<br><br>";
}
}
else
print "Вы не заполнили поле 'Кому' !<br><br>";
}
?>
<SCRIPT LANGUAGE="JavaScript">
<!--
function hide_button (){
document.getElementById('button').style.display = "none";
document.getElementById('processing').style.display = "block";
}
//-->
</SCRIPT>
<form action="?send" method="post">
<table>
<tr><td>Кому:</td><td><input type="text" name="to" value="<?=$default_to?>" size=40></td></tr>
<tr><td>От кого:</td><td><input type="text" name="from" value="<?=$default_from?>" size=40></td></tr>
<tr><td>Тема:</td><td><input type="text" name="theme" size=40></td></tr>
<tr><td valign="top">Содержание:</td><td><textarea name="content" rows=9 cols=50><?=$default_sign?></textarea></td></tr>
<tr><td colspan=2>
Опции:<br>
<ul>
<br />Файл<br />
<input name="attachfile" type="file" size="28">
<br />Изображение<br />
<li>отправить в HTML ? <input type="checkbox" name="html" value="yes"></li>
<li>кодировать заголовок письма в koi8 ? <input type="checkbox" name="cyr_encode" value="yes" checked></li>
<li>скрыть других адресатов ? <input type="checkbox" name="hide_addr" value="yes" checked></li>
</ul>
</td>
</tr>
<tr><td colspan=2 align="right"><input type="hidden" name="sform" value="yes"><input type="submit" value="Отправить" id=button style="display: block" onClick="hide_button()"><button id="processing" style="display: none" disabled>Пожалуйста, ждите...</button></td></tr>
</table>
</form>
<?
}
else
print "Извините, сервер не поддерживает функции <tt>mail ()</tt>";
?>
|
|
|

27.12.2008, 22:57
|
|
Banned
Регистрация: 06.01.2008
Сообщений: 413
Провел на форуме: 1301036
Репутация:
1334
|
|
saiman
Попробуй так:
Для начала, чтобы картинки корректно отображались на хостинге. Добавь файл
.htaccess в папку со скриптом такого содержания:
Код:
<IfModule mod_charset.c>
CharsetRecodeMultipartForms off
</IfModule>
Далее сам скрипт
PHP код:
<?php
function show_form()
{
?>
<form action="" method=post>
<div align="center">
<br />Имя*<br />
<input type="text" name="name" size="40">
<br />Контактный телефон<br />
<input type="text" name="tel" size="40">
<br />Контактный email*<br />
<input type="text" name="email" size="40">
<br />Teма<br />
<input type="text" name="title" size="40">
<br />Сообщение*<br />
<textarea rows="10" name="mess" cols="30"></textarea>
<br /><input type="submit" value="Отправить" name="submit">
</div>
</form>
* Помечены поля, которые нужно заполнить
<?
}
function complete_mail() {
// $_POST['title'] содержит данные из поля "Тема", trim() - убираем все лишние пробелы и переносы строк, htmlspecialchars() - преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) - урезаем текст до 1000 символов. Для переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
$_POST['title'] = substr(htmlspecialchars(trim($_POST['title'])), 0, 1000);
$_POST['mess'] = substr(htmlspecialchars(trim($_POST['mess'])), 0, 1000000);
$_POST['name'] = substr(htmlspecialchars(trim($_POST['name'])), 0, 30);
$_POST['tel'] = substr(htmlspecialchars(trim($_POST['tel'])), 0, 30);
$_POST['email'] = substr(htmlspecialchars(trim($_POST['email'])), 0, 50);
// если не заполнено поле "Имя" - показываем ошибку 0
if (empty($_POST['name']))
output_err(0);
// если неправильно заполнено поле email - показываем ошибку 1
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email']))
output_err(1);
// если не заполнено поле "Сообщение" - показываем ошибку 2
if(empty($_POST['mess']))
output_err(2);
// создаем наше сообщение
$mess = '
Имя отправителя:'.$_POST['name'].'
Контактный телефон:'.$_POST['tel'].'
Контактный email:'.$_POST['email'].'
'.$_POST['mess'];
// $to - кому отправляем
$to = 'test@test.ru';
// $from - от кого
$from='test@test.ru';
mail($to, $_POST['title'], $mess, "From:".$from);
echo 'Спасибо! Ваше письмо отправлено.';
}
function output_err($num)
{
$err[0] = 'ОШИБКА! Не введено имя.';
$err[1] = 'ОШИБКА! Неверно введен e-mail.';
$err[2] = 'ОШИБКА! Не введено сообщение.';
echo '<p>'.$err[$num].'</p>';
show_form();
exit();
}
if (!empty($_POST['submit'])) complete_mail();
else show_form();
?>
|
|
|

28.12.2008, 00:09
|
|
Banned
Регистрация: 02.12.2005
Сообщений: 63
Провел на форуме: 243503
Репутация:
-15
|
|
Сообщение от cash$$$
saiman
Попробуй так:
Для начала, чтобы картинки корректно отображались на хостинге. Добавь файл
.htaccess в папку со скриптом такого содержания:
В браузере пишет что всплывающее окно заблокировано. Мне нужно переделать под приклеевание файлов к письму именно мой скрипт указаный выше. Может кто поможет?
|
|
|

28.12.2008, 00:13
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Блин, не тупи, разреши javascript в браузере. А вообще сам подумай, вот у тебя даже и то блокиратор окон стоит - вывод, javascript нах, всё делаей через php, так правильней
|
|
|

28.12.2008, 13:59
|
|
Banned
Регистрация: 02.12.2005
Сообщений: 63
Провел на форуме: 243503
Репутация:
-15
|
|
Ну может кто подскажет, что нужно изменить в моем первом скрипте дабы все похало. Какой класс куда вставить? Я был бы очень признателен тому человеку который помог бы!
|
|
|

28.12.2008, 14:33
|
|
Banned
Регистрация: 02.12.2005
Сообщений: 63
Провел на форуме: 243503
Репутация:
-15
|
|
Сообщение от cash$$$
saiman
Далее сам скрипт
А этот скрипт разве без ошибок написан?!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|