- Как отправить письмо с аттачем на PHP (php base64 mail), Роман Теннер, 09:27 , 09-Сен-04 (1)
- Как отправить письмо с аттачем на PHP (php base64 mail), Андрей, 11:42 , 21-Сен-04 (2)
- Как отправить письмо с аттачем на PHP (php base64 mail), Тема, 09:48 , 25-Окт-04 (3)
- Как отправить письмо с аттачем на PHP (php base64 mail), bob, 12:57 , 22-Дек-04 (5)
- Как отправить письмо с аттачем на PHP (php base64 mail), PsinA, 00:38 , 24-Фев-05 (6)
- Как отправить письмо с аттачем на PHP (php base64 mail), JeWeL, 15:40 , 20-Июн-05 (7)
- Как отправить письмо с аттачем на PHP (php base64 mail), Michael Yakovis, 21:39 , 30-Янв-06 (8)
- Как отправить письмо с аттачем на PHP (php base64 mail), gomez.ru, 14:21 , 11-Авг-06 (10)
Я тут немного доработал этот кодик: <? //Функция проверки переменной function html_filter($str) { $result = HTMLSpecialChars($str); return $result;}
//Функция проверки e-mail function isEmail($email){ if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]+$", $email)){return TRUE;}else{return FALSE;}} //Функция отправки письма с аттачем function XMail($from, $to, $subj, $text, $filename, $file) { $f = fopen($file,"rb"); $un = strtoupper(uniqid(time())); $head = "From: $from\n"; $head .= "To: $to\n"; $head .= "Subject: $subj\n"; $head .= "X-Mailer: PHPMail Tool\n"; $head .= "Reply-To: $from\n"; $head .= "Mime-Version: 1.0\n"; $head .= "Content-Type:multipart/mixed;"; $head .= "boundary=\"----------".$un."\"\n\n"; $zag = "------------".$un."\nContent-Type:text/html;\n"; $zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n"; $zag .= "------------".$un."\n"; $zag .= "Content-Type: application/octet-stream;"; $zag .= "name=\"".basename($filename)."\"\n"; $zag .= "Content-Transfer-Encoding:base64\n"; $zag .= "Content-Disposition:attachment;"; $zag .= "filename=\"".basename($filename)."\"\n\n"; $zag .= chunk_split(base64_encode(fread($f,filesize($file))))."\n"; if (!@mail("$to", "$subj", $zag, $head)) return 0; else return 1; } //Функция отправки письма без аттача function EMail($from, $to, $subj, $text) { $un = strtoupper(uniqid(time())); $head = "From: $from\n"; $head .= "To: $to\n"; $head .= "Subject: $subj\n"; $head .= "X-Mailer: PHPMail Tool\n"; $head .= "Reply-To: $from\n"; $head .= "Mime-Version: 1.0\n"; $head .= "Content-Type:multipart/mixed;"; $head .= "boundary=\"----------".$un."\"\n\n"; $zag = "------------".$un."\nContent-Type:text/html;\n"; $zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n"; $zag .= "------------".$un."\n"; if (!@mail("$to", "$subj", $zag, $head)) return 0; else return 1; } //Функция отправки письма без аттача //Получаем данные из формы if(isset($submit)): //Проверяем полученные из формы данные $from = trim(html_filter($from)); $to = trim(html_filter($to)); $subj = trim(html_filter($subj)); $text = trim(html_filter($text)); $text = str_replace("\n", "<br>\n", $text); $filename = trim(html_filter($file_name)); //Если прикреплен файл if($filename!="" and $file_size>0): if(XMail($from, $to, $subj, $text, $filename, $file)==1){header("Location:?send=ok");} endif; //Если Не прикреплен файл if($filename=="" or $file_size==0): if(EMail($from, $to, $subj, $text)==1){header("Location:?send=ok");} endif; endif; ?> <html> <head> <title>Отправка письма с аттачем и без</title> </head> <body> <?if($send=="ok"):?><font color="green">Сообщение отправлено</font><br><br><?endif;?> <form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data"> From: <input type="text" name="from"><br> To: <input type="text" name="to"><br> Subject: <input type="text" name="subj"><br> Text:<br><textarea cols="20" rows="5" name="text"></textarea><br> File: <input type="file" name="file"><br> <input type="submit" name="submit" value="Отправить"> </form> </body> </html> - Как отправить письмо с аттачем на PHP (php base64 mail), gomez.ru, 14:53 , 11-Авг-06 (11)
Тоже самое, но с проверкой e-mail-ов:<? //Функция проверки переменной function html_filter($str) { $result = HTMLSpecialChars($str); return $result;} //Функция проверки e-mail function isEmail($email){ if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]+$", $email)){return TRUE;}else{return FALSE;}} //Функция отправки письма с аттачем function XMail($from, $to, $subj, $text, $filename, $file) { $text = str_replace("\n", "<br>\n", $text); $f = fopen($file,"rb"); $un = strtoupper(uniqid(time())); $head = "From: $from\n"; $head .= "To: $to\n"; $head .= "Subject: $subj\n"; $head .= "X-Mailer: PHPMail Tool\n"; $head .= "Reply-To: $from\n"; $head .= "Mime-Version: 1.0\n"; $head .= "Content-Type:multipart/mixed;"; $head .= "boundary=\"----------".$un."\"\n\n"; $zag = "------------".$un."\nContent-Type:text/html;\n"; $zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n"; $zag .= "------------".$un."\n"; $zag .= "Content-Type: application/octet-stream;"; $zag .= "name=\"".basename($filename)."\"\n"; $zag .= "Content-Transfer-Encoding:base64\n"; $zag .= "Content-Disposition:attachment;"; $zag .= "filename=\"".basename($filename)."\"\n\n"; $zag .= chunk_split(base64_encode(fread($f,filesize($file))))."\n"; if (!@mail("$to", "$subj", $zag, $head)) return 0; else return 1; } //Функция отправки письма без аттача function EMail($from, $to, $subj, $text) { $text = str_replace("\n", "<br>\n", $text); $un = strtoupper(uniqid(time())); $head = "From: $from\n"; $head .= "To: $to\n"; $head .= "Subject: $subj\n"; $head .= "X-Mailer: PHPMail Tool\n"; $head .= "Reply-To: $from\n"; $head .= "Mime-Version: 1.0\n"; $head .= "Content-Type:multipart/mixed;"; $head .= "boundary=\"----------".$un."\"\n\n"; $zag = "------------".$un."\nContent-Type:text/html;\n"; $zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n"; $zag .= "------------".$un."\n"; if (!@mail("$to", "$subj", $zag, $head)) return 0; else return 1; } //Получаем данные из формы if(isset($submit)): //Проверяем полученные из формы данные $from = trim(html_filter($from)); $to = trim(html_filter($to)); $subj = trim(html_filter($subj)); $text = trim(html_filter($text)); $filename = trim(html_filter($file_name)); //Проверяем e-mail-ы if(isEmail($from)==false){$from_error=1;} if(isEmail($to)==false){$to_error=1;} if($from_error!=1 and $to_error!=1): //Если прикреплен файл if($filename!="" and $file_size>0): if(XMail($from, $to, $subj, $text, $filename, $file)==1){header("Location:?send=ok");} endif; //Если Не прикреплен файл if($filename=="" or $file_size==0): if(EMail($from, $to, $subj, $text)==1){header("Location:?send=ok");} endif; endif; endif; ?> <html> <head> <meta http-equiv="Content-Language" content="ru"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Отправка письма с аттачем и без</title> </head> <body> <?//Печатаем ошибки if(isset($submit)): if($from_error==1):?> <font color="red">E-mail в поле From введен неправильно!</font><br> <?endif;?> <?if($to_error==1):?> <font color="red">E-mail в поле To введен неправильно!</font><br> <?endif;?> <?endif;?> <?if($send=="ok"):?><font color="green">Сообщение отправлено</font><br><br><?endif;?> <form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data"> From:<br> <input type="text" name="from" value="<?=$from?>"><br> To:<br> <input type="text" name="to" value="<?=$to?>"><br> Subject:<br> <input type="text" name="subj" value="<?=$subj?>"><br> Text:<br><textarea cols="40" rows="10" name="text"><?=$text?></textarea><br> File:<br> <input type="file" name="file"><br> <input type="submit" name="submit" value="Отправить"> </form> </body> </html> </body> </html> - Как отправить письмо с аттачем на PHP (php base64 mail), gomez.ru, 15:15 , 11-Авг-06 (12)
Кстати, как налету переформатировать текст из $text в html и сразу прикрепить его к файлу? - Как отправить письмо с аттачем на PHP (php base64 mail), Dmitry, 16:07 , 12-Июн-07 (14)
- Тематический каталог: Как отправить письмо с аттачем на PHP ..., Razer, 00:37 , 20-Окт-07 (15)
- Как отправить письмо с аттачем на PHP (php base64 mail), Антон, 00:37 , 30-Окт-07 (16)
- Как отправить письмо с аттачем на PHP (php base64 mail), anchar, 12:27 , 14-Май-08 (17)
- Как отправить письмо с аттачем на PHP (php base64 mail), Grach, 11:20 , 02-Фев-09 (18)
- йЮЙ НРОПЮБХРЭ ОХЯЭЛН Я ЮРРЮВЕЛ МЮ PHP (php base64 mail), vedemir, 11:34 , 24-Июн-09 (19)
- arigato, vedemir, 11:39 , 24-Июн-09 (20)
- п п╟п╨ п╬я┌п©я─п╟п╡п╦я┌я▄ п©п╦я│я▄п╪п╬ я│ п╟я┌я┌п╟я┤п╣п╪ п╫п╟ PHP (php base64 mail), mama, 23:23 , 27-Июн-09 (21)
- Как отправить письмо с аттачем на PHP (php base64 mail), Витос, 20:09 , 05-Фев-10 (22)
- Как отправить письмо с аттачем на PHP (php base64 mail), Гриша, 23:56 , 11-Апр-10 (23)
- Как отправить письмо с аттачем на PHP (php base64 mail), gunner, 20:59 , 11-Май-10 (24)
- Как отправить письмо с аттачем на PHP (php base64 mail), Just XXX, 15:05 , 03-Апр-11 (26)
- Как отправить письмо с аттачем на PHP (php base64 mail), Чапай, 18:11 , 24-Сен-11 (27)
- Как отправить письмо с аттачем на PHP (php base64 mail), Андрей, 20:52 , 16-Янв-12 (28)
- Как отправить письмо с аттачем на PHP (php base64 mail), tongeren, 13:30 , 21-Ноя-12 (29)
- Как отправить письмо с аттачем на PHP (php base64 mail), tongeren, 13:32 , 21-Ноя-12 (30)
- Как отправить письмо с аттачем на PHP (php base64 mail), anonfghjk, 01:25 , 28-Дек-12 (31)
|