Základní instalace a konfigurace Sendmailu na Ubuntu Server. Nastavení Sendmail Kontrola funkce mail().

Nejprve malá odbočka

SMTP - Simple Mail Transfer Protocol - služba v sítích TCP/IP pro přenos zpráv (tedy pošty). Pro SMTP se obvykle používá port 25 (viz soubor /etc/services)

POP - Post Office Protocol - se používá pro příjem pošty ze serveru. Výchozí port je 110 (pro protokol POP3)

Nyní se pokusím vysvětlit, jak nastavit malý poštovní server pomocí POP3 a SMTP

Nejprve si nainstalujme potřebný software. Budeme potřebovat sendmail a imap. Pokud používáte verzi Linuxu kompatibilní s RH, budete muset nainstalovat příslušné balíčky.
používám
sendmail-8.11.0
imap-4.7c2

Než začnete nastavovat sendmail, musíte správně nakonfigurovat DNS, jinak tento program nebude fungovat správně (ačkoli můžete nakonfigurovat sendmail tak, aby fungoval bez použití DNS).

Udělejme základní nastavení sendmailu. Chcete-li to provést, musíte spustit nástroj
netconf. Funguje to jak z X, tak z konzole.
Nástroj netconf je k dispozici v RH, Mandrake - o jiných verzích nevím jistě. (není k dispozici v KSI Linux). Samozřejmě musíte být přihlášeni jako root.

Vyberte z nabídky Systém doručování pošty, pak Základní konfigurace sendmailu
Do pole Prezentovat svůj systém jako jednoduše zadejte svůj Doménové jméno
Poté zaškrtněte políčko Přijmout e-mail pro...
Nastavte protokol odesílání zpráv na smtp ( Protokol poštovní brány)

Tyto informace jsou již dostačující pro fungování vašeho sendmailu.
Můžete nainstalovat další možnosti pomocí programu sendmail
netconf. Pokud nemáte sendmail, získáte nezapomenutelný
potěšení z ruční úpravy souboru /etc/sendmail.cf - v něm
nastavení jsou uložena) :)

Nyní udělejme, že sendmail bude přijímat poštu pouze od autorizovaných
adresy. Chcete-li to provést, nemusíte ani konfigurovat samotný sendmail - potřebujete
upravit soubory /etc/hosts.allow a /etc/hosts.deny
První z nich obsahuje seznam hostitelů, kterým je povolen přístup
auto, a ve druhém - zakázáno. Upozornění: navzdory názvu
(povoleno|odmítnuto), omezení, která jsou nastavena prvním souborem
mnohem přísnější.

Příklad. Chcete-li odepřít přístup všem hostitelům kromě vašich počítačů
network přidejte řádek do souboru /etc/hosts.allow
"192.168.1.
To znamená, že síť má adresu 192.168.1.0 a masku 255.255.255.0
Můžete si přečíst více o formátu souborů hosts.allow a hosts.deny,
zadáním příkazu man /etc/hosts.allow

Chcete-li přijímat poštu pouze z „vašich“ domén, musíte přidat do
mc souboru (obvykle /etc/mail/sendmail.mc) následující řádky (použijte
tabulátory, nikoli mezery)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
Scheck_rcpt
# cokoli ukončující lokálně je v pořádku
R< $+ @ $=w >$@OK
R< $+ @ $=R >$@OK

# vše, co pochází z místa, je v pořádku
R$* $: $(dequote "" $&(client_name) $)
R$=w $@ OK
R$=R$@ OK
R$@ $@ OK

# cokoli jiného je falešné
R$* $#error$: "550 Relaying Denied"

Nyní vytvořte soubor /etc/sendmail.cR a zadejte do něj názvy „vašich“ domén -
jeden v každém řádku.
Pouze tyto domény umožní odesílateli přijímat poštu - všichni ostatní obdrží
zpráva 550 Relaying Denied

Nyní je řada na POP3. Po instalaci balíčku imap máte téměř
vše je nastaveno, tzn. Chci říci, že již můžete zkontrolovat konfiguraci.

Nejprve restartujte démona inetd
Po jeho restartu se aktivují služby sendmail a popd (přesněji
jeden sendmail a popd se volá podle potřeby)

Zkuste následující:
zadejte telnet<имя_только_созданного_почтовика> 25
Měli byste vidět něco takového:
Zkouším 192.168.1.1...
Připojeno k 192.168.1.1
Escape znak je "^]"
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Ne, 17. června 2001 10:54:22 +300

To znamená, že sendmail funguje, zbývá jen zkontrolovat, jak správně je :)

Vstupte
mail od: [e-mail chráněný]
220 2.1.0 [e-mail chráněný].... Odesílatel OK
rcpt na: [e-mail chráněný]
220 2.1.5 [e-mail chráněný].... Příjemce Ok
Nyní zadejte data, poté text zprávy, pro ukončení zadávání vložíme tečku
na prázdném řádku

Sendmail oznámí, že zpráva byla odeslána (přesněji umístěna do
fronta na odjezd)

[e-mail chráněný]-jméno uživatele, kterému posílám poštu.
den.dhsilabs.com - jméno mého mailera
Vezměte prosím na vědomí, že uzel my.host.com v přírodě neexistuje, ale Sender Ok.
Proto je lepší povolit v nastavení sendmailu možnost Čekat na DNS

Nyní musíte některé spustit poštovní klient například kmmail
a vyzvednout poštu.
Nastavení sítě v kmailu
Síť -> Nastavení odesílání pošty SMTP, port 25, název serveru -
jméno vašeho odesílatele,
Mám - den.dhsilabs.com

Poté přidejte účet pro POP3
Kulatina - doupě
Heslo – heslo používané pro přihlášení do systému
Server - den.dhsilabs.com
Přístav - 110

Po datech byste měli obdržet zprávu, kterou jste zadali.

Objevil se již v roce 1983, ale dodnes se aktivně používá. Mezi klíčové vlastnosti- podporované mnoha platformami, které dnes existují, a také zdarma. Aplikace je dodávána s otevřeným zdrojový kód. To znamená, že kdokoli do něj může přidat vlastní funkcionalitu, nebo ji libovolně měnit. V operační systém Ubuntu, Sendmail, který je konfigurován pomocí příkazového řádku Linuxu, se zakořenil díky své dobré podpoře a bohatým možnostem.

Zpracovatel zpráv – Sendmail – se rozšířil v obchodní sféře.

Dnes je zcela běžný „zpracovatel zpráv“ Sendmail Sentrion, který byl vytvořen s ohledem na potřeby velkých společností. Jeho charakteristické rysy- vysoký výkon a dobrá integrace se všemi obchodními procesy. Sentrion nabízí spolu s novými technologiemi použití starších aplikací, které se dobře uchytily. Aplikace je také dostatečně přátelská, aby vyhovovala domácím uživatelům.

Instalace programu

Musíte nainstalovat Sandmail na základnu lokální server nebo webový server. V druhém případě bude poštovní agent funkčnější. Chcete-li získat všechny komponenty webového serveru, budete potřebovat zásobník komponent LAMP. Lze jej nalézt v úložišti.

DŮLEŽITÉ. Před instalací nového softwaru nezapomeňte aktualizovat seznamy balíčků ve vašem místním úložišti pomocí příkazu

"$ sudo apt-get update"

Instalace Sandmailu začíná příkazem „sudo apt install sendmail“, který stáhne balíčky poštovních agentů.

"mcedit /etc/hosts"
"sudo sendmailconfig"

Poté je třeba restartovat služby samotného programu i webu server Apache:

"sudo /etc/init.d/sendmail restart"
"sudo /etc/init.d/apache2 restart"

V případě potřeby můžete nainstalovat nástroje pro práci s poštou:

"sudo install mailutils"

Kontrolujeme funkčnost celého systému:

"pošlete svůj_mail< /dev/null»

kde „vas_mail“ je aktuální poštovní adresa.

A nakonec se podívejme na soubor protokolu. Toto je soubor poštovní služby kde se zobrazí chyby instalace:

"tail -f /var/log/mail.log"

Jediné, co musíte udělat, je jít do krabice E-mailem. Měl by již obsahovat testovací zprávu.

Takže jste se dozvěděli více o programu pro Ubuntu nazvaném Sendmail, jehož nastavení se ukázalo jako ne tak obtížné. Máte-li dotazy ohledně dalších aspektů práce s programy pro Linux, hledejte odpovědi na stránkách našeho webu!

Je nepravděpodobné, že to potřebujete webový server které nemohou odesílat poštu z vašeho webu. Níže je uveden snadný způsob rychlého nasazení poslat mail jako MTA (Mail Transfer Agent) odesílající poštu pro web.

Začít instalace

Sudo apt-get install sendmail

Za druhé a nejdůležitější - správné nastavení samotný hostitel. Odesílatel musí jasně vědět, jaké jméno DNS FQDN hostitel má a že existuje na celosvětové síti.

Předpokládejme, že server, na kterém sendmail funguje má IP adresu 123.123.123.123

Máme také název domény název_domény.com, který je správně delegován na IP adresu serveru.

Úprava souboru /etc/hosts aby server sám znal své DNS jméno (samozřejmě musí být správné a skutečné)

Sudo nano -w /etc/hosts

Druhý řádek, který by měl být přidán, je popis názvu domény serveru, jeho porovnání se skutečnou IP adresou hostitele a interním názvem systému:

127.0.0.1 localhost 123.123.123.123 box1.nazevdomeny.com váš-webový-server

Poté musíte provést změnu v souboru /etc/hostname

Sudo nano -w /etc/hostname

A napište to tam správné jméno server, na který byl vložen /etc/hosts v našem příkladu je to váš webový server.

Obsah souboru /etc/hostname po úpravě:

Váš webový server

Po těchto krocích musíte restartovat server nebo provést:

/etc/init.d/hostname restart A spusťte 2 příkazy: hostname hostname -f

Pokud je vše v pořádku, systém by měl v obou případech vytvářet stejná jména: váš webový server

radím zkontrolovat odeslání dopisu Tím pádem

# telnet localhost smtp nám dává: Zkouším::1... Zkouším 127.0.0.1... Připojeno k localhost. Escape znak je "^]". 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3/8.14.3/Debian-9.2ubuntu1; Čt, 9. prosince 2010 15:31:17 +0200; (Žádný UCE/UBE) protokolování přístupu z: localhost.localdomain(OK)- localhost.localdomain zadejte: HELO localhost nám dává: 250 localhost6.localdomain6 Dobrý den localhost.localdomain , rád vás poznávám zadejte: MAIL FROM: [e-mail chráněný] nám dává: 250 2.1.0 [e-mail chráněný]... Odesílatel ok zadejte: RCPT TO: [e-mail chráněný] nám dává: 250 2.1.5 [e-mail chráněný]... Příjemce ok zadejte: DATA nám poskytla: 354 Zadejte e-mail, zakončete "." na řádku samostatně zadejte testovací zprávu. Doufám, že jste uhodli, že výše uvedený e-mail měl být nahrazen vaším posledním, který nám Telnet píše 250 2.0.0 oB9DVHsE004837 Zpráva přijata k doručení

V důsledku provedení sekvence příkazů na zadaný e-mail ( [e-mail chráněný]) měla by dorazit zpráva („zkušební zpráva“).

Nastavení php.ini

gedit/etc/php5/apache2/php.ini

Najděte a upravte další řádek

sendmail_path = /usr/sbin/sendmail -t -i

Kontrola funkce mail().

echo pošta(" [e-mail chráněný]","zkušební zpráva", "zkušební zpráva","Od: [e-mail chráněný]"); ?>

Nastavení je dokončeno, doufám, že vám to fungovalo nakonfigurovat Sendmail na Ubuntu

Kniha podrobně popisuje nastavení. síťové služby, což vám umožní vytvořit server s požadovanou konfigurací a funkčností založený na OS Linux. Můžete nastavit jakýkoli typ serveru: ze serveru lokální síť na internetový server a server vzdálený přístup. Podrobně je popsána administrace Linuxu.

Prezentace materiálu je založena na distribucích Red Hat a Mandrake. Mnoho unikátních informací: provozování Windows her pod Linuxem a vytvoření linuxového serveru pro hernu, nastavení antivirů Dr. Web a AVP pro Linux, program pro účtování provozu MRTG, systém zabezpečení a detekce útoků LIDS a mnoho dalšího. Zvláštní pozornost je věnována bezpečnosti linuxových serverů. Samotný operační systém Linux je dostatečně podrobně popsán a je poskytnuta referenční kniha jeho příkazů. Po přečtení knihy se seznámíte s nastavením a kompilací jádra, vytvářením vlastních rpm balíčků, překladače příkazů bash, pomocí RAID pole. Poznáte vnitřní svět Linuxu. Kniha je vhodná pro profesionální i začínající administrátory, protože prezentace materiálu začíná instalací OS Linux a v první kapitole jsou popsány základní síťové technologie a protokoly (kurz Mladý administrátor).

Všechny výpisy uvedené v knize byly ověřeny v praxi a jsou umístěny na přiloženém CD. Navíc toho obsahuje hodně referenční informace(HOWTO, RFC), stejně jako články o Linuxu. Bohatá sada pomocných nástrojů a software pro server (Apache, MySQL, MRTG atd.).

Rezervovat:

Pokud používáte distribuci kompatibilní s RedHat, budete muset nainstalovat příslušné balíčky. Používám sendmail-8.11.0 a imap-4.7c2. Nejnovější verze sendmail lze stáhnout z internetu na adrese http://www.sendmail.org.

Než začnete nastavovat sendmail, musíte správně nakonfigurovat DNS. Nastavení DNS serveru bylo podrobně probráno v kap. 10. Pokud pouze nastavujete poštovní server, nemusíte nastavovat DNS server na stejném počítači. Aby systém rozlišení názvů fungoval správně, bude stačit zadat servery DNS vaší sítě v souboru /etc/resolv.conf. Sendmail však lze nakonfigurovat tak, aby fungoval bez Využití DNS, ale o této možnosti nebudu uvažovat.

Chcete-li začít s nastavením základního sendmailu, spusťte nástroj netconf (viz obrázek 13.1). Funguje to jak z X-Window, tak z konzole. Nástroj netconf je dostupný v RedHat Linuxu, Mandrake, ASPLinuxu a dalších distribucích, rozhodně není v KSI Linuxu. Samozřejmě musíte být přihlášeni jako root. Pokud nemáte netconf, budete muset ručně upravovat soubor /etc/sendmail.cf. V tomto souboru jsou uložena všechna nastavení sendmailu.


Obr. 13.1. konfigurátor netconf

Z nabídky vyberte Systém doručování pošty a poté Základní konfigurace sendmailu. Do pole Prezentovat svůj systém jako jednoduše zadejte název své domény. Pak nezapomeňte zaškrtnout políčko „Accept email for your_domain.com“ (viz obrázek 13.2). Pokud to neuděláte, zprávy mohou být přesměrovány přes váš server na jiný server. Zároveň bude vaším serverem proudit další provoz, který vůbec nepotřebujete. Kdysi dokonce existoval tento typ odmítnutí útoku prostřednictvím e-mailu. Její princip je následující: odešle se dopis od neexistujícího uživatele [e-mail chráněný] jiný neexistující uživatel [e-mail chráněný]. Dopis je odeslán prostřednictvím počítače hostcom, který umožňuje přesměrovat zprávu (režim „Přijmout e-mail pro doménu.com“ není povolen). Poštovní server domény B.com odešle zprávu na adresu [e-mail chráněný]že uživatel [e-mail chráněný] neexistuje. Na druhé straně poštovní server domény A.com hlásí, že uživatel [e-mail chráněný] také neexistuje a odešle zprávu na adresu [e-mail chráněný]. Dochází k nepřímé rekurzi. Nyní si představte, že takových zpráv není jen jedna, ale řekněme 100 a objem každé je alespoň 1 MB! V důsledku toho by jeden ze serverů v řetězci domain1.com - host.com - domain2.com měl „spadnout“.


Rýže. 13.2. Základní konfigurace sendmailu

Omlouvám se, trochu jsem odbočil od tématu, pojďme pokračovat v konfiguraci sendmailu. Nastavte protokol odesílání zpráv na smtp (protokol poštovní brány).

Tyto informace jsou již dostačující k tomu, aby váš sendmail fungoval. Další možnosti sendmailu můžete nastavit pomocí netconf.

Nyní zajistěte, aby sendmail přijímal poštu pouze z povolených adres. Chcete-li to provést, nemusíte ani konfigurovat samotný sendmail – stačí upravit soubory /etc/hosts.allow a /etc/hosts.deny. První z nich obsahuje seznam hostitelů, kteří mají povolen přístup k tomuto počítači, a druhý obsahuje seznam hostitelů, kterým je odepřen. Upozornění: navzdory názvu - „povoleno“ nebo „odmítnuto“, omezení, která jsou nastavena prvním souborem, jsou mnohem přísnější. Chcete-li například odepřít přístup všem hostitelům kromě počítačů ve vaší síti, přidejte do souboru /etc/hosts.allow řádek: 192.168.1.

To znamená, že síť má adresu 192.168.1.0 a masku 255.255.255.0. Více o formátu souborů hosts.allow a hosts.deny si můžete přečíst zadáním příkazu man hosts.allow.

Nyní je řada na POP3. Po instalaci balíčku imap máte téměř vše nakonfigurované, tzn. Chci říci, že již můžete zkontrolovat konfiguraci. Restartujte démona inetd nebo xinetd, v závislosti na tom, který používáte, a zadejte následující:

telnet<имя_только_созданного_почтовика> 25

V odpovědi byste měli vidět něco takového:

Zkouším 192.168.1.1. . .
Připojeno k 192.168.1.1
Útěk postava je
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Ne, 17. června
2001 10:54:22 +300

To znamená, že sendmail funguje, zbývá jen zkontrolovat, jak správně to dělá. Chcete-li to provést, zadejte něco jako následující:

mail od: [e-mail chráněný]
220 2.1.0 [e-mail chráněný]…. Odesílatel OK
rcpt na: [e-mail chráněný]
220 2.1.5 [e-mail chráněný]…. Příjemce OK

Poté zadejte příkaz data, poté text zprávy a pro ukončení zadávání vložte do prázdného řádku tečku. Sendmail ohlásí, že zpráva byla odeslána (přesněji řečeno umístěna do fronty k odeslání). Záznam [e-mail chráněný]- jméno uživatele, kterému posíláte poštu. Uživatel musí skutečně existovat. Záznam den.dhsilabs.com je název vašeho mailera.

Poznámka. Jména [e-mail chráněný] a dhsilabs.com jsou uvedeny jako příklad. Místo toho musíte zadat své hodnoty.

Vezměte prosím na vědomí, že uzel my.host.com ve své podstatě neexistuje a program sendmail hlásí „Sender OK“. Proto je lepší povolit v nastavení sendmailu možnost Čekat na DNS.

Nyní musíte spustit nějakého e-mailového klienta, například kmail, a přijímat poštu. V kmailu použijte následující nastavení sítě: Síť? Odesílám poštu, nastavte SMTP, port 25, název serveru - jméno vašeho mailera, v tomto příkladu je to den.dhsilabs.com. Poté přidejte účet pro POP3:

Uživatelské jméno - den

Heslo – heslo používané pro přihlášení do systému.

Server - den.dhsilabs.com

V důsledku toho byste měli obdržet zprávu, kterou jste zadali po datech. To může způsobit problémy s překladem názvů. Abyste se jim vyhnuli, musíte správně nakonfigurovat DNS nebo místo názvu poštovní server použít jeho IP adresu. Při přidávání nového uživatele nezapomeňte nastavit jeho přihlašovací heslo. Pokud tak neučiníte a pokusíte se přijímat poštu bez zadání hesla, zobrazí se zpráva „Autentizace se nezdařila“.

Základní nastavení sendmailu je velmi snadné pomocí konfigurátoru, ale někdy základní nastavení nestačí. Více doladění Musíte se seznámit s konfiguračními soubory programu sendmail.

Poznámka. Ve většině případů budete spokojeni základní nastavení dokud vás spameři nevezmou pod svůj „protektorát“ - pak si budete muset přečíst Ch. 23 o antispamových metodách. Do hry však může vstoupit jeden z Murphyho zákonů – pro váš systém nebude vyvinut konfigurátor sendmailu a pak budete muset stále řešit konfigurační soubory.

Hlavní konfigurační soubor sendmailu je /etc/sendmail.cf. U některých distribucí je tento soubor umístěn v adresáři /etc/mail. Tento soubor je prý delší než limuzína Billa Gatese a že je upravován v režimu „oči se bojí, ruce dělají“. Pokud mi nevěříte, otevřete tento soubor a uvidíte sami. Upravit tento soubor Ručně to mohou provést pouze profesionální správci nebo vývojáři programu sendmail.

K úpravě tohoto souboru se obvykle používá makroprocesor m4. Nejprve si připravíte speciální mc soubor. Tento soubor obsahuje nastavení .sendmail, ale ve „čitelnější“ podobě. Při editaci konfiguračních souborů má vliv i jejich velikost. Pro srovnání: velikost mého souboru mc je 2459 bajtů a velikost souboru sendmail.cf je 46302 bajtů. Jedna věc je upravit dvoukilobajtový soubor, ale úplně jiná, pokud je velikost souboru 46 kilobajtů. Na rozdíl od konfiguračního souboru sendmail okamžitě pochopíte, k čemu konkrétní soubor mc slouží. Poté, po úpravě souboru mc, musíte spustit makroprocesor m4 a vytvořit konfigurační soubor sendmail:

m4 my_config.mc > /etc/sendmail.cf

Před spuštěním tohoto příkazu důrazně doporučuji někde uložit původní soubor sendmail.cf. V případě nesprávného nastavení jej můžete vždy obnovit.

Výchozí konfigurační soubor, který používá procesor maker T4 k vytvoření konfiguračního souboru programu sendmail (sendmail.cf), se nachází v adresáři /usr/share/sendmail-cf/cf. Ve starších verzích sendmailu může být umístěn v adresáři /usr/lib/sendmail.

Obvykle se tento soubor nazývá sendmail.mc. Někdy se může jmenovat jinak, například redhat.mc, pokud používáte Red Hat nebo kompatibilní operační systém.

Příklad standardního souboru /usr/share/sendmail-cf/cf/redhat.mc je uveden ve výpisu 13.1.

Výpis 13.1. Standardní soubor redhat.mc

odklonit (-1)
dnl Toto je konfigurační soubor maker sendmail. Pokud v tomto souboru provedete změny,
dnl potřebujete nainstalovat sendmail-cf rpm a poté musíte vygenerovat a
dnl new /etc/sendmail.cf spuštěním následujícího příkazu: dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
include("../m4/cf.m4")
VERSIONID("linux setup for Red Hat Linux")dnl
OSTYPE("linux")
define("confDEF_USER_ID","8:12") dnl
undefine("UUCP_RELAY")dnl
undefine("BITNET_RELAY")dnl
define("confAUTO_REBUILD")dnl
define("confTO_CONNECT", "1m")dnl
define("confTRY_NULL_MX_LIST",true)dnl
define("confDONT_PROBE_INTERFACES",true)dnl
define("PROCMAIL_MAILER_PATH", "/usr/bin/procmail")dnl
define("ALIAS_FILE", "/eto/aliases")dnl
dnl define("STATUS_FILE", "/etc/mail/statistics")dnl
define("UUCP_MAILER_MAX", "2000000")dnl
define("conf USERDB_SPEC", "/etc/mail/userdb.db")dnl
define("confPRIVACY_FLAGS", "authwarnings,novrfy,noexpn,restrictqrun")dnl
define("confAUTH_OPTIONS", "A")dnl
dnl TRUST_AUTH_MECH("DIGEST-MD5 CRAM-MD5 LOGIN PLAIN") dnl
dnl define("confAUTH_MECHANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl
dnl define("confTO_QUEUEWARN", "4h")dnl
dnl define("confTO_QUEUERETURN", "5d")dnl
dnl define("confQUEUE_LA", "12")dnl
dnl define("confREFUSE_LA", "18")dnl
dnl FEATURE(kontroly_zpoždění)dnl
FEATURE("no_default_msa", "dnl")dnl
FEATURE("smrsh",Vusr/sbin/smrsh")dnl
FEATURE("mailertable", "hash-o /etc/mail/mailertable.db")dnl
FEATURE("virtusertable", "hash –o /etc/mail/virtusertable.db")dnl
FEATURE(přesměrování)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(local_procmail; "", "procmail –t –Y –a $h –d $u")dnl
FEATURE("access_db","hash –o /etc/mail/access.db")dnl
FEATURE("blacklist_recipients")dnl
EXPOSED_USER("root") dnl
dnl Toto změní sendmail tak, aby naslouchal pouze na zařízení se zpětnou smyčkou 127.0.0.1
dnl a ne na jiných síťových zařízeních. Pokud chcete, okomentujte to
dnl pro přijímání e-mailů přes síť.
DAEMON_OPTIONS("Port=smtp,Addr=127.0.0.1, Název=MTA")
dnl POZNÁMKA: vyžaduje navázání démona IPv4 i IPv6 na stejný port
dnl patch jádra
dnl DAEMON_OPTIONS (xport=smtp,Addr=::1, Name=MTA-v6, Family=inet6")
dnl Důrazně doporučujeme komentovat tento, pokud chcete chránit
dnl sami od spamu. Nicméně notebook a uživatelé na počítačích, že
dnl nemá 24x7 DNS, potřebuje to.
FEATURE("accept_unresolvable_domains")dnl
dnl FEATURE("relay_based_on_MX")dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.localdomain

Pomocí direktivy FEATURE můžete povolit jednu nebo druhou funkci programu sendmail. Například funkce mailertable je navržena tak, aby přepsala směrování pro konkrétní domény. Můžete snadno rozšířit funkčnost sendmail, přidání funkcí, které potřebujete, do souboru mc.

Předpokládejme, že chcete, aby byly názvy počítačů v doméně skryty. Toho lze snadno dosáhnout přidáním funkce masquerade_envelope do vašeho souboru mc. Chcete-li to provést, zkopírujte soubor redhat.mc do souboru hide_hosts.me a na konec souboru hide_hosts.me přidejte následující řádky:

MASQUERADE_AS(moje-domena.ru)dnl
FEATURE(masquerade_obálka)dnl

Poté spusťte příkaz:

m4 /usr/share/sendmail-cf/cf/hide_hosts.me> /etc/sendmail.me

To je vše! Názvy uzlů budou skryté. Popis dalších funkcí je uveden v tabulce. 13.1.

Funkce programu sendmail Tabulka 13.1

Funkce Popis
access_db Definuje přístupovou tabulku. Tato tabulka uvádí hostitele, kteří mají povoleno nebo blokováno odesílání pošty prostřednictvím vašeho poštovního serveru. Tato možnost se efektivně používá k boji proti spamu. Ochrana proti spamu je podrobně popsána ve stejnojmenné části v kapitole. 23
accept_unresolvable_domains Umožňuje odesílání pošty do domén, které nelze rozpoznat
bestmx_is-local Zprávy budou přijaty pouze v případě, že vstup serveru MX DNS ukazuje na tento poštovní server
blacklist_recipients "Černá listina". Další možnost boje proti spamu. Aby to fungovalo, je vyžadována volba access_db.
dnsbl Používá se pro blacklisting, dnsbl je zkratka pro DNS Black List. Ve více dřívější verze tato možnost se nazývala (Vyřešit černou listinu)
domaintable Používá se k překladu doménových jmen
genericky stabilní Slouží ke změně odesílací adresy ve zprávách
local_procmail Určuje, že pošta má být doručována pomocí místního obslužného programu procmail
poštovní zásilka Přepíše směrování pro konkrétní domény
maškaráda_celá_doména Slouží k maskování (skrytí) celé domény. Tato funkce musí být použito společně s direktivou MASQUERADE AS (nebo MASQUERADE_DOMAIN), například MASQUERADE_AS(f117.ru)dnl
maškarní_obálka Umožňuje skrýt názvy hostitelů domén. Nahradí pole přijaté z v záhlaví zprávy před odesláním zprávy ostatním
přesměrovat Slouží k přesměrování na jiný poštovní server. Znamená odmítnutí přijmout poštu se zprávou, zkuste to prosím
(zkuste použít tuto adresu)
relay_based_on_MX Umožňuje přesměrování pošty (přenos) pouze pro hostitele, kteří jsou uvedeni v záznamech serveru MX DNS
relay_hosts_only Umožňuje přenos pouze pro uzly uvedené v access_db
relay_mail_from Umožňuje přenos pouze v případě, že je odesílatel uveden v seznamu RELAY databáze accessdb
smrsh Použití omezeného prostředí sendmail
use_cf_file Když je tato funkce specifikována, sendmail vyhledá v souboru sendmail.cf seznam důvěryhodných uživatelů
use_cw_file Když je tato funkce zadána, sendmail vyhledá v souboru sendmail.cw seznam místních hostitelů
virtuserable Převede adresu příjemce na adresu místního uživatele

V souboru /etc/mail/sendmail.cw jsou uvedeny všechny aliasy pro daný poštovní server. Předpokládejme, že název vašeho serveru je mail.dhsilabs.ru. Pokud odesílatel posílá poštu na adresu [e-mail chráněný], bude dopis uživateli bez problémů doručen. Co když někdo pošle dopis [e-mail chráněný], pak jeho doručení způsobí určité potíže, protože není jasné, kterému uzlu domény dhsilabs je zpráva určena? Chcete-li tento problém vyřešit, musíte do souboru sendmail.cw vložit řádek.

Průvodce instalací a konfigurací pro jeden z nejstarších MTA (Agent pro přenos pošty), program pro odesílání e-mailů - poslat mail, který je k dispozici pro instalaci na jakýkoli operační systém. V mnoha OS je sendmail nainstalován ve výchozím nastavení a není třeba tento standardní MTA měnit na jiný. Zároveň je stejné PHP standardně nakonfigurováno pro práci s tímto MTA. Pokud nastavení sendmailu trvá dlouho, nainstalujte postfix (), neměli byste ztrácet mnoho času.

Příprava

Zkontrolujte, zda máte nainstalovaný sendmail a ne Exim4 nebo jiný MTA:

Ls -la `který sendmail` # lrwxrwxrwx 1 root root 26 2011-01-17 19:58 /usr/sbin/sendmail -> /etc/alternatives/sendmail

Instalace

sudo apt-get install sendmail sasl2-bin

Konfigurace /etc/hosts

127.0.0.1 localhost localhost.localdomain e5530
Poznámka

Musíte zadat svého hlavního hostitele (název počítače, můj je e5530) a localhost.localdomain, jinak se zobrazí chyba: Můj nekvalifikovaný název hostitele (myhostname) neznámý; spící pro opakování“ a „nemohu kvalifikovat své vlastní doménové jméno (e5530) – používám krátký název, poslat mail Spuštění trvá dlouho a odesílá poštu pomalu. Možná hostitel localhost.localdomain Lze minout, nejsem si jistý.

Poté musíte zadat jména místních hostitelů, ze kterých poslat mail bude přijímat požadavky na odeslání e-mailových zpráv v souboru /etc/mail/local-host-names:

AuthInfo:smtp.gmail.com "U: [e-mail chráněný]“ „Já: [e-mail chráněný]" "P:YourPass" "M:PLAIN" AuthInfo:smtp.gmail.com:465 "U: [e-mail chráněný]“ „Já: [e-mail chráněný]" "P:Váš přístup" "M:PLAIN"

Poznámka

Místo portu 465 můžete zkusit 587 (pokud máte problémy s autorizací):

AuthInfo:smtp.gmail.com:587 "U: [e-mail chráněný]“ „Já: [e-mail chráněný]" "P:Váš přístup" "M:PLAIN"

Chmod 600 /etc/mail/auth/*

Konfigurace sendmail.mc

Konfigurační soubor /etc/mail/sendmail.mc. Porovnejte svou konfiguraci. Mělo by to být něco takového... Důležité je pořadí návodu!

Dnl # include(`/etc/mail/m4/dialup.m4")dnl include(`/etc/mail/m4/provider.m4")dnl include(`/etc/mail/tls/starttls.m4")dnl include(`/etc/mail/sasl/sasl.m4") dnl FEATURE(`authinfo",`hash /etc/mail/auth/client-info")dnl define(`SMART_HOST",`smtp.gmail.com" )dnl define(`RELAY_MAILER_ARGS", `TCP $h 587")dnl define(`ESMTP_MAILER_ARGS", `TCP $h 587")dnl dnl # dnl # Výchozí nastavení maileru MAILER_DEFINITIONS MAILER(`local") dnsm" MAILER )dnl define(`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl # dnl define(`confDOMAIN_NAME", `e5530")dnl

Použití konfigurace sendmail

cd /etc/mail sudo su # prostě sudo nebude fungovat! m4 sendmail.mc > sendmail.cf makemap -r hash authinfo.db< auth/client-info make /etc/init.d/sendmail restart # Перезагрузка конфига

Problémy a řešení

Pokud je vše správně nakonfigurováno, ale zprávy končí ve „odložené frontě“ a nejsou přenášeny na jiný SMTP:

  1. Zkontrolujte svou IP v blacklistech Zákaz IP můžete zkontrolovat zde smart-ip.net, moje IP byla zařazena do databáze spamhaus.
  2. Zkontrolujte, zda váš poskytovatel neblokuje odchozí pakety na portu 25.
Problémy s Intertelecom!

Nikdy se mi nepodařilo nastavit přenos zpráv do GMailu přes sendmail na připojení Intertelecom - sendmail tvrdošíjně klepal na port 25, který byl uzavřen poskytovatelem. Musel jsem nakonfigurovat postfix.

Nastavení PHP (v případě potřeby)

Zadejte parametry spouštění sendmailu v souboru config /etc/php5/apache2/php.ini (/etc/php5/cli/php.ini):

## Konfigurace sendmailu pro PHP: sendmail_path = /usr/sbin/sendmail -t ;sendmail_path = "/usr/sbin/sendmail -t -f [e-mail chráněný]-já"

Zkontrolujeme nastavení

echo "Text zprávy" | mail -s "Předmět" [e-mail chráněný] sendmail -t [e-mail chráněný]-F [e-mail chráněný]-v -i< ~/mail-body.txt

Chcete-li otestovat postfix, zkuste odeslat několik zpráv z konzoly. Jak to udělat, jsem popsal v tomto článku: „“.

Správa Sendmail

Zobrazit celou frontu zpráv:

Sudo mailq

Zobrazení fronty zpráv na konkrétní adrese:

Sudo mailq | grep" [e-mail chráněný]" | wc -l

Vymažte celou frontu zpráv sendmail:

Sudo rm -r /var/spool/mqueue-client/*

Vymažte frontu zpráv sendmail podle cíle:

Cd /var/spool/mqueue ls | xargs -ti sh -c "grep" [e-mail chráněný]" "()" > /dev/null && rm -f "()""

#sendmail, #LAMP, #MTA

P.S. Pokud chcete prozkoumat Linuxová konzole na poměrně dobré úrovni - doporučuji přečíst nejnovější knihu Denise Kolisničenka “ Příkazový řádek Linux a automatizace rutinních úloh».