Stregor
2013-10-29 12:13:22 UTC
Cześć.
Stoję przed problemem napisania klasy weryfikującej adres/adresy
e-mail.
Używam Indy 10. Metodyka weryfikacji jest następująca:
1. sprawdzam istnienie "@", rozdzielam adres na użytkownika i domenę
2. za pomocą TIdDNSResolver.Resolve(domena) pytam jakiś serwer DNS o
rekordy MX dla danej domeny (ustawiam QueryType na qtMX)
3. dla każdego znalezionego rekordu MX, za pomocą TIdSMTP robię:
a) Connect
b) wysyłam komendę Hello
c) wysyłam komendę Rset
d) wysyłam komendę Mail from:
e) wysyłam komendę RCPT to:
Na przykład dla home.pl proces się sprawdza. W pkt. 2) jako
TMXRecord.ExchangeServer otrzymuję "post.pl". Ten adres, Przypisany do
Hosta klasy TIdSMTP powoduje, że TIdSMTP.Connect się powodzi i serwer
pocztowy "gada ze mną".
Dla google otrzymuję pięć rekordów - jeden postaci
gmail-smtp-in.l.google.com i cztery z przedrostkami alt1. - alt4. Żaden
ze mną nie chce gadać, na TIdSMTP.Connect otrzymuję Socket Error # 10060
- Connection timed out.
Dla Interii (jeden rekord MX - mx.interia.pl) i Onetu
(mx.poczta.onet.pl) to samo - timeout.
Próbuję na portach 25, 587 i nawet na 465, ustawiając AuthType na
satNone, satDefault.
Adresy rekordów MX są dobre - wnoszę po logu ze stronki
http://www.dnssniffer.com/en/networktools/emailtest/tu-adres-email
jako Mailserwer podaje te same rekordy MX które się przewijają u mnie.
Pytanie - co robię nie tak?
Stoję przed problemem napisania klasy weryfikującej adres/adresy
e-mail.
Używam Indy 10. Metodyka weryfikacji jest następująca:
1. sprawdzam istnienie "@", rozdzielam adres na użytkownika i domenę
2. za pomocą TIdDNSResolver.Resolve(domena) pytam jakiś serwer DNS o
rekordy MX dla danej domeny (ustawiam QueryType na qtMX)
3. dla każdego znalezionego rekordu MX, za pomocą TIdSMTP robię:
a) Connect
b) wysyłam komendę Hello
c) wysyłam komendę Rset
d) wysyłam komendę Mail from:
e) wysyłam komendę RCPT to:
Na przykład dla home.pl proces się sprawdza. W pkt. 2) jako
TMXRecord.ExchangeServer otrzymuję "post.pl". Ten adres, Przypisany do
Hosta klasy TIdSMTP powoduje, że TIdSMTP.Connect się powodzi i serwer
pocztowy "gada ze mną".
Dla google otrzymuję pięć rekordów - jeden postaci
gmail-smtp-in.l.google.com i cztery z przedrostkami alt1. - alt4. Żaden
ze mną nie chce gadać, na TIdSMTP.Connect otrzymuję Socket Error # 10060
- Connection timed out.
Dla Interii (jeden rekord MX - mx.interia.pl) i Onetu
(mx.poczta.onet.pl) to samo - timeout.
Próbuję na portach 25, 587 i nawet na 465, ustawiając AuthType na
satNone, satDefault.
Adresy rekordów MX są dobre - wnoszę po logu ze stronki
http://www.dnssniffer.com/en/networktools/emailtest/tu-adres-email
jako Mailserwer podaje te same rekordy MX które się przewijają u mnie.
Pytanie - co robię nie tak?
--
Pozdrawiam,
Stregor
Pozdrawiam,
Stregor