- php
22 июля 2008, 21:30 более года назад
mail() в php, проверка в JavaScript
// проверим мейл на настоящесть, приметивненько ;) но быстро $normal = eregi("^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$",$mail) ? 1 : 0; if ($normal) { $message = ""; // Если хотим что бы письмо было фложеным, раскоментируем 4 строчки ниже :D //$mime_boundary = "----ssila.na.sayt/naprimer----".md5(time() ); // Случайная строка для граничного маркера //$headers .= "MIME-Version: 1.0\n"; // Версия майм (вложения) //$headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n"; // Тип вложения //$message .= "--$mime_boundary\n"; // маркируем $message .= "Content-Type: text/html; charset=UTF-8\n"; // Зададим кодировочку $message .= "Content-Transfer-Encoding: 8bit\n\n"; // это для УТФ ;) $headers .= "From: Ot kogo <pismo@net.da>\r\n"; // Укажем от кого письмо $headers .= "Bcc: pismo2@net.da\n"; // Карбон-копи, тобишь кому ещё втайне это письмо придёт $headers .= "Reply-To: otvetka@pismo.net\r\n"; // Куда пишемь ответку $headers .= "Return-Path: otvetka@pismo.net\r\n"; $headers .= "mailed-by: pismo.net\r\n"; // И скажем с какого сервера пришло письмо ;) // Вот уже и есть необходимый минимум, можно отправлять ;) @mail($mail,"subject","body",$headers); // ЗЫ: Только нужно учесть что страница может быть в другой кодировке, // и данные придут кривые, а у нас тут УТФ ;) // ЗЗЫ: iconv в помощь }А вот таким JS мы легко проверим на правильность эмейл ;) Но лучше страховатся на стороне сервера ;) Как описано выше ^
function validate(formz,mailz) { var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; var address = formz.elements[mailz].value; if(reg.test(address) == false) { alert('Не у-га-да-л :) E-mail то неправельный'); return false; } }А вот и простая формочка ;)
<form action="/" method="post" onsubmit="javascript:return validate(this,'mailz');"> <input type="text" name="mailz" value="e-mail"/> <input type="submit" name="OK" value="OK"/> </form>