Pag-install ng sendmail debian. Pagse-set up ng Sendmail. Sinusuri ang mail() function

Gabay sa pag-install at pagsasaayos para sa isa sa pinakaluma MTA (Ahente ng Mail Transfer), programa para sa pagpapadala ng email - sendmail, na magagamit para sa pag-install sa anumang operating system. Sa maraming OS, ang sendmail ay naka-install bilang default at walang espesyal na pangangailangan na baguhin ang karaniwang MTA na ito sa isa pa. Kasabay nito, ang parehong PHP ay na-configure bilang default upang gumana sa MTA na ito. Kung nagtatagal ang pagse-set up ng sendmail, i-install ang postfix (), hindi ka dapat mag-aksaya ng maraming oras.

Paghahanda

Suriin kung mayroon kang naka-install na sendmail at hindi Exim4 o ibang MTA:

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

Pag-install

sudo apt-get install sendmail sasl2-bin

Pag-configure ng /etc/hosts

127.0.0.1 localhost localhost.localdomain e5530
Tandaan

Dapat mong tukuyin ang iyong pangunahing host (computer name, ang akin ay e5530) at localhost.localdomain kung hindi ay makakatanggap ka ng error: Hindi alam ang aking hindi kwalipikadong pangalan ng host (myhostname); sleeping for retry" at "unable to qualify my own domain name (e5530) – using short name, sendmail Ito ay tumatagal ng mahabang oras upang magsimula at magpadala ng mail nang mabagal. Posibleng host localhost.localdomain Maaaring makaligtaan, hindi sigurado.

Pagkatapos nito, kailangan mong tukuyin ang mga pangalan ng mga lokal na host kung saan sendmail ay tatanggap ng mga kahilingang magpadala ng mga mensaheng email, sa /etc/mail/local-host-names file:

AuthInfo:smtp.gmail.com "U: [email protected]" "Ako: [email protected]" "P:YourPass" "M:PLAIN" AuthInfo:smtp.gmail.com:465 "U: [email protected]" "Ako: [email protected]" "P:YourPass" "M:PLAIN"

Tandaan

Sa halip na port 465, maaari mong subukan ang 587 (kung mayroon kang mga problema sa awtorisasyon):

AuthInfo:smtp.gmail.com:587 "U: [email protected]" "Ako: [email protected]" "P:YourPass" "M:PLAIN"

Chmod 600 /etc/mail/auth/*

I-configure ang sendmail.mc

Config file /etc/mail/sendmail.mc. Ikumpara ang iyong config. Dapat ganito... Ang pagkakasunud-sunod ng mga tagubilin ay mahalaga!

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 # Default na Mailer setup MAILER_DEFINITIONS MAILER(`local")dnl MAILER(`smt) )dnl define(`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl # dnl define(`confDOMAIN_NAME", `e5530")dnl

Ang paglalapat ng sendmail config

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

Mga problema at solusyon

Kung ang lahat ay na-configure nang tama ngunit ang mga mensahe ay napupunta sa isang "deferred queue" at hindi na-relay sa isa pang SMTP:

  1. Suriin ang iyong IP sa mga blacklist Maaari mong suriin ang IP ban dito smart-ip.net, ang aking IP ay kasama sa database ng spamhaus.
  2. Suriin kung hinaharangan ng iyong provider ang mga papalabas na packet sa port 25.
Mga problema sa Intertelecom!

Hindi ako kailanman nakapag-set up ng relay ng mensahe sa GMail sa pamamagitan ng sendmail sa koneksyon ng Intertelecom - matigas na kumatok ang sendmail sa port 25, na isinara ng provider. Kinailangan kong i-configure ang postfix.

Pag-setup ng PHP (kung kinakailangan)

Tukuyin ang mga parameter ng paglulunsad ng sendmail sa config /etc/php5/apache2/php.ini (/etc/php5/cli/php.ini):

## Pagse-set up ng sendmail para sa PHP: sendmail_path = /usr/sbin/sendmail -t ;sendmail_path = "/usr/sbin/sendmail -t -f [email protected]-ako"

Suriin natin ang mga setting

echo "Text ng mensahe" | mail -s "Subjet" [email protected] sendmail -t [email protected]-f [email protected]-v -i< ~/mail-body.txt

Upang subukan ang postfix, subukang magpadala ng ilang mensahe mula sa console. Inilarawan ko kung paano ito gagawin sa artikulong ito: "".

Pamamahala ng Sendmail

Tingnan ang buong pila ng mensahe:

Sudo mailq

Tingnan ang pila ng mensahe sa isang partikular na address:

Sudo mailq | grep" [email protected]" | wc -l

I-clear ang buong pila ng sendmail message:

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

I-clear ang queue ng sendmail message ayon sa patutunguhan:

Cd /var/spool/mqueue ls | xargs -ti sh -c "grep" [email protected]" "()" > /dev/null && rm -f "()""

#sendmail, #LAMP, #MTA

P.S. Kung nais mong matutunan ang Linux console sa isang medyo mahusay na antas, inirerekumenda kong basahin ang pinakabagong libro ni Denis Kolisnichenko " Linux command line at automation ng mga nakagawiang gawain».

Lumitaw ito noong 1983, ngunit aktibong ginagamit pa rin hanggang ngayon. Kabilang sa mga pangunahing tampok ay sinusuportahan ito ng maraming mga platform na umiiral ngayon at libre din. Ang application ay kasama ng open source software. Nangangahulugan ito na kahit sino ay maaaring magdagdag ng kanilang sariling pag-andar dito, o baguhin ito sa kalooban. Sa operating system ng Ubuntu, ang Sendmail, na na-configure gamit ang Linux command line, ay nag-ugat dahil sa mahusay na suporta at mayamang kakayahan.

Ang processor ng mensahe – Sendmail – ay naging laganap sa larangan ng negosyo.

Ngayon, ang "message processor" na Sendmail Sentrion, na nilikha na isinasaalang-alang ang mga pangangailangan ng malalaking kumpanya, ay medyo karaniwan. Ang mga natatanging tampok nito ay mataas na pagganap at mahusay na pagsasama sa lahat ng mga proseso ng negosyo. Nag-aalok ang Sentrion, kasama ng mga bagong teknolohiya, ang paggamit ng mga legacy na application na nag-ugat nang mabuti. Ang app ay sapat na palakaibigan upang umangkop sa mga user sa bahay.

Pag-install ng programa

Kailangan mong i-install ang Sandmail sa isang lokal na server o web server. Sa pangalawang kaso, magiging mas functional ang mail agent. Upang makuha ang lahat ng bahagi ng isang web server, kakailanganin mo ng LAMP component stack. Ito ay matatagpuan sa repositoryo.

MAHALAGA. Bago mag-install ng bagong software, siguraduhing i-update ang mga listahan ng package sa iyong lokal na repository gamit ang command

"$ sudo apt-get update"

Ang pag-install ng Sandmail ay nagsisimula sa command na "sudo apt install sendmail", na magda-download ng mga mail agent packages.

"mcedit /etc/hosts"
"sudo sendmailconfig"

Pagkatapos nito, kailangan mong i-restart ang mga serbisyo ng program mismo, pati na rin ang Apache web server:

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

Kung kinakailangan, maaari kang mag-install ng mga utility para sa pagtatrabaho sa mail:

"sudo install mailutils"

Sinusuri namin ang pag-andar ng buong system:

"mail your_mail< /dev/null»

kung saan ang "your_mail" ay ang kasalukuyang postal address.

At sa wakas, suriin natin ang log file. Ito ang mail service file kung saan ipapakita ang mga error sa pag-install:

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

Ang natitira na lang ay pumunta sa iyong email inbox. Dapat ay naglalaman na ito ng pansubok na mensahe.

Kaya, natutunan mo ang higit pa tungkol sa isang programa para sa Ubuntu na tinatawag na Sendmail, na naging hindi ganoon kahirap i-set up. Kung mayroon kang mga tanong tungkol sa iba pang aspeto ng pagtatrabaho sa mga programa para sa Linux, hanapin ang mga sagot sa mga ito sa mga pahina ng aming website!

Detalyadong tinatalakay ng aklat ang mga setting ng mga serbisyo sa network na nagbibigay-daan sa iyong lumikha ng isang server na may kinakailangang pagsasaayos at pag-andar batay sa Linux OS. Maaari mong i-configure ang anumang uri ng server: mula sa isang lokal na network server hanggang sa isang Internet server at isang remote access server. Ang pangangasiwa ng Linux ay inilarawan nang detalyado.

Ang pagtatanghal ng materyal ay batay sa mga pamamahagi ng Red Hat at Mandrake. Maraming natatanging impormasyon: pagpapatakbo ng mga laro sa Windows sa ilalim ng Linux at paggawa ng Linux server para sa isang gaming room, pagse-set up ng mga antivirus ng Dr. Web at AVP para sa Linux, traffic accounting program MRTG, seguridad at attack detection system LIDS, at marami pang iba. Ang partikular na atensyon ay binabayaran sa seguridad ng mga server ng Linux. Ang Linux OS mismo ay inilarawan sa sapat na detalye at isang reference na libro ng mga utos nito ay ibinigay. Pagkatapos basahin ang libro, magiging kaalaman ka tungkol sa pag-configure at pag-compile ng kernel, paggawa ng sarili mong mga rpm package, ang bash command interpreter, at paggamit ng RAID arrays. Makikilala mo ang panloob na mundo ng Linux. Ang libro ay angkop para sa parehong propesyonal at baguhan na mga administrador, dahil ang pagtatanghal ng materyal ay nagsisimula sa pag-install ng Linux OS, at ang unang kabanata ay naglalarawan ng mga pangunahing teknolohiya at protocol ng network (Young Administrator Course).

Lahat ng mga listahang ibinigay sa aklat ay nasubok sa pagsasanay at inilagay sa kalakip na CD. Bilang karagdagan, naglalaman ito ng maraming impormasyon sa sanggunian (HOWTO, RFC), pati na rin ang mga artikulo sa Linux. Mayroong isang rich set ng auxiliary utilities at software para sa server (Apache, MySQL, MRTG, atbp.).

Aklat:

Kung gumagamit ka ng RedHat compatible distribution, kakailanganin mong i-install ang naaangkop na mga package. Gumagamit ako ng sendmaiI-8.11.0 at imap-4.7c2. Maaaring ma-download ang pinakabagong bersyon ng sendmail mula sa Internet sa http://www.sendmail.org.

Bago mo simulan ang pag-set up ng sendmail, kailangan mong i-configure nang tama ang DNS. Ang pag-set up ng DNS server ay tinalakay nang detalyado sa Chap. 10. Kung nagse-set up ka lang ng mail server, hindi mo kailangang mag-set up ng DNS server sa parehong computer. Sapat na upang tukuyin ang mga DNS server ng iyong network sa /etc/resolv.conf file para gumana nang tama ang system ng paglutas ng pangalan. Gayunpaman, maaaring i-configure ang sendmail upang gumana nang hindi gumagamit ng DNS, ngunit hindi ko isasaalang-alang ang opsyong ito.

Upang simulan ang pag-set up ng pangunahing sendmail, patakbuhin ang netconf utility (tingnan ang Figure 13.1). Gumagana ito pareho mula sa X-Window at mula sa console. Ang netconf utility ay magagamit sa RedHat Linux, Mandrake, ASPLinux at iba pang mga distribusyon, tiyak na wala ito sa KSI Linux. Naturally, dapat kang naka-log in bilang root. Kung wala kang netconf, masisiyahan ka sa pag-edit ng /etc/sendmail.cf file sa pamamagitan ng kamay. Nasa file na ito na nakaimbak ang lahat ng mga setting ng sendmail.


Fig. 13.1. netconf configurator

Piliin ang Mail delivery system mula sa menu, pagkatapos ay Basic sendmail configuration. Sa field na Ipakita ang iyong system bilang, ipasok lamang ang iyong domain name. Pagkatapos ay tiyaking lagyan ng check ang checkbox na “Tanggapin ang email para sa iyong_domain.com” (tingnan ang Figure 13.2). Kung hindi mo ito gagawin, maaaring i-redirect ang mga mensahe sa pamamagitan ng iyong server patungo sa isa pang server. Kasabay nito, dadaloy ang dagdag na trapiko sa iyong server, na walang silbi sa iyo. Noong unang panahon nagkaroon ng ganitong uri ng denial attack sa pamamagitan ng email. Ang prinsipyo nito ay ang mga sumusunod: ang isang sulat ay ipinadala mula sa isang hindi umiiral na gumagamit [email protected] isa pang hindi umiiral na gumagamit [email protected]. Ang liham ay ipinadala sa pamamagitan ng hostcom computer, na nagbibigay-daan sa iyong i-redirect ang mensahe (ang "Tanggapin ang email para sa domain.com" na mode ay hindi pinagana). Ang mail server ng domain na B.com ay nagpapadala ng mensahe sa address [email protected] na ang gumagamit [email protected] ay wala. Sa turn, ang A.com domain mailer ay nag-uulat na ang user [email protected] hindi rin umiiral at nagpapadala ng mensahe sa address [email protected]. Ang hindi direktang recursion ay nangyayari. Ngayon isipin na hindi lamang isang ganoong mensahe, ngunit, sabihin nating, 100 at ang dami ng bawat isa ay hindi bababa sa 1 MB! Bilang resulta, dapat na “mahulog” ang isa sa mga server sa chain domain1.com - host.com - domain2.com.


kanin. 13.2. Pangunahing configuration ng sendmail

Humihingi ako ng paumanhin, medyo nawala ako sa paksa, ipagpatuloy natin ang pag-configure ng sendmail. Itakda ang protocol ng pagpapadala ng mensahe sa smtp (Mail gateway protocol).

Ang impormasyong ito ay sapat na para gumana ang iyong sendmail. Maaari kang magtakda ng karagdagang mga opsyon sa sendmail gamit ang netconf.

Ngayon gawin ang sendmail na tumanggap lamang ng mail mula sa mga pinapayagang address. Para magawa ito, hindi mo na kailangan pang i-configure ang sendmail mismo - kailangan mo lang i-edit ang mga file na /etc/hosts.allow at /etc/hosts.deny. Ang una sa mga ito ay naglalaman ng isang listahan ng mga host na pinapayagang ma-access ang machine na ito, at ang pangalawa ay naglalaman ng isang listahan ng mga host na tinanggihan. Pakitandaan: sa kabila ng pangalan - "pinayagan" o "tinanggihan", ang mga paghihigpit na itinakda ng unang file ay mas mahigpit. Halimbawa, upang tanggihan ang access sa lahat ng host maliban sa mga computer sa iyong network, idagdag ang linyang: 192.168.1 sa /etc/hosts.allow file.

Nangangahulugan ito na ang network ay may address na 192.168.1.0 at isang mask na 255.255.255.0. Maaari kang magbasa nang higit pa tungkol sa format ng mga host.allow at hosts.deny na mga file sa pamamagitan ng paglalagay ng command man hosts.allow.

Ngayon ay POP3 na. Pagkatapos i-install ang imap package, halos lahat ay na-configure mo, i.e. Gusto kong sabihin na maaari mo nang suriin ang pagsasaayos. I-restart ang inetd o xinetd daemon, depende sa kung alin ang ginagamit mo, at ipasok ang sumusunod:

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

Dapat kang makakita ng ganito bilang tugon:

Sinusubukan ang 192.168.1.1. . .
Nakakonekta sa 192.168.1.1
Escape character ay
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Linggo, 17 Hun
2001 10:54:22 +300

Nangangahulugan ito na gumagana ang sendmail, ang natitira lamang ay upang suriin kung gaano ito tama ang ginagawa nito. Upang gawin ito, magpasok ng isang bagay tulad ng sumusunod:

mail mula sa: [email protected]
220 2.1.0 [email protected]…. Sender Ok
rcpt sa: [email protected]
220 2.1.5 [email protected]…. Ok ang tatanggap

Pagkatapos nito, ipasok ang utos ng data, pagkatapos ay ang text ng mensahe, at upang tapusin ang entry, maglagay ng tuldok sa walang laman na linya. Iuulat ng Sendmail na naipadala na ang mensahe (mas tiyak, inilagay sa pila para sa pagpapadala). Itala [email protected]- ang pangalan ng user kung kanino ka nagpapadala ng mail. Dapat talaga umiral ang user. Ang entry na den.dhsilabs.com ay ang pangalan ng iyong mailer.

Tandaan. Mga pangalan [email protected] at dhsilabs.com ay ibinigay bilang isang halimbawa. Dapat mong tukuyin ang iyong mga halaga sa halip.

Pakitandaan na ang node my.host.com ay hindi umiiral sa kalikasan, at ang sendmail program ay nag-uulat na "Sender Ok". Kaya naman mas mabuting paganahin ang opsyong Maghintay para sa DNS sa mga setting ng sendmail.

Ngayon ay kailangan mong maglunsad ng ilang email client, halimbawa kmail, at tumanggap ng mail. Gamitin ang mga sumusunod na setting ng network sa kmail: Network? Pagpapadala ng mail, itakda ang SMTP, port 25, pangalan ng server - ang pangalan ng iyong mailer, sa halimbawang ito ito ay den.dhsilabs.com. Pagkatapos ay magdagdag ng account para sa POP3:

Username - den

Password - ang password na ginamit para mag-log in sa system.

Server - den.dhsilabs.com

Bilang resulta, dapat mong matanggap ang mensahe na iyong ipinasok pagkatapos ng data. Maaari itong magdulot ng mga problema sa paglutas ng pangalan. Upang maiwasan ang mga ito, kailangan mong i-configure nang tama ang DNS o gamitin ang IP address nito sa halip na ang pangalan ng mail server. Kapag nagdadagdag ng bagong user, tiyaking itakda ang kanilang password sa pag-login. Kung hindi mo ito gagawin at subukang tumanggap ng mail nang hindi tinukoy ang isang password, matatanggap mo ang mensaheng "Nabigo ang pagpapatunay."

Napakadali ng basic setup ng sendmail gamit ang configurator, ngunit minsan hindi sapat ang basic setup. Para sa mas tumpak na mga setting, kailangan mong maging pamilyar sa mga configuration file ng sendmail program.

Tandaan. Sa karamihan ng mga kaso, masisiyahan ka sa pangunahing pag-setup hanggang sa dalhin ka ng mga spammer sa ilalim ng kanilang "protectorate" - pagkatapos ay kakailanganin mong basahin ang Kabanata. 23 tungkol sa mga pamamaraang anti-spam. Gayunpaman, maaaring gumana ang isa sa mga batas ni Murphy - isang sendmail configurator ay hindi bubuo para sa iyong system at pagkatapos ay kailangan mo pa ring harapin ang mga configuration file.

Ang pangunahing sendmail configuration file ay /etc/sendmail.cf. Sa ilang mga distribusyon, ang file na ito ay matatagpuan sa /etc/mail na direktoryo. Ang file na ito ay sinasabing mas mahaba kaysa sa limousine ni Bill Gates at na-edit ito sa mode na "mata natatakot, ginagawa ng mga kamay". Kung hindi ka naniniwala sa akin, buksan ang file na ito at makikita mo mismo. Tanging ang mga propesyonal na administrator o mga developer ng sendmail program ang maaaring manu-manong i-edit ang file na ito.

Karaniwan ang m4 macro processor ay ginagamit upang i-edit ang file na ito. Maghanda ka muna ng isang espesyal na mc file. Ang file na ito ay naglalaman ng mga setting ng .sendmail, ngunit sa isang mas "nababasa" na form. Kapag nag-e-edit ng mga configuration file, nakakaapekto rin ang kanilang laki. Para sa paghahambing: ang laki ng aking mc file ay 2459 bytes, at ang laki ng sendmail.cf file ay 46302 bytes. Isang bagay ang mag-edit ng dalawang-kilobyte na file, ngunit iba kung ang laki ng file ay 46 kilobytes. Hindi tulad ng sendmail configuration file, mauunawaan mo kaagad kung para saan ang isang partikular na mc file. Pagkatapos, pagkatapos i-edit ang mc file, kailangan mong patakbuhin ang m4 macro processor upang likhain ang sendmail configuration file:

m4 my_config.mc > /etc/sendmail.cf

Bago patakbuhin ang command na ito, lubos kong inirerekumenda na i-save ang orihinal na sendmail.cf file sa isang lugar. Sa kaso ng mga maling setting, maaari mo itong ibalik anumang oras.

Ang default na configuration file, na ginagamit ng T4 macro processor upang gawin ang sendmail program configuration file (sendmail.cf), ay matatagpuan sa /usr/share/sendmail-cf/cf na direktoryo. Sa mga mas lumang bersyon ng sendmail, maaaring matatagpuan ito sa /usr/lib/sendmail na direktoryo.

Karaniwan ang file na ito ay tinatawag na sendmail.mc. Minsan maaari itong tawaging iba, gaya ng redhat.mc kung gumagamit ka ng Red Hat o katugmang operating system.

Ang isang halimbawa ng karaniwang file /usr/share/sendmail-cf/cf/redhat.mc ay ipinapakita sa Listahan 13.1.

Listahan 13.1. Karaniwang redhat.mc file

ilihis(-1)
dnl Ito ang sendmail macro config file. Kung gagawa ka ng mga pagbabago sa file na ito,
dnl kailangan mong naka-install ang sendmail-cf rpm at pagkatapos ay kailangang bumuo ng a
dnl bago /etc/sendmail.cf sa pamamagitan ng pagpapatakbo ng sumusunod na command: dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
isama ang("../m4/cf.m4")
VERSIONID("linux setup para sa 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(delay_checks)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(redirect)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("ugat") dnl
dnl Binabago nito ang sendmail upang makinig lamang sa loopback device 127.0.0.1
dnl at hindi sa anumang iba pang network device. I-comment mo ito kung gusto mo
dnl upang tumanggap ng email sa network.
DAEMON_OPTIONS("Port=smtp,Addr=127.0.0.1, Name=MTA")
dnl TANDAAN: kinakailangan ang pagbubuklod ng parehong IPv4 at IPv6 daemon sa parehong port
dnl isang kernel patch
dnl DAEMON_OPTIONS (xport=smtp,Addr=::1, Pangalan=MTA-v6, Pamilya=inet6")
dnl Lubos naming inirerekumenda na ikomento ang isang ito kung gusto mong protektahan
dnl ang iyong sarili mula sa spam. Gayunpaman, ang laptop at mga gumagamit sa mga computer na
ang dnl ay walang 24x7 DNS na kailangan nito.
FEATURE("accept_unresolvable_domains")dnl
dnl FEATURE("relay_based_on_MX")dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.localdomain

Gamit ang FEATURE directive, maaari mong paganahin ang isa o isa pang function ng sendmail program. Halimbawa, ang mailertable na function ay idinisenyo upang i-override ang pagruruta para sa mga partikular na domain. Madali mong mapalawak ang functionality ng sendmail program sa pamamagitan ng pagdaragdag ng mga function na kailangan mo sa mc file.

Ipagpalagay natin na gusto mong itago ang mga pangalan ng mga computer sa isang domain. Ito ay madaling makamit sa pamamagitan ng pagdaragdag ng masquerade_envelope function sa iyong mc file. Upang gawin ito, kopyahin ang redhat.mc file sa hide_hosts.me file at idagdag ang mga sumusunod na linya sa dulo ng hide_hosts.me file:

MASQUERADE_AS(my-domain.ru)dnl
FEATURE(masquerade_envelope)dnl

Pagkatapos ay patakbuhin ang utos:

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

yun lang! Ang mga pangalan ng node ay itatago. Ang isang paglalarawan ng iba pang mga function ay ipinakita sa talahanayan. 13.1.

Mga function ng sendmail program Talahanayan 13.1

Function Paglalarawan
access_db Tinutukoy ang access table. Inililista ng talahanayang ito ang mga host na pinapayagan o na-block sa pagpapadala ng mail sa pamamagitan ng iyong mail server. Ang pagpipiliang ito ay epektibong ginagamit upang labanan ang spam. Ang proteksyon sa spam ay tinalakay nang detalyado sa seksyon ng parehong pangalan sa Kabanata. 23
accept_unresolvable_domains Pinapayagan ang mail na maipadala sa mga domain na hindi makikilala
bestmx_is-local Tatanggapin lamang ang mga mensahe kung ang entry ng MX DNS server ay tumuturo sa mail server na ito
blacklist_recipients "Itim na Listahan". Isa pang pagpipilian upang labanan ang spam. Kinakailangan ang opsyong access_db para gumana ito.
dnsbl Ginagamit para sa blacklisting, ang dnsbl ay maikli para sa DNS Black List. Sa mga naunang bersyon, tinawag ang opsyong ito (Resolve Black List)
domaintable Ginagamit upang lutasin ang mga pangalan ng domain
genericstable Ginagamit upang baguhin ang address ng pagpapadala sa mga mensahe
local_procmail Tinutukoy na ang mail ay dapat maihatid gamit ang lokal na procmail utility
mailertable Ino-override ang pagruruta para sa mga partikular na domain
masquerade_entire_domain Ginagamit upang i-mask (itago) ang buong domain. Ang function na ito ay dapat gamitin kasabay ng MASQUERADE AS (o MASQUERADE_DOMAIN) na direktiba, halimbawa, MASQUERADE_AS(f117.ru)dnl
masquerade_envelope Binibigyang-daan kang itago ang mga hostname ng domain. Pinapalitan ang natanggap mula sa field ng header ng mensahe bago ipadala ang mensahe sa iba
pag-redirect Ginagamit para mag-redirect sa ibang mail server. Nangangahulugan ng pagtanggi na tumanggap ng mail na may mensahe mangyaring subukan
(subukang gamitin ang address na ito)
relay_based_on_MX Pinapayagan ang pag-redirect ng mail (relay) para lamang sa mga host na tinukoy sa mga talaan ng MX DNS server
relay_hosts_only Pinapayagan ang pag-relay para lang sa mga node na tinukoy sa access_db
relay_mail_from Pinapayagan lamang ang pag-relay kung ang nagpadala ay nakalista sa listahan ng RELAY ng database ng accessdb
smrsh Gamit ang limitadong shell ng sendmail
use_cf_file Kapag tinukoy ang function na ito, titingnan ng sendmail sa sendmail.cf file ang isang listahan ng mga pinagkakatiwalaang user
use_cw_file Kapag tinukoy ang function na ito, titingnan ng sendmail sa sendmail.cw file ang isang listahan ng mga lokal na host
virtusertable Kino-convert ang address ng tatanggap sa address ng lokal na user

Inililista ng file na /etc/mail/sendmail.cw ang lahat ng alias para sa isang naibigay na mail server. Ipagpalagay natin na ang pangalan ng iyong server ay mail.dhsilabs.ru. Kung ang nagpadala ay nagpapadala ng mail sa address [email protected], ang sulat ay ihahatid sa user den nang walang anumang problema. At kung may nagpadala ng sulat sa address [email protected], kung gayon ang paghahatid nito ay magdudulot ng ilang mga paghihirap, dahil hindi malinaw kung saang node ng dhsilabs domain ang mensahe ay tinutugunan? Upang malutas ang problemang ito, kailangan mong maglagay ng linya sa sendmail.cw file.

Una, isang maliit na digression

SMTP - Simple Mail Transfer Protocol - isang serbisyo sa mga TCP/IP network para sa paglilipat ng mga mensahe (i.e. mail). Karaniwang ginagamit ang port 25 para sa SMTP (tingnan ang /etc/services file)

POP - Post Office Protocol - ay ginagamit upang makatanggap ng mail mula sa server. Default na port ay 110 (para sa POP3 protocol)

Ngayon ay susubukan kong ipaliwanag kung paano mag-set up ng isang maliit na mail server gamit ang POP3 at SMTP

Una, i-install natin ang kinakailangang software. Kakailanganin namin ang sendmail at imap. Kung gumagamit ka ng RH-compatible na bersyon ng Linux, kakailanganin mong i-install ang naaangkop na mga package.
ginagamit ko
sendmail-8.11.0
imap-4.7c2

Bago mo simulan ang pag-configure ng sendmail, kailangan mong i-configure nang tama ang DNS, kung hindi, ang program na ito ay hindi gagana nang tama (bagaman maaari mong i-configure ang sendmail upang gumana nang hindi gumagamit ng DNS).

Gawin natin ang ilang pangunahing pag-setup ng sendmail. Upang gawin ito kailangan mong patakbuhin ang utility
netconf. Gumagana ito pareho mula sa X at mula sa console.
Ang netconf utility ay magagamit sa RH, Mandrake - Hindi ko alam para sa iba pang mga bersyon. (ito ay hindi magagamit sa KSI Linux). Naturally, dapat kang naka-log in bilang root.

Pumili mula sa menu Sistema ng paghahatid ng mail, pagkatapos Pangunahing configuration ng sendmail
Sa field na Ipakita ang iyong system bilang, ipasok lamang ang iyong domain name
Pagkatapos ay lagyan ng tsek ang kahon Tanggapin ang email para sa...
Itakda ang protocol sa pagpapadala ng mensahe sa smtp ( Protocol ng gateway ng mail)

Ang impormasyong ito ay sapat na para gumana ang iyong sendmail.
Maaari kang magtakda ng karagdagang mga opsyon sa sendmail program gamit ang
netconf. Kung wala kang sendmail, makakakuha ka ng hindi malilimutan
ang kasiyahan ng manu-manong pag-edit ng /etc/sendmail.cf file - sa loob nito
naka-imbak ang mga setting) :)

Ngayon gawin natin ang sendmail na tumanggap lamang ng mail mula sa awtorisado
mga address. Upang gawin ito, hindi mo na kailangang i-configure mismo ang sendmail - kailangan mo lang
i-edit ang mga file /etc/hosts.allow at /etc/hosts.deny
Ang una sa mga ito ay naglalaman ng isang listahan ng mga host na pinapayagang ma-access ito
kotse, at sa pangalawa - ipinagbabawal. Pakitandaan: sa kabila ng pangalan
(pinapayagan|tinanggihan), mga paghihigpit na itinakda ng unang file
mas mahigpit.

Halimbawa. Upang tanggihan ang access sa lahat ng mga host maliban sa iyong mga computer
network idagdag ang linya sa /etc/hosts.allow file
"192.168.1.
Nangangahulugan ito na ang network ay may address na 192.168.1.0 at isang mask na 255.255.255.0
Maaari kang magbasa nang higit pa tungkol sa format ng mga file ng hosts.allow at hosts.deny,
sa pamamagitan ng pagpasok ng command man /etc/hosts.allow

Upang tumanggap lamang ng mail mula sa "iyong" mga domain, kailangan mong magdagdag sa
mc file (karaniwan ay /etc/mail/sendmail.mc) ang mga sumusunod na linya (gamitin
mga tab, hindi mga puwang)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
Scheck_rcpt
# anumang lokal na pagtatapos ay ok
R< $+ @ $=w >$@OK
R< $+ @ $=R >$@OK

# anumang bagay na nagmumula sa lokal ay ok
R$* $: $(dequote "" $&(client_name) $)
R$=w $@ OK
R$=R$@ OK
R$@ $@ OK

# kahit ano pa ay bogus
R$* $#error$: "550 Relaying Tinanggihan"

Ngayon lumikha ng isang file /etc/sendmail.cR at ilagay ang mga pangalan ng "iyong" mga domain dito -
isa sa bawat linya.
Tanging ang mga domain na ito ang magbibigay-daan sa mailer na makatanggap ng mail - lahat ng iba ay makakatanggap
mensahe 550 Relaying Tinanggihan

Ngayon ay POP3 na. Pagkatapos i-install ang imap package mayroon ka halos
lahat ay naka-set up, i.e. Gusto kong sabihin na maaari mo nang suriin ang pagsasaayos.

Una, i-restart ang inetd daemon
Pagkatapos i-restart ito, ang mga serbisyo ng sendmail at popd ay isaaktibo (mas tiyak
isang sendmail, at tinatawag ang popd kung kinakailangan)

Subukan ang sumusunod:
ipasok ang telnet<имя_только_созданного_почтовика> 25
Dapat kang makakita ng ganito:
Sinusubukan ang 192.168.1.1 ...
Nakakonekta sa 192.168.1.1
Ang karakter sa pagtakas ay "^]"
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Linggo, 17 Hunyo 2001 10:54:22 +300

Nangangahulugan ito na gumagana ang sendmail, ang natitira lamang ay suriin kung gaano ito katama :)

Pumasok
mail mula sa: [email protected]
220 2.1.0 [email protected].... Sender Ok
rcpt sa: [email protected]
220 2.1.5 [email protected].... Recipient Ok
Ngayon ipasok ang data, pagkatapos ay ang teksto ng mensahe, upang tapusin ang entry ay naglalagay kami ng isang tuldok
sa isang walang laman na linya

Iuulat ng Sendmail na naipadala na ang mensahe (mas tiyak, inilagay sa
pila para sa pag-alis)

[email protected]-pangalan ng gumagamit kung kanino ako magpadala ng mail.
den.dhsilabs.com - ang pangalan ng aking mailer
Pakitandaan na ang node my.host.com ay hindi umiiral sa kalikasan, ngunit Sender Ok.
Iyon ang dahilan kung bakit mas mahusay na paganahin ang pagpipiliang Maghintay para sa DNS sa mga setting ng sendmail

Ngayon ay kailangan mong maglunsad ng ilang email client halimbawa kmail
at kunin ang mail.
Mga setting ng network sa kmail
Network -> Mail sending set SMTP, port 25, pangalan ng server -
pangalan ng iyong mailer,
Mayroon akong - den.dhsilabs.com

Pagkatapos ay magdagdag ng account para sa POP3
Logs - den
Password - ang password na ginamit upang mag-log in sa system
Server - den.dhsilabs.com
Port - 110

Dapat mong matanggap ang mensahe na iyong ipinasok pagkatapos ng data.

Hindi malamang na kailangan mo web server na hindi makapagpadala ng mail mula sa iyong site. Nasa ibaba ang isang madaling paraan upang mabilis na mag-deploy sendmail bilang isang MTA (Mail Transfer Agent) na nagpapadala ng mail para sa site.

Upang magsimula sa pag-install

Sudo apt-get install sendmail

Ang pangalawa at pinakamahalagang bagay ay ang tamang pagsasaayos ng host mismo. Kailangang malinaw na malaman ng mailer kung anong pangalan ng DNS FQDN ang host at na ito ay umiiral sa world wide web.

Ipagpalagay natin na ang server kung saan gumagana ang sendmail may IP address 123.123.123.123

Mayroon din kaming domain name na domainame.com, na wastong itinalaga sa IP address ng server.

Pag-edit ng file /etc/hosts upang ang server mismo ay nakakaalam ng pangalan ng DNS nito (natural, dapat itong tama at totoo)

Sudo nano -w /etc/hosts

Ang pangalawang linya na dapat idagdag ay isang paglalarawan ng domain name ng server, ang paghahambing nito sa tunay na IP address ng host at ang panloob na pangalan ng system:

127.0.0.1 localhost 123.123.123.123 box1.domainname.com iyong-web-server

Pagkatapos ay kailangan mong gumawa ng pagbabago sa file /etc/hostname

Sudo nano -w /etc/hostname

At ilagay doon ang tamang pangalan ng server na inilagay /etc/hosts sa aming halimbawa, ito ang iyong-web-server.

Mga nilalaman ng /etc/hostname file pagkatapos i-edit:

Ang iyong-web-server

Pagkatapos ng mga hakbang na ito kailangan mong i-restart ang server o gawin ang:

/etc/init.d/hostname restart At magpatakbo ng 2 command: hostname hostname -f

Kung tama ang lahat, ang system ay dapat gumawa ng parehong mga pangalan sa parehong mga kaso: iyong-web-server

payo ko suriin ang pagpapadala ng liham Sa gayon

# telnet Binibigyan tayo ng localhost smtp ng: Trying::1... Trying 127.0.0.1... Connected to localhost. Ang karakter sa pagtakas ay "^]". 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3/8.14.3/Debian-9.2ubuntu1; Huwebes, 9 Dis 2010 15:31:17 +0200; (Walang UCE/UBE) access sa pag-log mula sa: localhost.localdomain(OK)- localhost.localdomain enter: Ibinibigay sa amin ng HELO localhost: 250 localhost6.localdomain6 Hello localhost.localdomain , ikinagagalak kong makilala ka ipasok ang: MAIL FROM: [email protected] nagbibigay sa amin ng: 250 2.1.0 [email protected]... Sender ok enter: RCPT TO: [email protected] nagbibigay sa amin ng: 250 2.1.5 [email protected]... Recipient ok enter: DATA gives us: 354 Enter mail, end with "." sa isang linya mismo ay ipasok ang mensahe ng pagsubok. Umaasa ako na nahulaan mo na ang email sa itaas ay dapat na pinalitan ng iyong huling email na isinusulat sa amin ng Telnet 250 2.0.0 oB9DVHsE004837 Tinanggap ang mensahe para sa paghahatid

Bilang resulta ng pagpapatupad ng isang pagkakasunud-sunod ng mga utos sa tinukoy na e-mail ( [email protected]) isang mensahe ("test message") ay dapat dumating.

Pagse-set up ng php.ini

gedit/etc/php5/apache2/php.ini

Hanapin at i-edit ang susunod na linya

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

Sinusuri ang mail() function

echo mail(" [email protected]","test message", "test message","Mula kay: [email protected]"); ?>

Kumpleto na ang setup, sana gumana ito para sa iyo i-configure ang Sendmail sa Ubuntu