Em algumas situações, enviar uma mensagem XMPP direto da linha de comando pode ser uma solução simples e eficiente para alertas, automações ou bots internos. Neste post, você vai aprender a fazer isso de forma segura usando o cliente sendxmpp e um servidor Openfire.
Pré-requisitos
- Servidor Openfire funcional
- Usuário XMPP criado (por exemplo:
[email protected]) - Cliente
sendxmppinstalado na máquina que vai enviar as mensagens (Debian/Ubuntu)
Instalando o sendxmpp
sudo apt update
sudo apt install sendxmpp
Configurando o usuário remetente
Crie o arquivo de configuração do sendxmpp no home do usuário que vai rodar os comandos:
nano ~/.sendxmpprc
Conteúdo:
[email protected]
senha_do_bot
Agora proteja esse arquivo:
chmod 600 ~/.sendxmpprc
Enviando uma mensagem
Use o comando abaixo para enviar uma mensagem para um destinatário XMPP:
echo "Fala Kemper, teste de shell via XMPP." | sendxmpp -t -j dominio.local [email protected]
Explicando os parâmetros:
-t: envia a mensagem como chat (não como broadcast)-j dominio.local: domínio do seu servidor Openfire[email protected]: destinatário XMPP
Modo de debug (opcional)
Caso queira verificar o que está acontecendo por trás do comando:
echo "Mensagem debug" | sendxmpp -t -d -j dominio.local [email protected]
Automatizando com script bash
Você pode colocar isso num script simples para ser disparado por cron, sensores, alertas ou bots:
#!/bin/bash
TO="[email protected]"
MSG="Servidor está com carga alta! Verifique imediatamente."
echo "$MSG" | sendxmpp -t -j dominio.local "$TO"
TLS e certificados
Se o seu Openfire utiliza STARTTLS com certificados internos/autogerados, pode ser necessário desabilitar a verificação:
echo "Alerta com TLS sem verificação" | sendxmpp -t -j dominio.local -o tls_verify=no [email protected]
Ou adicione no ~/.sendxmpprc:
tls_verify=no
Uso prático
- Alerta de carga, espaço em disco, falha de backup
- Notificação de login suspeito
- Disparo de mensagens via webhook
- Bots internos de monitoramento
Conclusão
Com sendxmpp, você transforma qualquer script shell em um bot XMPP funcional. Integrando com o Openfire, é possível montar soluções de notificação e monitoramento robustas, seguras e 100% locais — sem depender de Telegram, Slack ou outras nuvens externas.
