co je Sendmail?
sendmail je velmi prostý a jednoduchý MTA (Mail Transfer Agent), který implementuje SMTP (Simple Mail Transfer Protocol) mezi ostatní a mohou být použity pro přenos e-mailů, obvykle i na nejlevnější KVM VPS s operačním systémem Linux., Zatímco tam je komerční verze k dispozici, které se nazývá „Sendmail“, sendmail, budeme krýt v tomto, jak-na článek je UNIX-založené verze, která přichází s skoro každé distribuce Linuxu, stejně jako *BSD (FreeBSD, OpenBSD a varianty). Pomocí sendmail příkaz může být nejvíce snadný způsob, jak posílat e-maily přes Linux shell CLI (Command Line Interface), na rozdíl od mailx, které mohou být použity ve spojení s sendmail, aby se to ještě jednodušší, jak posílat a přijímat e-maily z příkazového řádku., Jak již název napovídá, sendmail sám může odesílat pouze e-maily a ne ukládat přijaté do poštovních schránek POP nebo IMAP.
kde se nachází Sendmail a jeho konfigurační soubory?
první zajímavé informace, které bychom mohli potřebovat pro testování sendmail je cesta binární soubor, který dostane proveden, pokud bychom vydat příkaz sendmail na naše příkazového řádku., Zjistit, použijeme příkaz, který, jak je uvedeno níže:
# které sendmail/usr/sbin/sendmail
výše uvedený výstup znamená, že plná cesta k příkazu sendmail binární soubor je /usr/sbin/sendmail, který byste měli vzít na vědomí pro další kroky níže.
Pokud chcete upravit konfigurační soubory sendmailu, můžete obvykle najít v adresáři /etc/mail/ na UNIXU (FreeBSD, OpenBSD) a Linux (CentOS, Fedora, Debian, Ubuntu) systémy. Hlavní konfigurační soubor sendmail je / etc / mail / sendmail.,cf, nicméně úprava, která není součástí tohoto tutoriálu. Dobrým místem pro více informací je ruční stránka sendmail, kterou si můžete prohlédnout spuštěním příkazu man sendmail. Nyní k zajímavé části tohoto tutoriálu příkazového řádku sendmail.
Jak Otestovat Sendmail Příkaz Na Linuxu
rychle otestovat, zda příkaz sendmail pracuje správně, a pak jej použít například v shell skripty, pomocí příkazového řádku, nebo dokonce z PHP skriptů (PHP podporuje sendmail pro odesílání e-mailů z PHP skriptů – můžete nastavit sendmail cestu v php.,ini), můžete se vydat pod velení na vašem UNIX nebo Linux systému:
echo "Předmět: sendmail test" | sendmail -v [email protected]
[email protected] je samozřejmě e-mailovou adresu, kterou chcete otestovat e-mail bude odeslán. Tento příklad příkazového řádku sendmail odešle prázdný e-mail s předmětem „sendmail test“ na [email protected] pokud je test úspěšný. Můžete také posílat delší e-maily obsahující předmět, tělo a další záhlaví, pokud chcete, ale jen otestovat, zda sendmail funguje, což se obvykle nevyžaduje. Přesto je zde návod, jak to udělat:
1.,) Vytvořit soubor s názvem mail.txt (nebo něco, co se vám líbí) v ~/mail.txt s vim nebo nano nebo preferovaným textovým editorem
2.) Vložte následující obsah, ale samozřejmě nastavení e-mailové adresy, jako ty, jsou jen sendmail příklady příkazů:
K: [email protected]: sendmail test twoFrom: [email protected]
a tady jde e-mail tělo, testovací test..
3.) Nakonec zašleme šablonu e-mailu, kterou jsme právě vytvořili: sendmail-vt < ~/mail.,txt
to je vše – nyní můžete testovat sendmail z příkazového řádku a dokonce odesílat plné e-maily včetně záhlaví z Linuxu/unixového shellu. Níže je příklad, jak jednoduchý sendmail test by mohl vypadat jako na živém systému:
Sendmail A Spam
Jedna věc, kterou bych chtěl dodat je, že vzhledem k tomu, že PHP a další skripty lze obvykle přístup sendmail binární soubory, to může být také použit k rozesílání spamu a phishing mailů, a to je to, co se může stát na sdílené servery, kde účty byly kompromitovány pomocí zastaralého CMS nebo slabá hesla., Pokud chcete zjistit, který script nebo POSIX uživatel je odesílání nevyžádané pošty pomocí sendmail, můžete vydat příkaz níže a věnujte pozornost výstupu:
ps umělé | grep sendmail
Sendmail Závěr
Zatímco sendmail může představovat několik rizik na sdílené nebo nezabezpečené systémy, je to skvělý lehký MTA, které mohou být použity k odesílání e-mailů z shell skriptů, PHP aplikací, nebo dokonce přímo z příkazového řádku., Automaticky také vyjednává STARTTLS pro šifrovaný přenos e-mailů, pokud jej podporuje vzdálený SMTP server, což je užitečná bezpečnostní praxe.