Hostwinds Tutoriels
Résultats de recherche pour:
Table des matières
Pour mieux comprendre ce que SMTP-CLI est, parlons de ce que ce n'est pas;SMTP-CLI n'est pas un serveur de messagerie ou un agent de relais;Ce n'est pas non plus un moyen d'envoyer des volumes élevés de courrier.C'est un client de messagerie qui permet d'envoyer du texte, du code HTML, des fichiers et des images de la ligne de commande et des scripts.
Au lieu de créer un autre serveur de messagerie, vous pouvez utiliser SMTP-CLI pour envoyer des mises à jour à partir de votre (s) VPS via un compte de messagerie distant pour surveiller la santé ou le statut. Vous pouvez également configurer un travail cron pour transférer les journaux dans le cadre du durcissement de la sécurité du serveur. Cela permet à votre serveur de fonctionner plus ou moins sans surveillance, sauf que des erreurs ne sont trouvées ou que des limites sont approchées.
Nous utiliserons GIT pour saisir le script SMTP-CLI de GitHub. Si vous ne l'avez pas déjà installé, vous pouvez l'installer comme ceci:
# yum install -y git
# apt-get install -y git
# git clone https://github.com/mludvig/smtp-cli.git
Le script SMTP-CLI (la pièce Les exécutions) se trouve à l'intérieur d'un répertoire appelé SMTP-CLI, et à l'intérieur est un fichier appelé SMTP-cli (le drapeau -l de la commande nous permet de consulter les attributs de fichier pour vous assurer qu'il est sûr qu'il est exécutable).
# ls -l smtp-cli
Si ces "x" sont à la place "-", exécutez cette commande pour rendre le fichier exécutable.
# chmod +x smtp-cli/smtp-cli
Maintenant, nous pouvons tester pour voir si cela fonctionne.
# smtp-cli/smtp-cli
Ce qui devrait entraîner une erreur comme celle-ci
C'est bizarre d'avoir une erreur, mais comme nous testons juste pour nous assurer que le script est téléchargé et exécutable, c'est tout ce dont nous avons besoin pour le moment.
Maintenant, nous allons vérifier notre PATH global (où le VPS vérifie quand j'exécute des choses à partir de la ligne de commande sans chemin complet)
# echo $PATH
Et copiez le smtp-cli dans le répertoire sbin de l'utilisateur dans votre PATH par défaut.
# cp smtp-cli/smpt-cli /usr/local/sbin
ls -l /usr/local/sbin/smtp*
Maintenant, nous pouvons exécuter SMTP-CLI à partir de n'importe quel répertoire du VPS sans vous soucier de l'inclusion du chemin complet du fichier.
Parce que placer votre mot de passe non crypté dans un script est à peu près le plus sûr, sans parler de manière difficile à gérer un mot de passe, nous créerons un fichier contenant nos informations de mot de passe. Cela nous permet de mettre à jour notre mot de passe facilement et de rendre un acteur malveillant au moins à rechercher les informations.
Étant donné que je suis en train d'exécuter en tant qu'utilisateur root et crée une racine Cronjob, ce fichier sera dans le répertoire / racine / racine. Votre travail cron peut être dans votre utilisateur Crontab en fonction des privilèges que vous êtes accordé par votre administrateur système, auquel cas vous pouvez stocker cela dans le nom / Nom d'utilisateur.
# touch /root/.passwd
echo 'SomeRandomPassword' > /root/.passwd
Notez que «Somerandompasswordword» devra être le plaintext de votre mot de passe de messagerie réel pour votre compte de messagerie à distance.
Nous arrivons maintenant à la bonne partie, l'envoi d'un e-mail dans le cadre d'un script ou depuis la ligne de commande. Je vais le tester en envoyant le fichier que nous avons créé dans le cadre de notre guide vnstat.
En guise de note, la partie $ (some command) ci-dessous permet à une commande d'être exécutée en ligne et d'utiliser la sortie de cette commande comme entrée pour l'argument.
# smtp-cli --verbose --server mail.emaildomain.TLD:587 --enable-auth --user smtp-cli_guide@emaildomain.TLD --pass $(cat /root/.passwd) --from smtp-cli_guide@emaildomain.TLD --to test2@emaildomain.TLD --subject VPS-stats --attach /var/www/html/vps_bandwidth_stats.png
Maintenant que nous savons que cela fonctionne, nous pouvons placer la commande dans un script bash ou une tâche cron.
#!/etc/bash
smtp-cli --verbose --server mailservername.emaildomain.TLD:587 --enable-auth --user login-user@emaildomain.TLD --pass $(cat /root/.passwd) --from email_orinator@emaildomain.TLD --to email_destination@emaildomain.TLD --subject subject-line --attach /full/path/filename.tosend >> /path/to/logfile.log
--help
--body-plain=<text|filename>
--body-html=<text|filename>
Bien que cet exemple fournisse la possibilité de configurer des scripts ou des cronjobs, ce mailer simple peut également envoyer du courrier en utilisant des variables globales ou une sortie pour d'autres scripts de surveillance; Tous ces outils peuvent envoyer des alertes simples ou des données de diagnostic complexes à votre courrier électronique en fonction d'un intervalle régulier ou d'un événement déclencheur.
Plusieurs problèmes différents peuvent survenir lors de l'utilisation du script. Le premier numéro serait comment votre serveur de messagerie authentifie. Entrez-vous une adresse e-mail complète ou juste un nom d'utilisateur? C'est ce dont vous aurez besoin après l'argument -User. L'exemple suppose que vous entrez l'adresse e-mail complète comme -Utilisateur. Utilisez quelles informations d'identification vous utilisez normalement pour votre serveur.
Le deuxième domaine problématique est le champ –from. Assurez-vous qu'il s'agit du compte de messagerie auquel vous vous connectez. Vous ne pouvez pas envoyer de courrier à partir d'un compte que vous ne contrôlez pas.
Le troisième est le nom du serveur et la sélection de ports du champ -Server. Ce nom devrait être un nom de domaine entièrement qualifié de votre serveur de messagerie sortant, suivi d'un: PortNumber. Les ports standard pour SMTP sont 25, 587, 465.
Enfin, le champ -Pour doit être une adresse électronique valide ou n'atteint jamais une destination.
Écrit par Paul Schene / juillet 10, 2020