[MANUAL] English:
[zend.git] / documentation / manual / pl / module_specs / Zend_Validate-EmailAddress.xml
blob21f66f3055a54e1e5cb6efa1f7db3e2e81bf4a9b
1 <sect2 id="zend.validate.set.email_address">
3     <title>EmailAddress</title>
5     <para>
6         Klasa <code>Zend_Validate_EmailAddress</code> pozwala ci na
7         przeprowadzenie weryfikacji adresu email. Weryfikator wpierw dzieli adres
8         email na część lokalną oraz na nazwę serwera, a następnie próbuje
9         sprawdzić je w oparciu o znane specyfikacje dla adresów email oraz
10         adresów serwerów.
11     </para>
13     <para>
14         <emphasis role="strong">Podstawowe użycie</emphasis>
15     </para>
17     <para>
18         Poniżej podstawowy przykład użycia:
20         <programlisting role="php"><![CDATA[
21 $validator = new Zend_Validate_EmailAddress();
22 if ($validator->isValid($email)) {
23     // adres email wygląda na prawidłowy
24 } else {
25     // adres email jest nieprawidłowy; wyświetl powody
26     foreach ($validator->getMessages() as $message) {
27         echo "$message\n";
28     }
30 ]]>
31         </programlisting>
33         Sprawdzi to adres email <code>$email</code> i w przypadku niepowodzenia
34         wypełni <code>$validator->getMessages()</code> użytecznymi informacjami
35         informującymi o błędach.
36     </para>
39     <para>
40         <emphasis role="strong">Części adresu email</emphasis>
41     </para>
43     <para>
44         <code>Zend_Validate_EmailAddress</code> dopasuje każdy prawidłowy adres email zgodny ze
45         specyfikacją RFC2822.
46         Na przykład, poprawnymi adresami będą <code>bob@domain.com</code>,
47         <code>bob+jones@domain.us</code>, <code>"bob@jones"@domain.com</code>
48         oraz <code>"bob jones"@domain.com</code>
49     </para>
51     <para>
52         Niektóre przestarzałe formaty adresów email nie są obecnie weryfikowane
53         (np. zawierające znak powrotu karetki, albo znak "\" w adresie email).
54     </para>
56     <para>
57         <emphasis role="strong">Weryfikacja dla różnych typów adresów serwerów</emphasis>
58     </para>
60     <para>
61         Część adresu email zawierająca adres serwera jest weryfikowana za pomocą
62         <link linkend="zend.validate.set.hostname"><code>Zend_Validate_Hostname</code></link>.
63         Domyślnie akceptowane są jedynie adresy DNS w stylu <code>domain.com</code>,
64         ale jeśli chcesz, to możesz włączyć akceptowanie także adresów IP oraz
65         adresów lokalnych.
66     </para>
68     <para>
69         Aby to zrobić, musisz utworzyć instancję <code>Zend_Validate_EmailAddress</code>
70         przekazując parametr określający typ adresów jakie chcesz akceptować.
71         Więcej szczegółów znajdziesz w <code>Zend_Validate_Hostname</code>,
72         jednak poniżej możesz zobaczyć przykład akceptowania zarówno adresów DNS
73         jak i adresów lokalnych:
75         <programlisting role="php"><![CDATA[
76 $validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS | Zend_Validate_Hostname::ALLOW_LOCAL);
77 if ($validator->isValid($email)) {
78     // adres email wygląda na prawidłowy
79 } else {
80     // adres email jest nieprawidłowy; wyświetl powody
81     foreach ($validator->getMessages() as $message) {
82         echo "$message\n";
83     }
85 ]]>
86         </programlisting>
87     </para>
89     <para>
90         <emphasis role="strong">Checking if the hostname actually accepts email</emphasis>
91     </para>
93     <para>
94         Just because an email address is in the correct format, it doesn't necessarily mean that
95         email address actually exists. To help solve this problem, you can use MX validation to
96         check whether an MX (email) entry exists in the DNS record for the email's hostname.
97         This tells you that the hostname accepts email, but doesn't tell you the exact email
98         address itself is valid.
99     </para>
101     <para>
102         MX checking is not enabled by default and at this time is only supported by UNIX platforms.
103         To enable MX checking you can pass a second parameter to the <code>Zend_Validate_EmailAddress</code>
104         constructor.
106         <programlisting role="php"><![CDATA[
107 $validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS, true);
109         </programlisting>
111         Alternatively you can either pass <code>true</code> or <code>false</code> to
112         <code>$validator->setValidateMx()</code> to enable or disable MX validation.
113     </para>
115     <para>
116         By enabling this setting network functions will be used to check for the presence of an
117         MX record on the hostname of the email address you wish to validate. Please be aware
118         this will likely slow your script down.
119     </para>
121     <para>
122         <emphasis role="strong">Validating International Domains Names</emphasis>
123     </para>
125     <para>
126         <code>Zend_Validate_EmailAddress</code> will also match international characters that exist in some domains.
127         This is known as International Domain Name (IDN) support. This is enabled by default, though
128         you can disable this by changing the setting via the internal <code>Zend_Validate_Hostname</code> object
129         that exists within <code>Zend_Validate_EmailAddress</code>.
131     <programlisting role="php"><![CDATA[
132 $validator->hostnameValidator->setValidateIdn(false);
134     </programlisting>
136         Więcej informacji na temat użycia metody <code>setValidateIdn()</code>
137         znajduje się w dokumentacji <code>Zend_Validate_Hostname</code>.
138     </para>
140     <para>
141         Please note IDNs are only validated if you allow DNS hostnames to be validated.
142     </para>
144     <para>
145         <emphasis role="strong">Validating Top Level Domains</emphasis>
146     </para>
148     <para>
149         By default a hostname will be checked against a list of known TLDs. This is enabled by
150         default, though you can disable this by changing the setting via the internal
151         <code>Zend_Validate_Hostname</code> object that exists within <code>Zend_Validate_EmailAddress</code>.
153     <programlisting role="php"><![CDATA[
154 $validator->hostnameValidator->setValidateTld(false);
156     </programlisting>
158         Więcej informacji na temat użycia metody <code>setValidateTld()</code>
159         znajduje się w dokumentacji Zend_Validate_Hostname.
160     </para>
162     <para>
163         Please note TLDs are only validated if you allow DNS hostnames to be validated.
164     </para>
166 </sect2>