Table of content:
Intro
Citeodata vrem sa testam functionalitatea serverului e-mail prin comenzi SMTP direct din consola. In acest caz deschidem linia de cmanda si folosim clientul Telnet , fie in Windows sie in Linux bash. Nu stu cum altii dar eu deseori nu introduc careva date in comenzile FROM, RCPT TO si atunci conexiunea se intrerupe ..
Comenzi SMTP
Mai jos voi da lista cu cele mai importante comenzi SMTP cu o scurta explicatie. Fiecare comanda este folosita intr-o conexiune dintre doua servere prin protocolul SMTP, pentru a putea trimite mesaje e-mail.
HELO
Este prima comanda SMTP cu care incepe conversatia, este urmata de numele de domeniu (hostname).
EHLO
O comanda alternativa pentru a incepe conversatia pe protocolul SMTP, subliniind ca serverul utilizeaza protocolul SMTP extins.
MAIL FROM
Cu aceasta comanda SMTP incepe transmiterea mesajului: expeditorul afiseaza adresa de e-mail sursa in campul “De la”.
RCPT TO
Acesta identifica destinatarul e-mailului; daca exista mai multe, comanda este pur si simplu repetata.
SIZE
Aceasta comanda SMTP informeaza serverul despre dimensiunea estimata (in termeni de Bytes) a e-mailului atasat. Acesta poate fi, de asemenea, utilizat pentru a raporta dimensiunea maxima a unui mesaj care va fi acceptat de server.
DATA
Cu comanda DATA continutul de e-mail incepe sa fie transferat; este in general urmat de un cod de raspuns de 354 dat de server, oferind permisiunea de a incepe transmisia efectiva.
VRFY
Se solicita serverului sa verifice daca intr-adevar exista o anumita adresa de e-mail sau un nume de utilizator.
TURN
Aceasta comanda este utilizata pentru a inversa rolurile intre client si server, fara a fi nevoie sa initiati o noua conexiune.
AUTH
Cu ajutorul comenzii AUTH, clientul se autentifica pe server, oferindu-i numele de utilizator si parola. Este un nivel de securitate pentru a garanta o transmisie sigura.
RSET
Acesta comunica serverului ca transmisia de e-mail in curs va fi terminata, desi conversatia SMTP nu va fi inchisa (ca in cazul QUIT).
EXPN
Aceasta comanda SMTP cere confirmarea identificarii unei liste de adrese.
HELP
Este o cerere a unui client pentru unele informatii care pot fi utile pentru transferul reusit al mesajului.
QUIT
Termina conversatia SMTP.
Script
Cream un fisier unde vom avea comenzile
EHLO localhost
AUTH LOGIN
NGJsb2dAc3Rpc2MuZ292Lm1k
T2VDYU1vTjEx
MAIL FROM: <admin@zimbra.md>
RCPT TO: <client@zimbra.md>
DATA
From: <admin@zimbra.md>
To: <client@zimbra.md>
Date: Thu, 26 Oct 2018 14:50:11 +0000
Subject: Mesaj de test
Norocele !!!
Have a good day!
-- System
.
QUIT
Salvam fisierul in msg.txt
Executam aceasta comanda
cat "msg.txt" |while read L; do sleep "1"; echo "$L"; done | "nc" -C -v "smtp.zimbra.md" "25"
sau
function slowcat(){ cat "$1" | while read; do sleep .05; echo "$REPLY"; done; }
slowcat msg.txt | nc smtp.zimbra.md 25
AUTH
In comenzile de mai sus a fost folosita comanda AUTH LOGIN pentru autentificare. Aceasta foloseste username-ul si parola in base64
Generam in consola hash-ul la Username si Parola
perl -MMIME::Base64 -e 'print encode_base64("username");'
perl -MMIME::Base64 -e 'print encode_base64("password");'
Sau generam online
Surse
[1] https://stackoverflow.com/questions/44250054/send-email-with-netcat [2] https://www.ndchost.com/wiki/mail/test-smtp-auth-telnet
Comments
comments powered by Disqus