Jak używać SWAKS z SparkPost

Ptak

24 cze 2021

Email

1 min read

Jak używać SWAKS z SparkPost

Ptak

24 cze 2021

Email

1 min read

Jak używać SWAKS z SparkPost

To narzędzie wiersza poleceń, które może wysyłać e-maile za pomocą SMTP. Jest nie tylko łatwe w użyciu, ale także jednocześnie oferuje wiele opcji, gdy zajdzie taka potrzeba.

Business in a box.

Odkryj nasze rozwiązania.

W zeszłym roku opublikowaliśmy artykuł na blogu, który pokazuje jak używać wszechobecnego i bardzo użytecznego narzędzia telnet do sprawdzania połączenia SMTP.

Kolejnym krokiem jest uproszczenie ręcznego procesu przez użycie niesamowitego narzędzia „next level” (nazywa się Szwajcarskim Scyzorykiem emaili) o nazwie SWAKS. Jest to narzędzie wiersza poleceń, które może wysyłać e-maile za pośrednictwem SMTP. Jest nie tylko łatwe w użyciu, ale jednocześnie oferuje mnóstwo opcji, kiedy są potrzebne.

Na początku byłem onieśmielony ilością opcji, ale jest ono całkowicie użyteczne z najprostszymi opcjami. Jeśli napotkasz jakiekolwiek problemy, po prostu dodaj tę stronę do zakładek, skopiuj i wklej przykłady, a następnie zmodyfikuj je według własnych potrzeb. Na końcu tego bloga, gdy nabierzesz trochę wprawy i nie będziesz miał dużej zmienności w komendach SWAKS, pokażę ci, jak utworzyć plik konfiguracyjny, który wstępnie ustawia wszystkie twoje domyślne parametry. To sprawia, że uruchamianie SWAKS jest dosłownie o jedno naciśnięcie przycisku (OK, „klawisza”)! 

Na potrzeby tego ćwiczenia będziemy uruchamiać komendy z serwera CentOS 7, ale komendy są podobne na wszystkich obsługiwanych platformach. Jak wspomniano powyżej, jeśli jesteś zablokowany, po prostu skopiuj i wklej bezpośrednio do swojego systemu i zmodyfikuj to, co potrzebujesz. Oto podstawy:

Zainstaluj

sudo yum install epel-release -y && sudo yum install swaks -y

Po zainstalowaniu, oto podstawowa składnia wysyłania wiadomości. W tym przykładzie używamy lokalnego adresu serwera:

swaks -s 127.0.0.1 -f sender@from.com -t recipient@recipient.com

Wyślij wiadomość z nagłówkiem "Subject" + innymi nagłówkami, a następnie dołącz tekst "Hello World!" w treści:

swaks -s 127.0.0.1 
  -f me@from.com 
  -t them@recipient.com 
  --header "Subject: Hello! This is the subject header" 
  --header "Second_Header: 123" 
  --header "Third_Header: XYZ" 
  --body "Hello World!"

Oto jak dodać załącznik, gdzie SWAKS dokonuje konwersji base64 dla Ciebie, świetne do testowania limitów rozmiaru wiadomości:

swaks -s 127.0.0.1 -f me@from.com -t them@recipient.com --attach /path/to/file.tgz

Jesteś prawie gotowy z podstawami! Teraz zobaczmy, jak jeszcze możesz ulepszyć swoją konfigurację. Oto kilka pomysłów:

  • Użyj harmonogramu jak chron do przeprowadzania podstawowych testów „czy działa”, które mogą być fundamentem lub nawet uzupełnieniem Twojego systemu monitorowania.

  • Mierz opóźnienia podczas łączenia i zamykania połączenia z serwerem poczty.

  • Testuj różne wersje i szyfry TLS

Nie zostaniesz tu sam, pokażę Ci, jak zrobić to wszystko powyżej. Tym razem wprowadzimy do naszych serwerów SparkPost.

Wyślij wiadomość do naszych serwerów SparkPost (Jak utworzyć klucz API, oraz opcje SMTP). Gdy otrzymasz swój klucz uwierzytelniający, wklej go do polecenia (upewnij się, że klucz jest bezpieczny i chroniony!):

swaks 
  --server smtp.sparkpostmail.com:587 
  --tls 
  --auth-user SMTP_Injection 
  --auth-password "YOUR_AUTH_KEY" 
  -f me@from.com 
  -t them@recipient.com

Jeśli szukasz wskazówek, jak rozwiązywać problemy z wysyłaniem przez SMTP do naszych serwerów, sprawdź nasz artykuł o rozwiązywaniu problemów SMTP. Do podstawowego testowania połączeń SMTP możesz również zweryfikować połączenia SMTP za pomocą manualnych sesji telnetowych.

Odnosząc się do najlepszych praktyk bezpieczeństwa, SparkPost zdeprecjonował wszystkie starsze wersje TLS z wyjątkiem v1.2 i nowszych. Jeśli chcesz sprawdzić, czy Twój system jest kompatybilny, SWAKS pozwala na testowanie konkretnych wersji TLS i szyfrów.

swaks 
  -s smtp.sparkpostmail.com:587 
  --tls 
  -f me@from.com 
  -t them@recipient.com 
  --auth-user SMTP_Injection 
  --auth-password "YOUR_API_KEY" 
  -tlsp tlsv1_2 
  --tls-cipher ECDHE-RSA-AES128-GCM-SHA256

W tym przykładzie używamy „tlsv1_2”, ale śmiało zmień to na „tlsv1_1” i użyj na innych domenach, aby zaobserwować ich kompatybilność.

A co jeśli chcesz zmierzyć czas, jak szybko serwer poczty odpowiada? SWAKS może przejść przez cykl SMTP i odłączyć się w niektórych punktach bez wysyłania wiadomości, a możesz to zmierzyć za pomocą polecenia „time”, które pokazuje na końcu wyników:

$ time swaks -s 127.0.0.1 
  -f sender@from.com 
  -t them@recipient.com 
  test 
  --quit-after RCPT
=== Trying 127.0.0.1:25...
=== Connected to 127.0.0.1.
...
 -> RCPT TO:<them@recipient.com>
<- 250 2.1.5 <them@recipient.com> ok
 -> QUIT
<

Jak obiecano, jeśli dotarłeś tak daleko, nagrodą jest ten prosty konfigurator do ustawienia domyślnych parametrów:

$ cd $HOME
$ vim .swaksrc

Skopiuj i wklej to do pliku .swaksrc:

--from swakstest@jasdevism.com
-h-From: "Jas Swaks" <swakstest@jasdevism.com>
-s 127.0.0.1
--body "This is a test!"
--to jsingh@sparkpost.com

Gdy to zapiszesz, po prostu wpisz „swaks”, a wszystko zostanie automatycznie uzupełnione i wysłane w drogę! Jeszcze lepiej, możesz zastąpić, dodając na linii poleceń, na przykład jeśli chcesz innego odbiorcę:

swaks -t recipient@somewherelse.com
A person is standing at a desk while typing on a laptop.

Kompletna, AI-native platforma, która skaluje się wraz z Twoim business.

Produkt

Rozwiązania

Zasoby

Company

Ustawienia prywatności

Już wkrótce

Social

Biuletyn

Bądź na bieżąco z Bird dzięki cotygodniowym aktualizacjom do Twojej skrzynki odbiorczej.

Zarejestruj się

A person is standing at a desk while typing on a laptop.

Kompletna, AI-native platforma, która skaluje się wraz z Twoim business.

Produkt

Rozwiązania

Zasoby

Company

Ustawienia prywatności

Social

Biuletyn

Bądź na bieżąco z Bird dzięki cotygodniowym aktualizacjom do Twojej skrzynki odbiorczej.

Zarejestruj się