Como Usar SWAKS com SparkPost

Pássaro

24 de jun. de 2021

Email

1 min read

Como Usar SWAKS com SparkPost

Principais Conclusões

    • SWAKS (Canivete Suíço para SMTP) é uma poderosa ferramenta de linha de comando para envio de e-mails e teste de conexões SMTP de maneira flexível e amigável para scripts.

    • Ele simplifica o teste manual de SMTP em comparação com o telnet, oferecendo flags claras, manuseio de autenticação, anexos, testes de TLS, temporização e cabeçalhos personalizados.

    • A ferramenta funciona em várias plataformas e é amigável para iniciantes, apesar de suas extensas capacidades.

    • O uso básico inclui o envio de uma mensagem simples, adição de linhas de assunto, inclusão de cabeçalhos e envio de anexos sem conversão manual para base64.

    • SWAKS é ideal para verificações de confiabilidade e monitoramento — pode ser agendado via cron para realizar envios regulares de “ainda funciona?”.

    • Ele também pode medir a latência e a velocidade de conexão ao cronometrar os handshakes SMTP sem enviar um e-mail completo.

    • SWAKS suporta testes detalhados de TLS, incluindo a validação da compatibilidade com padrões modernos, como TLS 1.2 (exigido pelo SparkPost).

    • Ao usar o SparkPost, o SWAKS permite a injeção fácil nos servidores SMTP do SparkPost usando uma chave de API para autenticação.

    • A imposição da versão TLS (por exemplo, tlsv1_2) permite que os remetentes testem seus ambientes e garantam conformidade com as deprecações do SparkPost.

    • SWAKS fornece depuração detalhada, tornando-o útil para validar configurações de SMTP e diagnosticar conexões falhadas.

    • Um arquivo de configuração .swaksrc permite que os usuários armazenem parâmetros padrão, possibilitando o envio com um comando para testes repetidos.

    • SWAKS suporta substituições de linha de comando, permitindo que os usuários ajustem qualquer campo dinamicamente quando necessário.

Destaques de Perguntas e Respostas

  • O que é SWAKS?

    Uma ferramenta de teste SMTP flexível de linha de comando conhecida como o "Canivete Suíço" para e-mail.

  • Por que usar SWAKS em vez de telnet?

    Ele automatiza o handshake SMTP, suporta autenticação, TLS, anexos e cabeçalhos, tornando os testes mais fáceis e poderosos.

  • Quais plataformas o SWAKS suporta?

    Linux, macOS e a maioria dos sistemas semelhantes ao Unix, com sintaxe semelhante entre eles.

  • Como envio um e-mail de teste básico com o SWAKS?

    Ao executar um comando simples especificando o destinatário, o remetente e o endereço do servidor.

  • O SWAKS pode enviar mensagens com linhas de assunto e cabeçalhos personalizados?

    Sim — ele suporta assuntos, substituições de de/para e injeção de cabeçalho arbitrária.

  • O SWAKS suporta o envio de anexos?

    Sim — e ele lida automaticamente com a codificação base64 para você.

  • O SWAKS pode ajudar a testar a compatibilidade com o TLS?

    Absolutamente — você pode forçar versões específicas do TLS (como TLS 1.2) ou testar o suporte a cifras.

  • Por que o TLS 1.2 é importante ao enviar para o SparkPost?

    Versões mais antigas do TLS são obsoletas; o SparkPost requer TLS 1.2+ para conexões seguras.

  • Como faço para autenticar com o SparkPost ao usar o SWAKS?

    Usando sua chave de API SparkPost como a senha SMTP durante o comando.

  • O SWAKS pode medir desempenho ou latência?

    Sim — usando o comando time e ciclos SMTP parciais para medir a velocidade de handshake.

  • O SWAKS suporta automação?

    Sim — você pode executá-lo por meio de tarefas cron para testar repetidamente ambientes SMTP.

  • O que é um arquivo .swaksrc e por que usá-lo?

    É um arquivo de configuração que armazena parâmetros padrão do SWAKS, permitindo o envio com um comando e substituições opcionais.

No ano passado, publicamos um artigo no blog que mostra como usar a ferramenta telnet, onipresente e muito útil, para verificar uma conexão SMTP.

O próximo passo é simplificar o processo manual usando uma ferramenta incrível "de próximo nível" (que se refere a si mesma como o canivete suíço do email) chamada SWAKS. Esta é uma ferramenta de linha de comando que pode enviar emails via SMTP. Não só é fácil de usar, mas também fornece simultaneamente uma infinidade de opções quando necessário.

No início, fiquei intimidado pela quantidade de opções, mas é perfeitamente utilizável com as opções mais básicas. Se você tiver algum problema, basta marcar esta página, copiar e colar os exemplos e modificá-los ao seu gosto. No final deste blog, uma vez que você tenha ganhado alguma familiaridade e não tenha muita variação/dinâmica nos seus comandos SWAKS, eu vou mostrar como criar um arquivo de configuração que pré-configura todos os seus parâmetros padrão. Isso torna a execução do SWAKS literalmente a um botão (OK, "tecla") de distância! 

Para o propósito deste exercício, vamos executar os comandos de um servidor CentOS 7, mas os comandos são semelhantes em todas as plataformas suportadas. Como mencionado acima, se você estiver preso, basta copiar e colar diretamente no seu sistema e modificar o que precisar. Aqui estão os básicos:

No ano passado, publicamos um artigo no blog que mostra como usar a ferramenta telnet, onipresente e muito útil, para verificar uma conexão SMTP.

O próximo passo é simplificar o processo manual usando uma ferramenta incrível "de próximo nível" (que se refere a si mesma como o canivete suíço do email) chamada SWAKS. Esta é uma ferramenta de linha de comando que pode enviar emails via SMTP. Não só é fácil de usar, mas também fornece simultaneamente uma infinidade de opções quando necessário.

No início, fiquei intimidado pela quantidade de opções, mas é perfeitamente utilizável com as opções mais básicas. Se você tiver algum problema, basta marcar esta página, copiar e colar os exemplos e modificá-los ao seu gosto. No final deste blog, uma vez que você tenha ganhado alguma familiaridade e não tenha muita variação/dinâmica nos seus comandos SWAKS, eu vou mostrar como criar um arquivo de configuração que pré-configura todos os seus parâmetros padrão. Isso torna a execução do SWAKS literalmente a um botão (OK, "tecla") de distância! 

Para o propósito deste exercício, vamos executar os comandos de um servidor CentOS 7, mas os comandos são semelhantes em todas as plataformas suportadas. Como mencionado acima, se você estiver preso, basta copiar e colar diretamente no seu sistema e modificar o que precisar. Aqui estão os básicos:

No ano passado, publicamos um artigo no blog que mostra como usar a ferramenta telnet, onipresente e muito útil, para verificar uma conexão SMTP.

O próximo passo é simplificar o processo manual usando uma ferramenta incrível "de próximo nível" (que se refere a si mesma como o canivete suíço do email) chamada SWAKS. Esta é uma ferramenta de linha de comando que pode enviar emails via SMTP. Não só é fácil de usar, mas também fornece simultaneamente uma infinidade de opções quando necessário.

No início, fiquei intimidado pela quantidade de opções, mas é perfeitamente utilizável com as opções mais básicas. Se você tiver algum problema, basta marcar esta página, copiar e colar os exemplos e modificá-los ao seu gosto. No final deste blog, uma vez que você tenha ganhado alguma familiaridade e não tenha muita variação/dinâmica nos seus comandos SWAKS, eu vou mostrar como criar um arquivo de configuração que pré-configura todos os seus parâmetros padrão. Isso torna a execução do SWAKS literalmente a um botão (OK, "tecla") de distância! 

Para o propósito deste exercício, vamos executar os comandos de um servidor CentOS 7, mas os comandos são semelhantes em todas as plataformas suportadas. Como mencionado acima, se você estiver preso, basta copiar e colar diretamente no seu sistema e modificar o que precisar. Aqui estão os básicos:

Instalar SWAKS

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

Enviando seu primeiro e-mail com SWAKS

Uma vez instalado, aqui está a sintaxe básica para enviar uma mensagem. Neste exemplo, estamos usando o endereço local do servidor:


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


Envie uma mensagem com um cabeçalho de linha “Assunto” + outros cabeçalhos e então inclua um texto “Olá Mundo!” no corpo:


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!"


Veja como adicionar um anexo, onde o SWAKS faz a conversão para base64 para você, ótimo para testar limites de tamanho de mensagens:


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

Uma vez instalado, aqui está a sintaxe básica para enviar uma mensagem. Neste exemplo, estamos usando o endereço local do servidor:


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


Envie uma mensagem com um cabeçalho de linha “Assunto” + outros cabeçalhos e então inclua um texto “Olá Mundo!” no corpo:


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!"


Veja como adicionar um anexo, onde o SWAKS faz a conversão para base64 para você, ótimo para testar limites de tamanho de mensagens:


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

Uma vez instalado, aqui está a sintaxe básica para enviar uma mensagem. Neste exemplo, estamos usando o endereço local do servidor:


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


Envie uma mensagem com um cabeçalho de linha “Assunto” + outros cabeçalhos e então inclua um texto “Olá Mundo!” no corpo:


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!"


Veja como adicionar um anexo, onde o SWAKS faz a conversão para base64 para você, ótimo para testar limites de tamanho de mensagens:


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

Técnicas avançadas de teste SWAKS

Você está quase pronto com os conceitos básicos! Agora, vamos ver como você pode melhorar sua configuração. Aqui estão algumas ideias:

  • Use um programador como o chron para fazer testes básicos de 'funciona?' que podem servir como base  ou até mesmo aumentar seu sistema de monitoramento.

  • Meça a latência ao conectar e fechar uma conexão com um servidor de e-mail.

  • Teste diferentes versões e cifras de TLS

Você não ficará sozinho aqui, eu vou te mostrar como fazer tudo isso.

Você está quase pronto com os conceitos básicos! Agora, vamos ver como você pode melhorar sua configuração. Aqui estão algumas ideias:

  • Use um programador como o chron para fazer testes básicos de 'funciona?' que podem servir como base  ou até mesmo aumentar seu sistema de monitoramento.

  • Meça a latência ao conectar e fechar uma conexão com um servidor de e-mail.

  • Teste diferentes versões e cifras de TLS

Você não ficará sozinho aqui, eu vou te mostrar como fazer tudo isso.

Você está quase pronto com os conceitos básicos! Agora, vamos ver como você pode melhorar sua configuração. Aqui estão algumas ideias:

  • Use um programador como o chron para fazer testes básicos de 'funciona?' que podem servir como base  ou até mesmo aumentar seu sistema de monitoramento.

  • Meça a latência ao conectar e fechar uma conexão com um servidor de e-mail.

  • Teste diferentes versões e cifras de TLS

Você não ficará sozinho aqui, eu vou te mostrar como fazer tudo isso.

Usando SWAKS com SparkPost SMTP

Desta vez, vamos injetar nos nossos servidores SparkPost.

Envie uma mensagem para nossos servidores SparkPost (Como criar a chave da API, e as opções SMTP). Depois de obter sua chave de autenticação, cole-a no comando (garanta que mantenha a chave em segurança!):


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

Se você está procurando orientação sobre como solucionar problemas ao enviar via SMTP para nossos servidores, confira nosso artigo de solução de problemas SMTP. Para testes básicos de conexão SMTP, você também pode verificar conexões SMTP usando sessões telnet manuais.

Testando versões de TLS e compatibilidade de cifragem

Seguindo as melhores práticas de segurança, o SparkPost descontinuou todas as versões anteriores do TLS, exceto v1.2 e acima. Se você quiser ver se seu sistema é compatível, o SWAKS permite que você teste versões e cifras específicas do TLS.


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

Neste exemplo, estamos usando “tlsv1_2”, mas sinta-se à vontade para mudar para “tlsv1_1” e usá-lo em outros domínios para observar sua compatibilidade.

Medição de latência na conexão SMTP

E se você quiser medir quão rápido um servidor de e-mail responde? O SWAKS pode percorrer o ciclo SMTP e se desconectar em alguns pontos sem enviar uma mensagem, e você pode medir isso usando o comando “time”, que mostra ao final da saída:


$ 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
<

Desta vez, vamos injetar nos nossos servidores SparkPost.

Envie uma mensagem para nossos servidores SparkPost (Como criar a chave da API, e as opções SMTP). Depois de obter sua chave de autenticação, cole-a no comando (garanta que mantenha a chave em segurança!):


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

Se você está procurando orientação sobre como solucionar problemas ao enviar via SMTP para nossos servidores, confira nosso artigo de solução de problemas SMTP. Para testes básicos de conexão SMTP, você também pode verificar conexões SMTP usando sessões telnet manuais.

Testando versões de TLS e compatibilidade de cifragem

Seguindo as melhores práticas de segurança, o SparkPost descontinuou todas as versões anteriores do TLS, exceto v1.2 e acima. Se você quiser ver se seu sistema é compatível, o SWAKS permite que você teste versões e cifras específicas do TLS.


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

Neste exemplo, estamos usando “tlsv1_2”, mas sinta-se à vontade para mudar para “tlsv1_1” e usá-lo em outros domínios para observar sua compatibilidade.

Medição de latência na conexão SMTP

E se você quiser medir quão rápido um servidor de e-mail responde? O SWAKS pode percorrer o ciclo SMTP e se desconectar em alguns pontos sem enviar uma mensagem, e você pode medir isso usando o comando “time”, que mostra ao final da saída:


$ 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
<

Desta vez, vamos injetar nos nossos servidores SparkPost.

Envie uma mensagem para nossos servidores SparkPost (Como criar a chave da API, e as opções SMTP). Depois de obter sua chave de autenticação, cole-a no comando (garanta que mantenha a chave em segurança!):


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

Se você está procurando orientação sobre como solucionar problemas ao enviar via SMTP para nossos servidores, confira nosso artigo de solução de problemas SMTP. Para testes básicos de conexão SMTP, você também pode verificar conexões SMTP usando sessões telnet manuais.

Testando versões de TLS e compatibilidade de cifragem

Seguindo as melhores práticas de segurança, o SparkPost descontinuou todas as versões anteriores do TLS, exceto v1.2 e acima. Se você quiser ver se seu sistema é compatível, o SWAKS permite que você teste versões e cifras específicas do TLS.


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

Neste exemplo, estamos usando “tlsv1_2”, mas sinta-se à vontade para mudar para “tlsv1_1” e usá-lo em outros domínios para observar sua compatibilidade.

Medição de latência na conexão SMTP

E se você quiser medir quão rápido um servidor de e-mail responde? O SWAKS pode percorrer o ciclo SMTP e se desconectar em alguns pontos sem enviar uma mensagem, e você pode medir isso usando o comando “time”, que mostra ao final da saída:


$ 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
<

Automatizando o SWAKS com um arquivo de configuração

Como prometido, se você chegou até aqui, a recompensa é esta simples configuração de um arquivo para definir parâmetros padrão:


$ cd $HOME
$ vim .swaksrc


Copie e cole isso no arquivo .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


Uma vez que você o salve, basta digitar "swaks" e ele pré-preenche tudo e envia! Melhor ainda, você pode substituir adicionando na linha de comando, digamos, por exemplo, se você quiser um destinatário diferente:


swaks -t recipient@somewherelse.com

Como prometido, se você chegou até aqui, a recompensa é esta simples configuração de um arquivo para definir parâmetros padrão:


$ cd $HOME
$ vim .swaksrc


Copie e cole isso no arquivo .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


Uma vez que você o salve, basta digitar "swaks" e ele pré-preenche tudo e envia! Melhor ainda, você pode substituir adicionando na linha de comando, digamos, por exemplo, se você quiser um destinatário diferente:


swaks -t recipient@somewherelse.com

Como prometido, se você chegou até aqui, a recompensa é esta simples configuração de um arquivo para definir parâmetros padrão:


$ cd $HOME
$ vim .swaksrc


Copie e cole isso no arquivo .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


Uma vez que você o salve, basta digitar "swaks" e ele pré-preenche tudo e envia! Melhor ainda, você pode substituir adicionando na linha de comando, digamos, por exemplo, se você quiser um destinatário diferente:


swaks -t recipient@somewherelse.com

Outras notícias

Leia mais desta categoria

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

A plataforma completa nativa de IA que escalará com o seu negócio.

© 2025 Pássaro

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

A plataforma completa nativa de IA que escalará com o seu negócio.

© 2025 Pássaro