autor dobrovolně přispěl tímto tutoriálem jako součást programu Pepipost Write to Contribute.

Úvod

oznámení jsou v těchto dnech stále důležitější, aby zůstala aktualizována mezi různými online aktivitami. Tato oznámení mohou být navíc e-maily, SMS nebo push. Tento tutoriál vám ukáže nejjednodušší způsob odesílání oznámení přes jeden z nejpopulárnějších kanálů, kterým je e-mail. Naučíte se proces odesílání e-mailů z terminálu nebo skriptu shellu z operačního systému Linux pomocí některých populárních nástrojů CLI.

tento tutoriál vám pomůže při odesílání kritických e-mailů na úrovni serveru, jako jsou zprávy Cron, protokoly skriptů, registrace zákazníků, potvrzení, bankovní výpis přes e-mail. Existuje mnoho způsobů, jak odesílat e-maily ze serveru, ale pojďme prozkoumat nástroj, který se snadno instaluje a snadno kóduje.

s jednoduchými knihovnami a malými konfiguracemi můžete mít v operačním systému Linux nástroj CLI, který můžete použít k odesílání e-mailů z terminálu.

předpoklady

  • operační systém Linux
  • konfigurace SMTP (podrobnosti o serveru SMTP a přihlašovací údaje)
  • váš oblíbený editor (Volitelné)
  • nakonfigurujte Gmail SMTP / ready s jakýmikoli dalšími podrobnostmi SMTP serveru. V tomto tutoriálu budete používat Gmail SMTP k odesílání e-mailů, takže se ujistěte, že;
    undefinedundefined

konfigurace serveru Google SMTP by vypadaly asi takto:

  • SMTP Server/název hostitele: smtp.gmail.com
  • SMTP uživatelské jméno:
  • SMTP heslo:
  • SMTP Port: 587
  • TLS/SSL: povinné

je čas otevřít terminál

existují různé nástroje a knihovny, které můžete nainstalovat pro odesílání e-mailů z terminálu. Několik populárních knihoven je:

  • Ssmtp
  • Mailx

v tomto tutoriálu se dozvíte kroky, jak nainstalovat a používat ssmtp k odesílání e-mailů z příkazového řádku systému Linux. Klikněte zde, pokud se chcete dozvědět, jak nainstalovat a používat Mailx k odesílání e-mailů z příkazového řádku systému Linux.

jak nainstalovat sSMTP Chcete-li odesílat e-maily z příkazového řádku systému Linux (CLI)

Krok 1

použijte níže uvedený příkaz k instalaci ssmtp:

sudo apt-get install ssmtp

Volitelné:
Uživatelé CentOS mohou použít níže uvedený příkaz k instalaci ssmtp:

sudo yum install ssmtp

v CentOSu se může během instalace zobrazit chyba, protože „balíček ssmtp není k dispozici“, v takovém případě níže uvedený příkaz bude užitečný k vyřešení problému:

sudo yum --enablerepo=extras install epel-release

Krok 2

po úspěšné instalaci ssmtp musíte provést níže uvedené globální konfigurace, které jsou vyžadovány pro odesílání pošty.

otevřete následující soubor ve svém oblíbeném editoru:

sudo vim /etc/ssmtp/ssmtp.conf

upravte výše uvedený soubor s níže uvedenými podrobnostmi:

mailhub=smtp.gmail.com:587useSTARTTLS=YESAuthUser=username-hereAuthPass=password-hereTLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt

výše uvedená konfigurace bude použita k odesílání e-mailů pomocí SMTP služby Gmail. V případě, že chcete použít nějaký jiný SMTP třetích stran, uveďte jeho název hostitele. například pokud chcete použít Pepipost SMTP, pak místo smtp.gmail.com, je třeba zmínit smtp.pepipost.com v parametru mailhub. mailhub se používá pro adresu SMTP serveru, který se skládá ze dvou částí hostitele: port

Nyní jste všichni nastaveni na odesílání e-mailů z příkazového řádku (CLI).

Krok 3

existuje několik způsobů, jak použít příkaz ssmtp k odesílání e-mailů.

případ 1: Odeslat poštu přímo z příkazového řádku

za tímto účelem zkopírujte níže uvedený příkaz a jste připraveni odeslat e-mail z příkazového řádku:

echo "Test message from Linux server using ssmtp" | sudo ssmtp -vvv 

-VVV je upovídanost vidět protokoly při odesílání pošty

Případ 2: odeslat poštu ze skriptu shellu

můžete použít stejný ssmtp k odesílání pošty ze skriptu shellu. Za tímto účelem otevřete preferovaný editor a vytvořte soubor skriptu shellu s názvem saymail.Shand kopírovat-vložit níže uvedený kód:

#!/bin/sh SUBJECT="Test Subject"TO=""MESSAGE="Hey There! This is a test mail"echo $MESSAGE | sudo ssmtp -vvv $TO

ujistěte se, že jste nastavili správné oprávnění Přístup k souboru skriptu. Pokud ne, Zde je příkaz k nastavení oprávnění:

$ sudo chmod 755 mail.sh 

nyní je Kód připraven k provedení. Stačí spustit skript shellu pomocí níže uvedeného příkazu:

$ sudo ./mail.sh

doufám, že nyní budete moci odesílat e-maily také pomocí skriptu shell.

níže je několik chyb / výjimek, se kterými se můžete setkat při odesílání pošty pomocí ssmtp:

chyba 1

v případě, že při odesílání e-mailu, pokud by se mohla dostat Níže uvedená chyba jako výstup:
Ssmtp: autorizace selhala (535 5.7.8 https://support.google.com/mail/?p=BadCredentials u65smyez14952a76922r5pfui.104-gsmtp)

 220 smtp.gmail.com ESMTP u65sm14952769pfu.104 - gsmtp EHLO kali 250 SMTPUTF8 STARTTLS 220 2.0.0 Ready to start TLS EHLO kali 250 SMTPUTF8 AUTH LOGIN 334 VXNlcm5edhbAWU6 dmlzaGFsY2hhasd2dWhhbjIyMTJAZ21haWwuY29t 334 EUEeGFzc3dvfcaqQ6 535 5.7.8 https://support.google.com/mail/?p=BadCredentials u65smyez14952a76922r5pfui.104 - gsmtpssmtp: Authorization failed (535 5.7.8 https://support.google.com/mail/?p=BadCredentials u65smyez14952a76922r5pfui.104 - gsmtp):~/Documents/Scripts$ 

řešení: V takovém případě zkuste provést následující řešení:

  1. povolte „povolit méně bezpečnou aplikaci“ v nastavení účtů google, jak je vysvětleno ve výše uvedené části předpokladů.
  2. zadané přihlašovací údaje mohou být neplatné. Ujistěte se, že máte správná pověření.

jakmile je problém vyřešen, znovu spusťte skript shellu a výstup úspěchu bude něco takového;

$ sudo ./mail.sh

výstup:

 220 smtp.gmail.com ESMTP h8sm1096aae22880pfo.64 - gsmtp EHLO kali 250 SMTPUTF8 STARTTLS 220 2.0.0 Ready to start TLS EHLO kali 250 SMTPUTF8 AUTH LOGIN 334 VXNlcm5edhbAWU6 dmlzaGFsY2hhasd2dWhhbjIyMTJAZ21haWwuY29t 334 UGFzqc3dmvcmQ36 235 2.7.0 Accepted MAIL FROM:<> 250 2.1.0 OK h8smqer10962480pfo.64 - gsmtp RCPT TO:<> 250 2.1.5 OK h8smqer10962480pfo.64 - gsmtp DATA 354 Go ahead h8sm10962880pfo.64 - gsmtp Received: by kali (sSMTP sendmail emulation); Thu, 19 Sep 2019 21:45:14 +0530 From: "root" <> Date: Thu, 19 Sep 2019 21:45:14 +0530 Hey There! This is a test mail . 250 2.0.0 OK 1568909725 h8smqer10962480pfo.64 - gsmtp QUIT 221 2.0.0 closing connection h8smqer10962480pfo.64 - gsmtp

závěr

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.