Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Отправка файлов на Email (https://forum.antichat.xyz/showthread.php?t=56438)

Ali_MiX 23.12.2007 11:08

Отправка файлов на Email
 
доброе время суток
у меня такая штука нужен скрипт который отправляет файлы на mail что то типа такого http://www.tcompressor.ru/Files-by-Email/
у меня когда то что то такое было потом удалил из за ненадобности.

DIAgen 23.12.2007 11:17

Простая отправка письма с атачментов, в нэте есть тоговые решения и классы для все этого, ну если ты хочешь что бы у тебя так же было как на http://www.tcompressor.ru/Files-by-Email/ то тебе прийдется выложить $ что бы тебе его написали:)

Ali_MiX 23.12.2007 11:31

у меня был простой, пишешь файл и жмешь кнопку отправить и всё проверяешь свою почту

Isis 25.12.2007 03:35

Код HTML:

<table width=1 border=0>

<form action='mail.php' enctype='multipart/form-data' method='post'>



<tr><td width='50%'>To:</td><td align=right><input type=text name=mail_to maxlength=32></td></tr>

<tr><td width=50%>Subject:</td><td align=right><input type=text name=mail_subject maxlength=64></td></tr>

<tr><td colspan=2>Сообщение:<br><textarea cols=50 rows=8 name=mail_msg></textarea></td>

<tr><td width=50%>Photo:</td><td align=right><input type=file name=mail_file maxlength=64></td></tr>

</tr><tr><td colspan=2><input type=submit value='Отправить'></td></tr>

</form>

</table> >

PHP код:

<?php
if(empty($_POST['mail_to'])) exit("Введите адрес получателя"); 

  
// проверяем правильности заполнения с помощью регулярного выражения 

  
if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i"$_POST['mail_to'])) exit("Введите адрес в виде somebody@server.com"); 

  
$picture ""

  
// Если поле выбора вложения не пустое - закачиваем его на сервер 

  
if (!empty($_FILES['mail_file']['tmp_name'])) 

  { 

    
// Закачиваем файл 

    
$path $_FILES['mail_file']['name']; 

    if (
copy($_FILES['mail_file']['tmp_name'], $path)) $picture $path

  } 

  
$thm $_POST['mail_subject'];

  
$msg $_POST['mail_msg'];

  
$mail_to $_POST['mail_to'];

  
// Отправляем почтовое сообщение 

  
if(empty($picture)) mail($mail_to$thm$msg); 

  else 
send_mail($mail_to$thm$msg$picture); 

  
// Вспомогательная функция для отправки почтового сообщения с вложением 

  
function send_mail($mail_to$thema$html$path)   

  { if (
$path) {  

    
$fp fopen($path,"rb");   

    if (!
$fp)   

    { print 
"Cannot open file";   

      exit();   

    }   

    
$file fread($fpfilesize($path));   

    
fclose($fp);   

    }  

    
$name "file.ext"// в этой переменной надо сформировать имя файла (без всякого пути)  

    
$EOL "\r\n"// ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём

    
$boundary     "--".md5(uniqid(time()));  // любая строка, которой не будет ниже в потоке данных.  

    
$headers    "MIME-Version: 1.0;$EOL";   

    
$headers   .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";  

    
$headers   .= "From: address@server.com";  

      

    
$multipart  "--$boundary$EOL";   

    
$multipart .= "Content-Type: text/html; charset=windows-1253$EOL";   

    
$multipart .= "Content-Transfer-Encoding: base64$EOL";   

    
$multipart .= $EOL// раздел между заголовками и телом html-части 

    
$multipart .= chunk_split(base64_encode($html));   



    
$multipart .=  "$EOL--$boundary$EOL";   

    
$multipart .= "Content-Type: application/octet-stream; name=\"$name\"$EOL";   

    
$multipart .= "Content-Transfer-Encoding: base64$EOL";   

    
$multipart .= "Content-Disposition: attachment; filename=\"$name\"$EOL";   

    
$multipart .= $EOL// раздел между заголовками и телом прикрепленного файла 

    
$multipart .= chunk_split(base64_encode($file));   



    
$multipart .= "$EOL--$boundary--$EOL";   

      

        if(!
mail($mail_to$thema$multipart$headers))   

         {return 
False;           //если не письмо не отправлено

      
}  

    else { 
//// если письмо отправлено

    
return True;  

    }  

  exit;  

  }

?>


Isis 25.12.2007 03:46

http://captcha.ru/breakings/

Ali_MiX 25.12.2007 11:55

Спасибо Isis
Но тут немного не то, там сам скрипт отправляет файл на почту а не с моего момпа


Время: 07:25