27.4. ¸ÞÀÏ ÁÖ¼ÒÀÇ °ËÁõ

Zend_Validate_Email (Àº)´Â, ¸ÞÀÏ ÁÖ¼ÒÀÇ °ËÁõÀ» ½Ç½ÃÇÕ´Ï´Ù. ÀÌ ¹ß¸®µ¥ÀÌÅÍ´Â, ¿ì¼± ¸ÞÀÏ ÁÖ¼Ò¸¦ local-part @ hostname ¿¡ ºÐÇÒÇØ, ¸ÞÀÏ ÁÖ¼Ò³ª È£½ºÆ®¸íÀÇ »ç¾ç¿¡ ¸ÂÃß¾î °ËÁõÇÕ´Ï´Ù.

±âº»ÀûÀÎ »ç¿ë¹ý

±âº»ÀûÀÎ »ç¿ë¹ýÀº, ÀÌÇÏ¿Í °°ÀÌ µË´Ï´Ù.


<?php
require_once 'Zend/Validate/EmailAddress.php';
$validator = new Zend_Validate_EmailAddress();
if (
$validator->isValid($email)) {
    
//  ¸ÞÀÏ ÁÖ¼Ò´Â ¿Ã¹Ù¸¥ Çü½Ä°°½À´Ï´Ù
} else {
    
//  ºÎÁ¤ÇÑ Çü½ÄÀ̹ǷÎ, ÀÌÀ¯¸¦ Ç¥½ÃÇÕ´Ï´Ù
    
foreach ($validator->getMessages() as $message) {
        echo 
"$messagen";
    }
}

À̰ÍÀº, ¸ÞÀÏ ÁÖ¼Ò $email (À»)¸¦ °ËÁõÇØ, ½ÇÆÐÇßÀ» °æ¿ì´Â ±× ¿øÀÎÀ» ³ªÅ¸³»´Â Æí¸®ÇÑ ¿¡·¯ ¸Þ¼¼Áö¸¦ $validator->getMessages() ±×¸®°í ÃëµæÇÕ´Ï´Ù.

º¹ÀâÇÑ ·ÎÄà ÆÄÆ®

Zend_Validate_Email (Àº)´Â, ¸ÞÀÏ ÁÖ¼ÒÀÇ °ËÁõÀ» RFC2822 ¿¡ ÀǰÅÇØ ½Ç½ÃÇÕ´Ï´Ù.¿¹¸¦ µé¾î, Ÿ´çÇÑ Çü½ÄÀÇ ¸ÞÀÏ Áּҷμ­´Â bob@domain.com ,bob+jones@domain.us , "bob@jones"@domain.com ¹× "bob jones"@domain.com µîÀÌ ÀÖ½À´Ï´Ù. ÀÏÂî±â »ç¿ëµÇ°í ÀÖ¾úÁö¸¸, ÇöÀç´Â À¯È¿ÇÏ´Ù°í´Â º¸ÀÌÁö ¾Ê´Â Æ÷¸Ëµµ ÀÖ½À´Ï´Ù ( ¿¹¸¦ µé¾î, ¸ÞÀÏ ÁÖ¼Ò¿¡ °³Çà ¹®ÀÚ³ª "" (À»)¸¦ »ç¿ëÇÏ´Â µî) .

´Ù¾çÇÑ Çü½ÄÀÇ È£½ºÆ®¸íÀÇ °ËÁõ

¸ÞÀÏ ÁÖ¼ÒÀÇ È£½ºÆ®¸í ºÎºÐÀÇ °ËÁõÀº,Zend_Validate_Hostname ±×¸®°í ½Ç½ÃÇÕ´Ï´Ù.µðÆúÆ®¿¡¼­´Â,domain.com Çü½ÄÀÇ DNS È£½ºÆ®¸í¸¸ÀÌ À¯È¿°¡ µË´Ï´Ù.±×·¯³ª, IP ÁÖ¼Ò³ª ·ÎÄà ȣ½ºÆ®¸íµµ À¯È¿ÇÏ°Ô ÇÏ°í ½ÍÀº °Íµµ ÀÖ°ÚÁö¿ä. ±× °æ¿ì´Â,Zend_Validate_EmailAddress ÀÇ ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¶§¿¡ ÆÄ¶ó¹ÌÅ͸¦ °Ç³×ÁÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ·Î, ÀÎÁ¤ÇÏ°í ½ÍÀº È£½ºÆ®¸íÀÇ Çü½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº Zend_Validate_Hostname (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ. ¿¹¸¦ µé¾î DNS È£½ºÆ®¸í ¹× ·ÎÄà ȣ½ºÆ®¸íÀÇ ¾î´ÀÂÊÀ̳ª Çã°¡ÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.


<?php
require_once 'Zend/Validate/EmailAddress.php';
$validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS Zend_Validate_Hostname::ALLOW_LOCAL);
if (
$validator->isValid($email)) {
    
//  ¸ÞÀÏ ÁÖ¼Ò´Â ¿Ã¹Ù¸¥ Çü½Ä°°½À´Ï´Ù
} else {
    
//  ºÎÁ¤ÇÑ Çü½ÄÀ̹ǷÎ, ÀÌÀ¯¸¦ Ç¥½ÃÇÕ´Ï´Ù
    
foreach ($validator->getMessages() as $message) {
        echo 
"$messagen";
    }
}