<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Deerua about Coding: последние заметки с тегом &amp;laquo;email&amp;raquo;</title><link>http://deer.org.ua/keywords/email/</link><description></description><language>ru</language><generator>e2 (http://blogengine.ru/)</generator><item><title>mail() в php, проверка в JavaScript</title><guid isPermaLink="true">http://deer.org.ua/2008/07/22/1/</guid><link>http://deer.org.ua/2008/07/22/1/</link><comments>http://deer.org.ua/2008/07/22/1/comments/</comments><description>&lt;pre&gt;&lt;span class="hl-comment"&gt;// проверим мейл на настоящесть, приметивненько ;) но быстро&lt;/span&gt;&lt;span class="hl-default"&gt;
$&lt;/span&gt;&lt;span class="hl-identifier"&gt;normal&lt;/span&gt;&lt;span class="hl-default"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;eregi&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,4})$&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;,$&lt;/span&gt;&lt;span class="hl-identifier"&gt;mail&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-default"&gt; ? &lt;/span&gt;&lt;span class="hl-number"&gt;1&lt;/span&gt;&lt;span class="hl-default"&gt; : &lt;/span&gt;&lt;span class="hl-number"&gt;0&lt;/span&gt;&lt;span class="hl-default"&gt;;
&lt;/span&gt;&lt;span class="hl-reserved"&gt;if &lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;normal&lt;/span&gt;&lt;span class="hl-brackets"&gt;)	{&lt;/span&gt;&lt;span class="hl-code"&gt;
	$&lt;/span&gt;&lt;span class="hl-identifier"&gt;message&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;""&lt;/span&gt;&lt;span class="hl-code"&gt;;
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// Если хотим что бы письмо было фложеным, раскоментируем 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"; // маркируем &lt;/span&gt;&lt;span class="hl-code"&gt;
	
	$&lt;/span&gt;&lt;span class="hl-identifier"&gt;message&lt;/span&gt;&lt;span class="hl-code"&gt; .= &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;Content-Type: text/html; charset=UTF-8&lt;/span&gt;&lt;span class="hl-special"&gt;\n&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-comment"&gt;// Зададим кодировочку&lt;/span&gt;&lt;span class="hl-code"&gt;
	$&lt;/span&gt;&lt;span class="hl-identifier"&gt;message&lt;/span&gt;&lt;span class="hl-code"&gt; .= &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;Content-Transfer-Encoding: 8bit&lt;/span&gt;&lt;span class="hl-special"&gt;\n\n&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-comment"&gt;// это для УТФ ;)&lt;/span&gt;&lt;span class="hl-code"&gt;
	$&lt;/span&gt;&lt;span class="hl-identifier"&gt;headers&lt;/span&gt;&lt;span class="hl-code"&gt; .= &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;From: Ot kogo &amp;lt;pismo@net.da&amp;gt;&lt;/span&gt;&lt;span class="hl-special"&gt;\r\n&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-comment"&gt;// Укажем от кого письмо&lt;/span&gt;&lt;span class="hl-code"&gt;
	$&lt;/span&gt;&lt;span class="hl-identifier"&gt;headers&lt;/span&gt;&lt;span class="hl-code"&gt; .= &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;Bcc: pismo2@net.da&lt;/span&gt;&lt;span class="hl-special"&gt;\n&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-comment"&gt;// Карбон-копи, тобишь кому ещё втайне это письмо придёт&lt;/span&gt;&lt;span class="hl-code"&gt;
	$&lt;/span&gt;&lt;span class="hl-identifier"&gt;headers&lt;/span&gt;&lt;span class="hl-code"&gt; .= &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;Reply-To: otvetka@pismo.net&lt;/span&gt;&lt;span class="hl-special"&gt;\r\n&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-comment"&gt;// Куда пишемь ответку&lt;/span&gt;&lt;span class="hl-code"&gt;
	$&lt;/span&gt;&lt;span class="hl-identifier"&gt;headers&lt;/span&gt;&lt;span class="hl-code"&gt; .= &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;Return-Path: otvetka@pismo.net&lt;/span&gt;&lt;span class="hl-special"&gt;\r\n&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;; 
	$&lt;/span&gt;&lt;span class="hl-identifier"&gt;headers&lt;/span&gt;&lt;span class="hl-code"&gt; .= &lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;mailed-by: pismo.net&lt;/span&gt;&lt;span class="hl-special"&gt;\r\n&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;; &lt;/span&gt;&lt;span class="hl-comment"&gt;// И скажем с какого сервера пришло письмо ;)
	// Вот уже и есть необходимый минимум, можно отправлять ;)&lt;/span&gt;&lt;span class="hl-code"&gt;
	@&lt;/span&gt;&lt;span class="hl-identifier"&gt;mail&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-code"&gt;$&lt;/span&gt;&lt;span class="hl-identifier"&gt;mail&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;subject&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;body&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;,$&lt;/span&gt;&lt;span class="hl-identifier"&gt;headers&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
	
	&lt;/span&gt;&lt;span class="hl-comment"&gt;// ЗЫ: Только нужно учесть что страница может быть в другой кодировке, 
	// и данные придут кривые, а у нас тут УТФ ;)
	// ЗЗЫ: iconv в помощь
	
&lt;/span&gt;&lt;span class="hl-brackets"&gt;}&lt;/span&gt;&lt;/pre&gt; А вот таким JS мы легко проверим на правильность эмейл ;) Но лучше страховатся на стороне сервера ;) Как описано выше ^&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-reserved"&gt;function &lt;/span&gt;&lt;span class="hl-identifier"&gt;validate&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;formz&lt;/span&gt;&lt;span class="hl-code"&gt;,&lt;/span&gt;&lt;span class="hl-identifier"&gt;mailz&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
   &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;reg&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-quotes"&gt;/&lt;/span&gt;&lt;span class="hl-string"&gt;^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$&lt;/span&gt;&lt;span class="hl-quotes"&gt;/&lt;/span&gt;&lt;span class="hl-code"&gt;;
   &lt;/span&gt;&lt;span class="hl-reserved"&gt;var &lt;/span&gt;&lt;span class="hl-identifier"&gt;address&lt;/span&gt;&lt;span class="hl-code"&gt; = &lt;/span&gt;&lt;span class="hl-identifier"&gt;formz&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;elements&lt;/span&gt;&lt;span class="hl-brackets"&gt;[&lt;/span&gt;&lt;span class="hl-identifier"&gt;mailz&lt;/span&gt;&lt;span class="hl-brackets"&gt;]&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;value&lt;/span&gt;&lt;span class="hl-code"&gt;;
   &lt;/span&gt;&lt;span class="hl-reserved"&gt;if&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;reg&lt;/span&gt;&lt;span class="hl-code"&gt;.&lt;/span&gt;&lt;span class="hl-identifier"&gt;test&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-identifier"&gt;address&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt; == &lt;/span&gt;&lt;span class="hl-reserved"&gt;false&lt;/span&gt;&lt;span class="hl-brackets"&gt;) {
      &lt;/span&gt;&lt;span class="hl-identifier"&gt;alert&lt;/span&gt;&lt;span class="hl-brackets"&gt;(&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-string"&gt;Не у-га-да-л :) E-mail то неправельный&lt;/span&gt;&lt;span class="hl-quotes"&gt;'&lt;/span&gt;&lt;span class="hl-brackets"&gt;)&lt;/span&gt;&lt;span class="hl-code"&gt;;
      &lt;/span&gt;&lt;span class="hl-reserved"&gt;return false&lt;/span&gt;&lt;span class="hl-code"&gt;;
   &lt;/span&gt;&lt;span class="hl-brackets"&gt;}
}&lt;/span&gt;&lt;/pre&gt; А вот и простая формочка ;)&lt;br /&gt;&lt;pre&gt;&lt;span class="hl-brackets"&gt;&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;form action&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;/&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;method&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;post&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;onsubmit&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;javascript:return validate(this,'mailz');&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
	&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;input type&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;text&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;name&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;mailz&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;value&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;e-mail&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
	&amp;lt;&lt;/span&gt;&lt;span class="hl-identifier"&gt;input type&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;submit&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;name&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;OK&lt;/span&gt;&lt;span class="hl-quotes"&gt;" &lt;/span&gt;&lt;span class="hl-identifier"&gt;value&lt;/span&gt;&lt;span class="hl-code"&gt;=&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-string"&gt;OK&lt;/span&gt;&lt;span class="hl-quotes"&gt;"&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span class="hl-code"&gt;/&lt;/span&gt;&lt;span class="hl-identifier"&gt;form&lt;/span&gt;&lt;span class="hl-brackets"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;hr /&gt;&lt;a href="http://deer.org.ua/2008/07/22/1/comments/"&gt;Комментарии&lt;/a&gt; к заметке&lt;br /&gt;&lt;br /&gt;Теги:&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/shpargalka/"&gt;шпаргалка&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/php/"&gt;php&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/php/mail/"&gt;mail&lt;/a&gt;&lt;br /&gt;&lt;a href="http://deer.org.ua/tags/javascript/"&gt;javascript&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/valid/"&gt;valid&lt;/a&gt; &amp;gt; &lt;a href="http://deer.org.ua/tags/javascript/valid/email/"&gt;email&lt;/a&gt;</description><pubDate>Tue, 22 Jul 2008 21:30:14 +0200</pubDate></item></channel></rss>