în lumea e-mailului, există multe fațete ale testării, dar unul dintre cele mai de bază teste pe care le puteți face este să pur și simplu telnet într-un server SMTP dat. Acest test este util pentru a determina dacă cele mai de bază de probleme fac sau nu există.
- este serverul sus?
- există un firewall care blochează comunicarea?
- serverul de mail permite retransmiterea unui anumit domeniu / adresă de e-mail?,
- ce comenzi SMTP acceptă serverul de e-mail?
- serverul răspunde cu numele de gazdă corect?
- conexiunea funcționează în afara oricărui software sau API terță parte?
toate aceste întrebări și multe altele pot fi răspuns cu un simplu test telnet.înainte de a începe, asigurați-vă că deschideți piesa noastră însoțitoare la această postare: unde sunt trimise mesajele de respingere? într-o filă nouă, astfel încât să o puteți citi după ce ați terminat cu acest blog.,
ca notă, comenzile utilizate în exemplele următoare (precum și comenzile suplimentare) sunt acoperite în secțiunea 4.1 din RFC 2821.majoritatea computerelor sunt preinstalate cu un client telnet. Pentru acele versiuni Windows care nu, se poate instala prin deschiderea secțiunii „programe și caracteristici” din panoul de control și selectarea „activați sau dezactivați funcțiile Windows”. Cu această fereastră deschisă, selectați „client telnet” și apoi faceți clic pe OK.
odată ce un client telnet a fost verificat pentru a fi instalat pe server, trebuie mai întâi să găsim un server de e-mail pentru a vă conecta., Pentru aceasta, vom avea nevoie de înregistrarea DNS MX pentru un anumit domeniu. Acest lucru poate fi găsit cu următoarea comandă (pentru aceste exemple port25.com va fi folosit, dar orice domeniu poate fi înlocuit):
Windows:
nslookup -type=mx port25.com
Non-autoritar răspuns:
port25.com MX preferință = 100, schimbător de e-mail = mail.port25.com
Linux:
nslookup -type=mx port25.com
Non-autoritar răspuns:
port25.com schimbător de e-mail = 100 mail.port25.com.,
în continuare avem nevoie de DNS PTR pentru IP-ul pe care îl vom folosi. Mai întâi trebuie să știm ce adresă IP ne vede internetul ca având. Pentru a găsi pe care le poate folosi un site web, cum ar fi:
Cu adresa IP executați următoarea comandă, în cazul în care A. B. C. D este adresa IP.
Windows:
nslookup -type=ptr A. B. C. D
Non-autoritar răspuns:
D. C. B. A. in-addr.arpa nume = server.example.com
Linux:
nslookup -type=ptr A. B. C. D
Non-autoritar răspuns:
D. C. B. A.,in-addr.arpa nume = server.example.com
server.example.com este doar un exemplu, și rezultatele vor fi diferite.
deci, acum că avem înregistrarea MX pentru port25.com și PTR pentru IP-ul pe care îl vom folosi, este timpul să vă conectați la serverul SMTP. Pentru a face acest lucru, utilizați următoarea comandă:
telnet mail.port25.com 25
Ceva similar cu următoarele ar trebui să fie acum afișate:
prima comanda trebuie să emită la serverul de mail este EHLO sau cu ELICOPTERUL., Acesta este un salut de bază care începe comunicarea între clientul telnet și serverul SMTP. De asemenea, a trecut DNS PTR pentru adresa IP de la care ne conectăm așa cum a fost determinat anterior.
EHLO server.example.com
Ceva similar cu următoarele ar trebui să fie returnate:
250-mail.port25.com spune hello250-STARTTLS250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250-8BITMIME250-XACK250-XMRG250-DIMENSIUNE 54525952250-VERP250 DSN
Acest lucru arată SMTP comenzi SMTP server acceptă., Nu toate serverele SMTP acceptă aceleași seturi de comenzi. De exemplu, yahoo doar arată următoarele:
250-8BITMIME250-DIMENSIUNE 41943040250 CONDUCTE
Și aol prezinta numai una cu:
250 DSN
următoarea comandă trebuie să emită este e-MAIL DE la comanda. Aceasta determină adresa la care sunt trimise bounces. Aceasta nu este aceeași cu antetul from, care este adresa de e-mail afișată într-un client de e-mail.
e-MAIL LA: <[email protected]>250 2.1.,0 MAIL ok
acum, că MAIL de la comanda a fost trimis putem trimite RCPT la comanda. Această comandă spune serverului de e-mail SMTP cui trebuie trimis mesajul. Aceasta poate fi aceeași sau diferită de antetul to, care este adresa de e-mail afișată în clientul de e-mail.
RCPT TO: <[email protected]>250 2.1.5 <[email protected]> ok
ultima comanda pentru a rula înainte de a începe corpul mesajului este de DATE de comandă., Această comandă permite serverului de e-mail SMTP să știe că orice altceva care urmează să fie trimis este corpul mesajului (care conține și anteturile).
DATA354 trimite un mesaj
este important să rețineți că, dacă un server de e-mail acceptă CONDUCTE, ca mail.port25.com nu, SMTP serverul de mail poate aștepta până la DATELE de comandă este emis înainte de a răspunde la orice alte comenzi după EHLO/ELICOPTER. În acest caz, introduceți comenzile MAIL FROM, RCPT TO și DATA înainte de a aștepta un răspuns.,
acum că comanda de date a fost trimisă, putem începe să trimitem conținutul mesajului. Aceasta începe cu diferitele anteturi. Cel puțin un mesaj trebuie să conțină un antet către, de la, subiect și dată. Anteturile introduse aici vor fi afișate utilizatorului în clientul de e-mail.
cu anteturile setate, adăugăm acum o linie goală cu un retur/linie de transport (trebuie doar să apăsați enter de două ori) și apoi pornim corpul real al mesajului.
Bună ziua, Acesta este un mesaj de test trimis dintr-o sesiune telnet manuală.,Cu adevărat, administrator SMTP
cu mesajul complet, trebuie să spunem serverului SMTP că am terminat cu mesajul și dorim ca serverul de e-mail SMTP să îl accepte. Acest lucru se face cu o perioadă pe o linie de la sine. Dacă în timpul scrierii unui mesaj este necesară o perioadă pe o linie de la sine, trebuie să puneți 2 perioade, prima scăpând a doua.
. 250 2.6.0 mesaj primit
în cele din Urmă comanda QUIT este trimis pentru a închide conexiunea:
QUIT221 2.0.0 mail.port25.,com spune la revedere
cu faptul că serverul de poștă a acceptat acum mesajul pentru livrare și ar trebui să stea în căsuța de e-mail a RCPT la adresa!!!
Aici sunt toate comenzile fără întrerupere:
~ Scott