CONTENT
- CHANGES
Szukaj
#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.
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:
- Source: smtpsend.tar.gz (?,? kB),
- Linux: smtpsend (58,1 kB),
- OpenBSD: smtpsend-obsd (57,5 kB),
- FreeBSD: smtpsend-fbsd (59,5 kB),
- Solaris: smtpsend-sol (65,2 kB),
- BeOS: smtpsend-beos (70,7 kB),
- Windows: smtpsend.exe (81,1 kB),
#top SYNOPSIS¶
SYNOPSIS
smtpsend [OPTIONS] <(smtp|smtps|submiss)://[user:pass@]host[:port]/> [<from@user> <toto@user>]
#top OPTIONS¶
Opcje wspólne:
-d
-q
--syserrors
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
--inet4
--ipv4
--inet6
--ipv6
-w timeout-connect
-W timeout-connect
timeout-connect=timeout-connect
-T timeout-socket
--timeout-socket=timeout-socket
--bind-addr=ipaddr
--dnsqaddr=ipaddr
--dnsqtimeo=dnsq-timeout
--proxyurl=ipaddr
--proxytunnel
--proxysocks
--HAPROXYHELO=heloname
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
--sock-recv
--sock-info
--comm-send
-S
--comm-recv
-R
--data-send
--data-recv
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
--SNI=sniname
--starttls=TLSv13
--starttls=TLSv12
--starttls=TLSv11
--starttls=TLSv10
--starttls=SSLv3
--starttls
--tlsinfo
--certcheck-no
--certverify
--certinfo
--certshow
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,
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).
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,
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,
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
conn-retry-max=count
conn-retry-wait=seconds
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
-i interval
--heloname=heloname
--lhlo
--ehlo
--SMTPHELP
--SMTPVRFY=verify-recipient
--SMTPETRN=verify-recipient-domain
--SMTPTURN=verify-recipient-domain
--SMTPEXPN=verify-recipient-user
--SMTPXCLIENT=client-addr
--SMTPXFORWARD=client-addr
--SMTPNOMAIL=notifi-recipient
--SMTPNOTIFY=notifi-recipient
--head-pre=head-line
--head-post=head-line
--message-id=Message-ID
--user-agent=User-Agent
--head-from=From
--head-to=To
--head-subject=Subject
--head-date=Date
--body-text=/path/to/body.txt
--body-html=/path/to/body.html
--attachment=cid:/path/to/attachment-image.png
--attachment=/path/to/attachment-file.bin
--file-cont=/path/to/message.eml
--allow-notls
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
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
--SMTPXFORWARD=client-addr
???.
http://www.postfix.org/XFORWARD_README.html
NAME=spike.porcupine.org ADDR=168.100.189.2 PROTO=ESMTP
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"
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"
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
HOSTNAME
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
$HOME/.smtpsendrc
Globalny plik konfiguracyjny.
$HOME/.smtpsendrc
Prywatny plik konfiguracyjny użytkownika.
#top SYNTAX SMTPSENDRC¶
SKŁADNIA SMTPSENDRC
syserrors=WHEN
prefer-family=family
timeout-connect=seconds
timeout-socket=seconds
bind-addr=ipaddr
dnsqaddr=ipaddr
dnsqtimeo=dnsq-timeout
proxyurl=(imap[s]|sieve|pop3[s]|nntp[s])://[user[:pass]@]host[:port]/
proxytunnel=WHEN
proxysocks=WHEN
sock-send=WHEN
sock-recv=WHEN
sock-info=WHEN
comm-send=WHEN
comm-recv=WHEN
data-send=WHEN
data-recv=WHEN
ca-file=/etc/pki/tls/certs/ca-bundle.crt
tlsinfo=WHEN
certverify=WHEN
certinfo=WHEN
certshow=WHEN
color=WHEN
conn-retry-max=count
conn-retry-wait=seconds
send-retry-max=count
send-retry-wait=seconds
allow-notls=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
libsocknet(3) libsocktls(3) libimap(3) libsmtp(3) libhttp(3) libftp(3) libtftp(3)
imapcmds(1) smtpsend(1) httprecv(1) httpexec(1) ftpdcmds(1) tftpcmds(1)
imapcmds(1) smtpsend(1) httprecv(1) httpexec(1) ftpdcmds(1) tftpcmds(1)
#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.
Nawiązanie szyfrowanego połączenia z serwerem, weryfikacja certyfikatu, wyświetlenie informacji o certyfikacie i zakończenie połączenia.
Nawiązanie połączenia z serwerem, weryfikacja akceptacji przez serwer adresu odbiorcy.
Nawiązanie szyfrowanego połączenia z serwerem, weryfikacja certyfikatu, wyświetlenie informacji o certyfikacie, autentykacja zgodnie z podanymi danymi.
Nawiązanie połączenia z serwerem, wysłanie wiadomości zgodnie z podanymi informacjami do odbiorcy (wysłanie wiadomości z zawartością tekstową).
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).
Nawiązanie połączenia z serwerem, wysłanie wiadomości zgodnie z podanymi informacjami do odbiorcy (wysłanie wiadomości z zawartością HTML).
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).
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).
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).
Nawiązanie połączenia z serwerem, wysłanie kompletnej wiadomości (nagłówki oraz dowolna treść) utworzonej wcześniej w zewnętrznym narzędziu.
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/
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/
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 3Przykł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 3Przykł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 3Przykł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