CONTENT
  • CHANGES
Szukaj
counter

#top smtpsend


#top DESCRIPTION


smtpsend pozwala na nawiązywanie połączeń do serwerów SMTP i wykonywanie wielu operacji włączając: nawiązywanie połączenia czysto-tekstowego i szyfrowanego z weryfikacją certyfikatu, autoryzacje (w obydwu przypadkach bez szyfrowania połączenia i z szyfrowaniem połączenia), wysyłanie wiadomości do serwera SMTP oraz inne wykonywanie innych operacji na serwerze SMTP.

Jedną z metod przekazywania hasła jest umieszenie jego w adresie URL. Niestety metoda ta ujawnia hasło każdemu, kto wyświetli listę procesów za pomocą np: "ps". Aby uchronić hasła przed podejrzeniem, należy zapisać je w pliku .netrc oraz za pomocą polecenia "chmod", ograniczyć dostęp do tego pliku tylko dla właściciela. Jeżeli hasła są bardzo ważne, nie należy go przechowywać w tym pliku na stałe, tylko dodać na czas wykonywania operacji i usunąć je z pliku natychmiast po zakończeniu wykonywania operacji na serwerze.

#top Download


Download:



#top SYNOPSIS


SYNOPSIS
smtpsend [OPTIONS] <(smtp|smtps|submiss)://[user:pass@]host[:port]/> [<from@user> <toto@user>]

#top OPTIONS


Opcje wspólne:

-d
Wyświetlanie informacji diagnostycznych.

-q
Tryb cichy. Wyłącza dodatkowe informacje wyświetlane domyślnie.

--syserrors
Wyświetlanie systemowych przyczyn błędów.

Opcje sieciowe:

--prefer-family=family
Wybór preferowanej rodziny adresów do której nazwy będą rozwiązywane, możliwie wartości dla family: AF_UNSPEC|AF_INET|AF_INET6 (default: AF_UNSPEC)

--inet4
--ipv4
Rozwiązywanie nazw tylko do adresów protokołu IPv4 (opcja równoznaczna do --prefer-family=AF_INET).

--inet6
--ipv6
Rozwiązywanie nazw tylko do adresów protokołu IPv6 (opcja równoznaczna do --prefer-family=AF_INET6).

-w timeout-connect
-W timeout-connect
timeout-connect=timeout-connect
Maksymalny czas oczekiwania na nawiązanie połączenia (domyślnie: 5.0). Dotyczy to tylko jednego serwera, w przypadku, gdy nazwa rozwiązuje się na 3 adresy IP, ten czas może być 3-krotnie dłuższy, jeśli połączenie z żadnym serwerem nie zakończy się sukcesem. (-W - dla kompatybilności z innymi narzędziami sieciowymi).

-T timeout-socket
--timeout-socket=timeout-socket
Maksymalny czas oczekiwania na wykonanie operacji sieciowych wysyłania i odbierania danych (domyślnie: timeout-socket=90.0).

--bind-addr=ipaddr
Przypisanie lokalnego addresu IP przed nawiązywaniem połączenia do zdalnego serwera.

--dnsqaddr=ipaddr
Ustawienie adresu IP serwera nazw, który będzie używany do rozwiązywania nazw na adresy IP.

--dnsqtimeo=dnsq-timeout
Maksymalny czas oczekiwania na rozwiązanie nazwy na adres IP przez wskazany serwer nazw (stosowane z opcją --dnsqaddr=ipaddr).

--proxyurl=ipaddr
Używanie podanego adresu jako proxy do nawiązania połączenia z serwerem SMTP.

--proxytunnel
Nawiązanie połączenia tunelowanego przez proxy.

--proxysocks
Nawiązanie połączenia przez proxy socks.

--HAPROXYHELO=heloname
Nawiązanie połączenia do serwera obsługującego protokół SMTP przez serwer HAProxy poprzez wyłanie komendy HELO do serwera HAProxy przekazanej w argumencie heloname.

Opcje wyświetlania komend wysyłanych do serwera i zwracanych odpowiedzi:

--sock-send
Wyświetlanie pomocniczych informacji związanych z wysyłaniem danych.

--sock-recv
Wyświetlanie pomocniczych informacji związanych z odbieraniem danych.

--sock-info
Wyświetlanie pomocniczych informacji związanych z statusem wykonania wysłanych komend (metod).

--comm-send
-S
Wyświetlanie komend (nagłówków) wysyłanych do serwera.

--comm-recv
-R
Wyświetlanie komend (nagłówków) odbieranych od serwera.

--data-send
Wyświetlanie wysyłanych danych (treści) powiązanych z komendami (nagłówkami).

--data-recv
Wyświetlanie odbieranych danych (treści) powiązanych z komendami (nagłówkami).

Opcje TLS/SSL:

--ca-file=/etc/pki/tls/certs/ca-bundle.crt
Ustawienie ścieżki do pliku zawierającego certyfikaty główne i pośrednie.

--SNI=sniname
Ustawia sniname jako SNI zamiast nazwy hosta z adresu URL.

--starttls=TLSv13
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania TLSv13.

--starttls=TLSv12
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania TLSv12.

--starttls=TLSv11
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania TLSv11.

--starttls=TLSv10
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania TLSv10.

--starttls=SSLv3
Wymuszenie nawiązania bezpiecznego połączenia z użyciem protokołu szyfrowania SSLv3.

--starttls
Wymuszenie nawiązania bezpiecznego połączenia z użyciem dowolnego protokołu szyfrowania.

--tlsinfo
Wyświetlenie informacji o nawiązanym połączeniu TLS/SSL (parametry szyfrowania):
Description - Opis protokołu TLS/SSL (Wersja - Zestaw Szyfrowania),
Session ID - Identyfikator Sesji,
Version - Wersja protokołu,
Cipher Suite - Zestaw Szyfrowania,
Key eXchange - Sposób wymiany kluczy,
Cipher - Szyfr,
MAC - Kod Uwierzytelnienia Wiadomości,
Compression - Kompresja używana w protokole TLS/SSL,

--certcheck-no
Weryfikacja Certyfikatu:
Zwrócenie kodu weryfikacji certyfikatu, umożliwiającego przerwanie połączenia w przypadku nie prawidłowego certyfikat (w przypadku braku tej opcji zostanie zwrócony kod oznaczający, że certyfikat jest prawidłowy, nawet w przypadku nie prawidłowego certyfikatu).

--certverify
Weryfikacja informacji w certyfikacie:
Sprawdzenie czy Wystawca certyfikatu jest zaufany
Sprawdzenie czy nazwa hosta w certyfikacie pasuje do nazwy hosta z którym nawiązano połączenie,
Wyświetlenie Wystawcy certyfikatu,
Wyświetlenie Podmiotu certyfikatu,
Sprawdzenie dat ważności certyfikatu,

--certinfo
Informacje o certyfikacie X509:
Wyświetlenie wersji certyfikatu,
Wyświetlenie Numeru Seryjnego certyfikatu,
Wyświetlenie Sygnatury Argorytmu certyfikatu,
Wyświetlenie Wystawcy certyfikatu,
Wyświetlenie Podmiotu certyfikatu,
Wyświetlenie dat ważności certyfikatu,
Wyświetlenie informacji o Kluczu Publicznym,
Wyświetlenie Rozszerzeń certyfikatu,

--certshow
Wyświetlenie certyfikatu w formacie PEM (Privacy Enhanced Mail),

Opcje różne:

--color=WHEN
Kolorowanie wysyłanych komend i odbieranych statusów wykonania komend (nagłówków), WHEN może być jednym z: 'auto', 'always', 'never',

conn-retry-max=count
Określenie maksymalnej ilości powtórzeń prób nawiązania połączenia na count w przypadku nieudanej próby nawiązania połączenia.

conn-retry-wait=seconds
Oczekuje określoną ilość sekund podaną w argumencie seconds pomiędzy powtórzeniem pownego nawiązania połączenia.

Opcje protokołu SMTP:

--auth-type=METHOD
Ustawienie metody uwierzytelniania, argument METHOD może być jednym z: LOGIN, PLAIN, CRAM-MD5, DIGEST-MD5, SCRAM- SHA-1, APOP, NTLM, RPA, ANONYMOUS, GSSAPI, OTP, SKEY,

-i interval
???.

--heloname=heloname
Wysłanie heloname jako argumentu powitalnej komendy HELO (domyślnie wysyłana jest nazwa hosta łączącego się pobrana ze zmiennych środowiskowych lub localhost jeśli zmienna nie istnieje).

--lhlo
Zmiana typu wysyłanej komendy powitalnej, zamiast komendy HELO wysyłana jest komenda LHLO (Na przykład: Dovecot LMTP LHLO przed kontynuowaniem przesyłania wiadomości).

--ehlo
Zmiana typu wysyłanej komendy powitalnej, zamiast komendy HELO wysyłana jest komenda EHLO (Na przykład: Exim wymaga komendy EHLO przed wysłaniem komendy STARTTLS).

--SMTPHELP
Wysłanie komendy HELP.

--SMTPVRFY=verify-recipient
Weryfikacja adresu odbiorcy wiadomości za pomocą komendy VRFY. Gdy komenda jest zablokowana zwrócona odpowiedź będzie zależna zarówno od serwera jak również jego konfiguracji (może być analogiczna do poniższych):
502 5.5.1 VRFY command is disabled
252 Administrative prohibition

--SMTPETRN=verify-recipient-domain
Weryfikacja domeny odbiorcy wiadomości za pomocą komendy ETRN.

--SMTPTURN=verify-recipient-domain
Weryfikacja domeny odbiorcy wiadomości za pomocą komendy TURN.

--SMTPEXPN=verify-recipient-user
Weryfikacja nazwy użytkownika odbiorcy wiadomości za pomocą komendy EXPN.

--SMTPXCLIENT=client-addr
???.
http://www.postfix.org/XCLIENT_README.html
NAME=spike.porcupine.org ADDR=168.100.189.2

--SMTPXFORWARD=client-addr
???.
http://www.postfix.org/XFORWARD_README.html
NAME=spike.porcupine.org ADDR=168.100.189.2 PROTO=ESMTP

--SMTPNOMAIL=notifi-recipient
Włączenie żądania potwierdzenia dostarczenia wiadomości. Jeśli użyto słowa kluczowe RET esmtp, to musi zawierać skojarzoną wartość esmtp. Słowa kluczowe FULL i HDRS mogą być zapisane w dowolnej kombinacji dużych i małych liter.
na przykład: --SMTPNOMAIL="RET=HDRS"
na przykład: --SMTPNOMAIL="RET=FULL"

--SMTPNOTIFY=notifi-recipient
Włączenie żądania potwierdzenia dostarczenia wiadomości. Dowolne słowo kluczone NEVER, SUCCESS, FAILURE, or DELAY może być zapisane w dowolnej kombinacji dużych i małych liter.
na przykład: --SMTPNOTIFY="SUCCESS,DELAY,FAILURE,NEVER"

--head-pre=head-line
Dodaje dodatkowy nagłówek head-line przed standardowymi nagłówkami (Message-ID,User-Agent,From,To,Date,Subject) tworzonej do wysłania wiadomości. Nagłówki muszą zawierać : poprzedzony co najmniej jednym niepustym znakiem, i nie mogą zawierać znaków nowej linii. Możliwe jest określenie więcej niż jednego dodatkowego nagłówka przez kilkakrotne podanie opcji --head-pre=head-line.

--head-post=head-line
Dodaje dodatkowy nagłówek head-line za standardowymi nagłówkami (Message-ID,User-Agent,From,To,Date,Subject) tworzonej do wysłania wiadomości. Nagłówki muszą zawierać : poprzedzony co najmniej jednym niepustym znakiem, i nie mogą zawierać znaków nowej linii. Możliwe jest określenie więcej niż jednego dodatkowego nagłówka przez kilkakrotne podanie opcji --head-post=head-line.

--message-id=Message-ID
Ustawia (nadpisuje) nagłówek Message-ID: w tworzonej do wysłania wiadomości.

--user-agent=User-Agent
Ustawia (nadpisuje) nagłówek User-Agent: w tworzonej do wysłania wiadomości.

--head-from=From
Ustawia (nadpisuje) nagłówek From: w tworzonej do wysłania wiadomości (w przypadku braku używany jest adres nadawcy).

--head-to=To
Ustawia (nadpisuje) nagłówek To: w tworzonej do wysłania wiadomości (w przypadku braku używany jest adres odbiorcy).

--head-subject=Subject
Ustawia nagłówek Subject: w tworzonej do wysłania wiadomości (ustawienie tego nagłówka jest niezbędne aby wiadomość została utworzona i wysłana).

--head-date=Date
Ustawia (nadpisuje) nagłówek Date: w tworzonej do wysłania wiadomości.

--body-text=/path/to/body.txt
Ustawia ścieżkę do pliku z treścią wiadomości w postaci tekstu czystego.

--body-html=/path/to/body.html
Ustawia ścieżkę do pliku z treścią wiadomości w postaci tekstu HTML.

--attachment=cid:/path/to/attachment-image.png
Ustawia ścieżkę do pliku zawierającego obraz powiązany z treścią HTML w tworzonej do wysłania wiadomości.

--attachment=/path/to/attachment-file.bin
Ustawia ścieżkę do pliku zawierającego załącznik do wstawienia w tworzonej do wysłania wiadomości.

--file-cont=/path/to/message.eml
Ustawia ścieżkę do pliku zawierającego kompletną treść do wysłania wiadomości (nagłowki oraz dowolny format treści wraz z opcjonalnymi załącznikami).

--allow-notls
Włączenie nawiązywania połączenia bez szyfrowania pomimo włączonej opcji wymagającej szyfrowanego połączenia.



#top ENVIRONMENT VARIABLES


ZMIENNE ŚRODOWISKOWE

HOME
Określa ścieżkę do katalogu domowego w którym znajduje się plik konfiguracyjny użytkownika.

HOSTNAME
Określa format daty wiadomości (format jest argumentem dla funkcji strftime(3)).



#top FILES


PLIKI

/etc/smtpsendrc
Globalny plik konfiguracyjny.

$HOME/.smtpsendrc
Prywatny plik konfiguracyjny użytkownika.



#top SYNTAX SMTPSENDRC


SKŁADNIA SMTPSENDRC

syserrors=WHEN
Wyświetlanie systemowych przyczyn błędów, WHEN może być jednym z: '1', '0', 'on', 'off'.

prefer-family=family
Wybór preferowanej rodziny adresów do której nazwy będą rozwiązywane, możliwie wartości dla family: AF_UNSPEC|AF_INET|AF_INET6 (default: AF_UNSPEC).

timeout-connect=seconds
Maksymalny czas oczekiwania na nawiązanie połączenia (domyślnie: 5.0). Dotyczy to tylko jednego serwera, w przypadku, gdy nazwa rozwiązuje się na 3 adresy IP, ten czas może być 3-krotnie dłuższy, jeśli połączenie z żadnym serwerem nie zakończy się sukcesem.

timeout-socket=seconds
Maksymalny czas oczekiwania na wykonanie operacji sieciowych wysyłania i odbierania danych (domyślnie: timeout-socket=90.0).

bind-addr=ipaddr
Przypisanie lokalnego addresu IP przed nawiązywaniem połączenia do zdalnego serwera.

dnsqaddr=ipaddr
Ustawia adres IP serwera nazw, który będzie używany do rozwiązywania nazw na adresy IP.

dnsqtimeo=dnsq-timeout
Maksymalny czas oczekiwania na rozwiązanie nazwy na adres IP przez wskazany serwer nazw (stosowane z opcją dnsqaddr=ipaddr).

proxyurl=(imap[s]|sieve|pop3[s]|nntp[s])://[user[:pass]@]host[:port]/
Używanie podanego adresu jako proxy do nawiązania połączenia z serwerem IMAP.

proxytunnel=WHEN
Nawiązanie połączenia tunelowanego przez proxy, WHEN może być jednym z: '1', '0', 'on', 'off'.

proxysocks=WHEN
Nawiązanie połączenia przez proxy socks, \fIWHEN\fR może być jednym z: '1', '0', 'on', 'off', WHEN może być jednym z: '1', '0', 'on', 'off'.


sock-send=WHEN
Wyświetlanie pomocniczych informacji związanych z wysyłaniem danych, WHEN może być jednym z: '1', '0', 'on', 'off'.

sock-recv=WHEN
Wyświetlanie pomocniczych informacji związanych z odbieraniem danych, WHEN może być jednym z: '1', '0', 'on', 'off'.

sock-info=WHEN
Wyświetlanie pomocniczych informacji związanych z statusem wykonania wysłanych komend (metod), WHEN może być jednym z: '1', '0', 'on', 'off'.

comm-send=WHEN
Wyświetlanie komend (nagłówków) wysyłanych do serwera, WHEN może być jednym z: '1', '0', 'on', 'off'.

comm-recv=WHEN
Wyświetlanie komend (nagłówków) odbieranych od serwera, WHEN może być jednym z: '1', '0', 'on', 'off'.

data-send=WHEN
Wyświetlanie wysyłanych danych (treści) powiązanych z komendami (nagłówkami), WHEN może być jednym z: '1', '0', 'on', 'off'.

data-recv=WHEN
Wyświetlanie odbieranych danych (treści) powiązanych z komendami (nagłówkami), WHEN może być jednym z: '1', '0', 'on', 'off'.


ca-file=/etc/pki/tls/certs/ca-bundle.crt
Ustawienie ścieżki do pliku zawierającego certyfikaty główne i pośrednie.

tlsinfo=WHEN
Wyświetlenie informacji o nawiązanym połączeniu TLS/SSL (parametry szyfrowania), WHEN może być jednym z: '1', '0', 'on', 'off'.

certverify=WHEN
Weryfikacja informacji w certyfikacie, WHEN może być jednym z: '1', '0', 'on', 'off'.

certinfo=WHEN
Informacje o certyfikacie X509, WHEN może być jednym z: '1', '0', 'on', 'off'.

certshow=WHEN
Wyświetlenie certyfikatu w formacie PEM (Privacy Enhanced Mail), WHEN może być jednym z: '1', '0', 'on', 'off'.


color=WHEN
Kolorowanie wysyłanych komend i odbieranych statusów wykonania komend (nagłówków), WHEN może być jednym z: 'auto', 'always', 'never'.

conn-retry-max=count
Określenie maksymalnej ilości powtórzeń prób nawiązania połączenia na count w przypadku nieudanej próby nawiązania połączenia.

conn-retry-wait=seconds
Oczekuje określoną ilość sekund podaną w argumencie seconds pomiędzy powtórzeniem pownego nawiązania połączenia.

send-retry-max=count
Określenie maksymalnej ilości powtórzeń prób wysłania wiadomości na count w przypadku nieudanej próby nawiązania połączenia.

send-retry-wait=seconds
Oczekuje określoną ilość sekund podaną w argumencie seconds pomiędzy powtórzeniem pownego wysłania wiadomości.

allow-notls=WHEN
Włączenie nawiązywania połączenia bez szyfrowania pomimo włączonej opcji wymagającej szyfrowanego połączenia, WHEN może być jednym z: 'auto', 'always', 'never'.



#top SEE ALSO


ZOBACZ TAKŻE




#top EXAMPLES


Przykłady przedstawiono w analogicznej kolejności do opisanych powyżej opcji i komend.

Nawiązanie połączenia z serwerem i zakończenie połączenia.
smtpsend [...] smtp://host[:port]/

Nawiązanie szyfrowanego połączenia z serwerem, weryfikacja certyfikatu, wyświetlenie informacji o certyfikacie i zakończenie połączenia.
smtpsend [...] --ca-file=/etc/pki/tls/certs/ca-bundle.crt --starttls --tlsinfo --certcheck-no --certverify --certinfo smtp://host[:port]/

Nawiązanie połączenia z serwerem, weryfikacja akceptacji przez serwer adresu odbiorcy.
smtpsend [...] smtp://host[:port]/ sender@example.org recipient@example.net

Nawiązanie szyfrowanego połączenia z serwerem, weryfikacja certyfikatu, wyświetlenie informacji o certyfikacie, autentykacja zgodnie z podanymi danymi.
smtpsend [...] --ca-file=/etc/pki/tls/certs/ca-bundle.crt --starttls --tlsinfo --certcheck-no --certverify --certinfo smtp://user:pass@host[:port]/

Nawiązanie połączenia z serwerem, wysłanie wiadomości zgodnie z podanymi informacjami do odbiorcy (wysłanie wiadomości z zawartością tekstową).
smtpsend [...] --head-subject="example subject test" --body-text=/path/to/file.txt smtp://host[:port]/ sender@example.org recipient@example.net

Nawiązanie połączenia z serwerem, wysłanie wiadomości zgodnie z podanymi informacjami do odbiorcy (wysłanie wiadomości z zawartością tekstową oraz własnymi nagłówkami).
smtpsend [...] --message-id="<20010203040506.123456@sender.domain.org>" --user-agent="smtpsend/0.56 prebeta ;)" --head-from="sender name <sender@example.org>" --head-to="recipient name <recipient@example.net>" --head-subject="example subject test" --head-date="Sat,  3 Feb 2001 04:05:06 +0100" --body-text=/path/to/file.txt smtp://host[:port]/ sender@example.org recipient@example.net

Nawiązanie połączenia z serwerem, wysłanie wiadomości zgodnie z podanymi informacjami do odbiorcy (wysłanie wiadomości z zawartością HTML).
smtpsend [...] --head-subject="example subject test" --body-html=/path/to/file.html smtp://host[:port]/ sender@example.org recipient@example.net

Nawiązanie połączenia z serwerem, wysłanie wiadomości zgodnie z podanymi informacjami do odbiorcy (wysłanie wiadomości z zawartością HTML wraz z powiązanymi obrazami).
smtpsend [...] --head-subject="example subject test" --body-html=/path/to/file.html --attachment=cid:/path/to/related-image.png smtp://host[:port]/ sender@example.org recipient@example.net

Nawiązanie połączenia z serwerem, wysłanie wiadomości zgodnie z podanymi informacjami do odbiorcy (wysłanie wiadomości z zawartością alternatywną: tekstową oraz HTML).
smtpsend [...] --head-subject="example subject test" --body-html=/path/to/file.html smtp://host[:port]/ sender@example.org recipient@example.net

Nawiązanie połączenia z serwerem, wysłanie wiadomości zgodnie z podanymi informacjami do odbiorcy (wysłanie wiadomości z zawartością tekstową oraz załącznikami).
smtpsend [...] --head-subject="example subject test" --body-text=/path/to/file.txt --attachment=/path/to/attachment-file.bin smtp://host[:port]/ sender@example.org recipient@example.net

Nawiązanie połączenia z serwerem, wysłanie kompletnej wiadomości (nagłówki oraz dowolna treść) utworzonej wcześniej w zewnętrznym narzędziu.
smtpsend [...] --file-cont=/path/to/message.eml smtp://host[:port]/ sender@example.org recipient@example.net



Przykład: Nawiązanie połączenia z serwerem, wysłanie powitalnej komendy HELO oraz wysłane przed rozłączeniem komendy QUIT. Wraz z włączonymi opcjami --comm-send --comm-recv wyświetlanie wysyłanych i odbieranych komend / informacji oraz --sock-info wyświetlenie statusu wykonania każdej komendy protokołu SMTP.
smtpsend -w 5 --sock-info --comm-send --comm-recv --heloname=wbcd.pl smtp://mx.yandex.ru/
Rezultat:
smtpsend: Resolving mx.yandex.ru ... 2a02:6b8::89, 77.88.21.89, 87.250.250.89, 93.158.134.89, 213.180.193.89, 213.180.204.89 Success
smtpsend: Connecting to mx.yandex.ru[2a02:6b8::89]:25 Failed, Reason: 101:Network is unreachable
smtpsend: Connecting to mx.yandex.ru[77.88.21.89]:25 ... Success
smtpsend: result=smtp_conn(): result=1 Connect:OK Connected to mx.yandex.ru[77.88.21.89]:25
< 220 mxfront10o.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
smtpsend: result=sock_linerecv(): result=102 BANNER:OK 220:220 mxfront10o.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
> HELO wbcd.pl
< 250 mxfront10o.mail.yandex.net
smtpsend: result=smtp_helo(wbcd.pl): result=1 HELO:OK 250:250 mxfront10o.mail.yandex.net
> QUIT
< 221 2.0.0 Closing connection.
smtpsend: result=smtp_quit(): result=1 QUIT:OK
smtp://mx.yandex.ru/ dnsq=0.168, conn=0.079, banner=2.378, helo=0.082, starttls=0.000, socktls=0.000 auth=0.000, mail=0.000, rcpt=0.000, datainit=0.000, datasend=0.000, rset=0.000 quit=0.082, summ=2.791, result=250:250 mxfront10o.mail.yandex.net



Przykład: Nawiązanie połączenia z serwerem, wysłanie powitalnej komendy HELO oraz wysłane przed rozłączeniem komendy QUIT. Wraz z włączonymi opcjami --ca-file=/etc/pki/tls/certs/ca-bundle.crt ustawienie CA certyfikatów, --starttls wysłanie komendy żądaniem nawiązania połączenia szyfrowanego STARTTLS, nawiązanie połączenia szyfrowanego, --tlsinfo wyświetlenie informacji o wynegocjowanym protokole szyfrowanym, --certcheck-no wyłączenie sprawdzania certyfikatu serwera, --certverify weryfikacja danych certyfikatu, --certinfo wyświetlenie informacji o certyfikacie.
smtpsend -w 5 --sock-info --comm-send --comm-recv --heloname=wbcd.pl --ca-file=/etc/pki/tls/certs/ca-bundle.crt --starttls --tlsinfo --certcheck-no --certverify --certinfo smtp://mx.yandex.ru/
Rezultat:
smtpsend: Resolving mx.yandex.ru ... 2a02:6b8::89, 77.88.21.89, 87.250.250.89, 93.158.134.89, 213.180.193.89, 213.180.204.89 Success
smtpsend: Connecting to mx.yandex.ru[2a02:6b8::89]:25 Failed, Reason: 101:Network is unreachable
smtpsend: Connecting to mx.yandex.ru[77.88.21.89]:25 ... Success
smtpsend: result=smtp_conn(): result=1 Connect:OK Connected to mx.yandex.ru[77.88.21.89]:25
< 220 mxfront4o.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
smtpsend: result=sock_linerecv(): result=101 BANNER:OK 220:220 mxfront4o.mail.yandex.net (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)
> HELO wbcd.pl
< 250 mxfront4o.mail.yandex.net
smtpsend: result=smtp_helo(wbcd.pl): result=1 HELO:OK 250:250 mxfront4o.mail.yandex.net
< STARTTLS
> 220 Go ahead
smtpsend: result=smtp_starttls(): result=1 STARTTLS:OK 220:220 Go ahead
smtpsend: smtp->ssl_ctx=gnutls_ctx_init(): smtp->ssl_ctx=0x9cd1150 TLS/SSL-INIT:OK Initialized
smtpsend: smtp->ssl=gnutls_starttls(smtp->ssl=0x9cd1df8,mx.yandex.ru): TLS/SSL-SOCK:OK Negotiated
smtpsend: TLS:LAYER: Description: (TLS1.2-PKIX)-(ECDHE-RSA-SECP256R1)-(AES-128-GCM)-(AEAD)
smtpsend: TLS:LAYER: Session ID: D7:62:A1:C9:44:31:63:00:85:9F:28:30:5B:F3:45:E9:29:56:6D:48:07:92:AA:62:C9:58:8A:74:FF:6C:BB:E7
smtpsend: TLS:LAYER: Ephemeral EC Diffie-Hellman parameters
smtpsend: TLS:LAYER:  Using curve: SECP256R1
smtpsend: TLS:LAYER:  Curve size: 256 bits
smtpsend: TLS:LAYER: Version: TLS1.2
smtpsend: TLS:LAYER: Cipher Suite: ECDHE_RSA_AES_128_GCM_SHA256
smtpsend: TLS:LAYER: Key eXchange: ECDHE-RSA
smtpsend: TLS:LAYER: Cipher: AES-128-GCM
smtpsend: TLS:LAYER: MAC: AEAD
smtpsend: TLS:LAYER: Compression: NULL
smtpsend: TLS:LAYER: Server Signature: RSA-SHA256
smtpsend: TLS:LAYER: Channel binding 'tls-unique': ca1b8a55f5182160218d9e4c
smtpsend: CERT:VERIFY: Peer's certificate is signed by Trusted Root Certification Authorities
smtpsend: CERT[0]:VERIFY: The hostname in the certificate match 'mx.yandex.ru'
smtpsend: CERT[0]:VERIFY: Issuer : C=RU,O=Yandex LLC,OU=Yandex Certification Authority,CN=Yandex CA
smtpsend: CERT[0]:VERIFY: Subject: C=RU,O=Yandex LLC,OU=ITO,L=Moscow,ST=Russian Federation,CN=mx.yandex.net
smtpsend: CERT[0]:VERIFY: CERT:DATE:OK   Validity: Not Before: 2018/11/27 08:21:48
smtpsend: CERT[0]:VERIFY: CERT:DATE:OK   Validity: Not After : 2019/11/27 08:21:48
smtpsend: CERT[0]:VERIFY: CERT:DATE:OK   Validity: Cert expire after 42 [d] (3701862 [s]))
smtpsend: CERT[0]:VERIFY: X509v3 Subject Alternative Name: (not critical)
smtpsend: CERT[0]:VERIFY:      DNSname: mx.yandex.net, DNSname: mx.yandex.ru,
smtpsend: CERT[0]:X.509: Version: 3
smtpsend: CERT[0]:X.509: Serial Number (hex): 6B:B8:BB:AD:B2:46:6E:D6:01:62:EE:EF:1F:84:DD:6D
smtpsend: CERT[0]:X.509: Signature Algorithm: RSA-SHA256
smtpsend: CERT[0]:X.509: Issuer : C=RU,O=Yandex LLC,OU=Yandex Certification Authority,CN=Yandex CA
smtpsend: CERT[0]:X.509: Subject: C=RU,O=Yandex LLC,OU=ITO,L=Moscow,ST=Russian Federation,CN=mx.yandex.net
smtpsend: CERT[0]:X.509: Validity: Not Before: 2018/11/27 08:21:48
smtpsend: CERT[0]:X.509: Validity: Not After : 2019/11/27 08:21:48
smtpsend: CERT[0]:X.509: Subject Public Key Info: Public Key Algorithm: RSA (2048 bits)
smtpsend: CERT[0]:X.509: Extensions: Subject Alternative Name: (not critical) DNSname: mx.yandex.net
smtpsend: CERT[0]:X.509: Extensions: Subject Alternative Name: (not critical) DNSname: mx.yandex.ru
smtpsend: CERT[0]:X.509: Extensions: Basic Constraints: (critical) CA:FALSE
smtpsend: CERT[0]:X.509: Extensions: Key usage: (critical) Digital signature.
smtpsend: CERT[0]:X.509: Extensions: Key usage: (critical) Key encipherment.
smtpsend: CERT[0]:X.509: Extensions: Key purpose OIDs:(not critical) TLS WWW Server.
smtpsend: CERT[0]:X.509: Extensions: Key purpose OIDs:(not critical) TLS WWW Client.
smtpsend: CERT[0]:X.509: Extensions: Other Information: MD5 fingerprint:   40a0425329dbba52f496b307cb475f9d
smtpsend: CERT[0]:X.509: Extensions: Other Information: SHA-1 fingerprint: b11c5a9a931d58d74e6975a0dc9e9e82f046758f
smtpsend: CERT[0]:X.509: Extensions: Other Information: Public Key Id:     f28d997f7ad05ecf9d9731b09b1ce75559ec42e4
> HELO wbcd.pl
< 250 mxfront4o.mail.yandex.net
smtpsend: result=smtp_helo(wbcd.pl): result=1 HELO:OK 250:250 mxfront4o.mail.yandex.net
> QUIT
< 221 2.0.0 Closing connection.
smtpsend: result=smtp_quit(): result=1 QUIT:OK
smtp://mx.yandex.ru/ dnsq=0.002, conn=0.074, banner=0.510, helo=0.090, starttls=0.080, socktls=0.355 auth=0.000, mail=0.000, rcpt=0.000, datainit=0.000, datasend=0.000, rset=0.000 quit=0.081, summ=1.398, result=250:250 mxfront4o.mail.yandex.net



Przykład:
Zawartość pliku /tmp/body.txt:
body message send using smtpsend tool line 1
body message send using smtpsend tool line 2
body message send using smtpsend tool line 3
Przykład:
smtpsend -w 5 --sock-info --comm-send --comm-recv --head-subject="some message send using smtpsend tool" --body-text=/tmp/body.txt smtp://mx.example.net/ root@example.org admin@example.net



Przykład:
Zawartość pliku /tmp/body.html:
<html>
<body>
<p>body message send using smtpsend tool line 1</p>
<p>body message send using smtpsend tool line 2</p>
<p>body message send using smtpsend tool line 3</p>
</body>
</html>
Przykład:
smtpsend -w 5 --sock-info --comm-send --comm-recv --head-subject="some message send using smtpsend tool" --body-html=/path/to/body.html smtp://mx.example.net/ root@example.org admin@example.net



Przykład:
Zawartość pliku /tmp/body.html:
<html>
<body>
<p>body message send using smtpsend tool line linux icon</p>
<p><img src="cid:linux-icon.png" alt=""></p>
<p>body message send using smtpsend tool line linux image</p>
<p><img src="cid:linux-image.png" alt=""></p>
<p>body message send using smtpsend tool line foolter</p>
</body>
</html>
Przykład:
smtpsend -w 5 --sock-info --comm-send --comm-recv --head-subject="some message send using smtpsend tool" --body-html=/path/to/body.html --attachment=cid:/tmp/linux-icon.png --attachment=cid:/tmp/linux-image.png smtp://mx.example.net/ root@example.org admin@example.net



Przykład:
Zawartość pliku /tmp/body.txt:
body message send using smtpsend tool line 1
body message send using smtpsend tool line 2
body message send using smtpsend tool line 3
Przykład:
smtpsend -w 5 --sock-info --comm-send --comm-recv --head-subject="some message send using smtpsend tool" --body-text=/tmp/body.txt --attachment=/path/to/attachment-file.bin smtp://mx.example.net/ root@example.org admin@example.net



Przykład:
Zawartość pliku /tmp/message.eml:
Message-ID: <20160102.123456@example.org>
User-Agent: smtpsend/0.56 prebeta
From: root@example.org
To: admin@example.net
Subject: some message send using smtpsend tool
Date: Fri, 01 Jan 16 12:00:00 +0100
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

body message send using smtpsend tool line 1
body message send using smtpsend tool line 2
body message send using smtpsend tool line 3
Przykład:
smtpsend -w 5 --sock-info --comm-send --comm-recv --file-cont=/tmp/message.eml smtp://mx.example.net/ root@example.org admin@example.net




Zmodyfikowany ostatnio: 2020/07/11 10:01:12 (3 lata temu), textsize: 40,4 kB, htmlsize: 49,8 kB

Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników