Inasanidi Sendmail. Usakinishaji wa kimsingi na usanidi wa Sendmail kwenye Matatizo na Suluhu za Seva ya Ubuntu

Huhitaji sana seva ya wavuti, ambayo haiwezi kutuma barua kutoka kwa tovuti yako. Chini ni njia rahisi ya kusambaza haraka barua pepe kama MTA (Wakala wa Uhamishaji Barua) ambayo hutuma barua kwa tovuti.

Kuanza ufungaji

sudo apt-get install sendmail

Jambo la pili na muhimu zaidi ni usanidi sahihi wa mwenyeji yenyewe. Mtumaji barua anahitaji kujua kwa uwazi ni nini DNS FQDN seva pangishi anayo na kwamba inapatikana katika mtandao mkubwa wa dunia nzima.

Wacha tufikirie kuwa seva sendmail inafanya kazi ina anwani ya IP 123.123.123.123

Pia tuna jina la kikoa domainame.com, ambalo limekabidhiwa kwa usahihi kwa anwani ya IP ya seva.

Kuhariri faili /etc/hosts ili seva yenyewe ijue jina lake la DNS (kawaida, lazima iwe sahihi na halisi)

sudo nano -w /etc/hosts

Mstari wa pili ambao unapaswa kuongezwa ni maelezo ya jina la kikoa cha seva, ulinganisho wake na anwani halisi ya IP ya mwenyeji na jina la mfumo wa ndani:

127.0.0.1 mwenyeji wa ndani 123.123.123.123 box1.domainname.com your-web-server

Kisha unahitaji kufanya mabadiliko kwenye faili /etc/jina la mwenyeji

sudo nano -w /etc/hostname

Na ingiza jina sahihi la seva hapo, ambalo liliingizwa /etc/hosts kwa mfano wetu, hii ni seva yako ya wavuti.

Yaliyomo kwenye /etc/hostname faili baada ya kuhariri:

Seva yako ya wavuti

Baada ya hatua hizi, unahitaji kuanzisha upya seva au kukimbia:

/etc/init.d/hostname anzisha upya Na utekeleze amri 2: jina la mwenyeji -f

Ikiwa kila kitu ni sawa, mfumo unapaswa kurudisha majina sawa katika visa vyote viwili: seva yako ya wavuti

Nashauri angalia barua pepe iliyotumwa Hivyo

# telnet localhost smtp inatupa: Kujaribu::1... Inajaribu 127.0.0.1... Imeunganishwa kwa localhost. Herufi ya Escape ni "^]". 220 localhost6.localdomain6 ESMTP Sendmail 8.14.3/8.14.3/Debian-9.2ubuntu1; Alhamisi, 9 Desemba 2010 15:31:17 +0200; (Hakuna UCE/UBE) ufikiaji wa kuingia kutoka: localhost.localdomain(OK)- localhost.localdomain ingiza: HELO localhost inatupa: 250 localhost6.localdomain6 Hello localhost.localdomain , nimefurahi kukutana nawe ingiza: MAIL KUTOKA: [barua pepe imelindwa] inatupa: 250 2.1.0 [barua pepe imelindwa] Mtumaji sawa ingiza: RCPT TO: [barua pepe imelindwa] inatupa: 250 2.1.5 [barua pepe imelindwa] Mpokeaji sawa ingiza: DATA inatupa: 354 Ingiza barua, malizia kwa "." kwenye mstari peke yake ingiza ujumbe wa jaribio. Natumai ulikisia kuwa barua iliyoonyeshwa hapo juu inapaswa kubadilishwa na barua yako ya mwisho, ambayo telnet inatuandikia 250 2.0.0 oB9DVHsE004837 Ujumbe umekubaliwa kwa kutumwa.

Kama matokeo ya kutekeleza mlolongo wa amri kwa barua pepe maalum ( [barua pepe imelindwa]) inapaswa kupokea ujumbe ("ujumbe wa jaribio").

php.ini kuanzisha

gedit/etc/php5/apache2/php.ini

Tafuta na uhariri mstari unaofuata

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

Kuangalia mail() kazi

mwangwi barua (" [barua pepe imelindwa]","ujumbe wa jaribio", "ujumbe wa jaribio","Kutoka: [barua pepe imelindwa]"); ?>

Usanidi umekamilika, natumai umefaulu anzisha sendmail kwenye ubuntu

Kitabu kinajadili kwa undani mipangilio ya huduma za mtandao zinazokuwezesha kuunda seva na usanidi unaohitajika na utendaji kulingana na Linux OS. Unaweza kusanidi aina yoyote ya seva: kutoka kwa seva ya LAN hadi seva ya Mtandao na seva ya ufikiaji wa mbali. Utawala wa Linux umeelezewa kwa undani.

Uwasilishaji wa nyenzo unategemea usambazaji wa Red Hat na Mandrake. Habari nyingi za kipekee: kuzindua michezo ya Windows chini ya Linux na kuunda seva ya Linux kwa chumba cha mchezo, kusanidi Dk. Wavuti na AVP ya Linux, mpango wa uhasibu wa trafiki wa MRTG, ulinzi wa LIDS na mfumo wa kugundua uingiliaji, na mengi zaidi. Uangalifu hasa hulipwa kwa usalama wa seva za Linux. Linux OS yenyewe inaelezwa kwa undani wa kutosha na kitabu cha kumbukumbu cha amri zake kinatolewa. Baada ya kusoma kitabu, utakuwa mmiliki wa maarifa juu ya kusanidi na kuunda kernel, kuunda vifurushi vyako vya rpm, mkalimani wa amri ya bash, kwa kutumia safu za RAID. Utapata kujua ulimwengu wa ndani wa Linux. Kitabu kinafaa kwa wasimamizi wa kitaaluma na wa novice, tangu uwasilishaji wa nyenzo huanza na usakinishaji wa Linux OS, na sura ya kwanza inaelezea teknolojia kuu za mtandao na itifaki (Kozi ya Msimamizi wa Vijana).

Orodha zote zilizotolewa katika kitabu huangaliwa kwa vitendo na kuwekwa kwenye CD iliyoambatanishwa. Kwa kuongeza, ina habari nyingi za kumbukumbu (HOWTO, RFC), pamoja na makala kwenye Linux. Kuna seti tajiri ya huduma za usaidizi na programu kwa seva (Apache, MySQL, MRTG, nk).

Kitabu:

Ikiwa unatumia usambazaji unaoendana na RedHat, basi utahitaji kufunga vifurushi vinavyofaa. Ninatumia sendmaiI-8.11.0 na imap-4.7c2. Toleo la hivi punde la sendmail linaweza kupakuliwa kutoka kwa Mtandao kwenye http://www.sendmail.org.

Kabla ya kusanidi barua pepe, unahitaji kusanidi DNS vizuri. Kuweka seva ya DNS kulijadiliwa kwa kina katika Chap. 10. Ikiwa unasanidi seva ya barua tu, huhitaji kusanidi seva ya DNS kwenye kompyuta sawa. Itatosha kutaja seva za DNS za mtandao wako katika faili ya /etc/resolv.conf ili mfumo wa utatuzi wa jina ufanye kazi ipasavyo. Hata hivyo, sendmail inaweza kusanidiwa kufanya kazi bila kutumia DNS, lakini sitazingatia chaguo hili.

Ili kuanza na usanidi msingi wa barua pepe, endesha matumizi ya netconf (ona Mchoro 13.1). Inafanya kazi kutoka chini ya Dirisha la X na kutoka chini ya koni. Huduma ya netconf inapatikana katika RedHat Linux, Mandrake, ASPLinux na usambazaji mwingine, kwa hakika haiko katika KSI Linux. Kwa kawaida, lazima uwe umeingia kwenye mfumo kama mzizi. Ikiwa huna programu ya netconf, utafurahia kuhariri faili ya /etc/sendmail.cf kwa mkono. Ni katika faili hii ambapo mipangilio yote ya barua pepe huhifadhiwa.


Picha. 13.1. kisanidi cha netconf

Chagua mfumo wa uwasilishaji wa barua kutoka kwenye menyu, kisha usanidi Msingi wa barua pepe. Katika Present mfumo wako kama shamba, tu kuingia jina domain yako. Kisha hakikisha kuwa umechagua kisanduku cha "Kubali barua pepe kwa your_domain.com" (ona Mchoro 13-2). Usipofanya hivyo, ujumbe unaweza kuelekezwa kupitia seva yako hadi kwenye seva nyingine. Wakati huo huo, trafiki ya ziada itapitia seva yako, ambayo hauitaji kabisa. Wakati mmoja kulikuwa na aina kama hiyo ya shambulio la kukataa kupitia barua pepe. Kanuni yake ni kama ifuatavyo: barua hutumwa kutoka kwa mtumiaji ambaye hayupo [barua pepe imelindwa] mtumiaji mwingine ambaye hayupo [barua pepe imelindwa] Barua hutumwa kupitia kompyuta ya mwenyeji, ambayo hukuruhusu kuelekeza ujumbe upya (hali ya "Kubali barua pepe kwa domain.com" haijawezeshwa). Seva ya barua ya kikoa cha B.com hutuma ujumbe kwa anwani [barua pepe imelindwa] kwamba mtumiaji [barua pepe imelindwa] haipo. Kwa upande wake, mtumaji wa kikoa cha A.com anaripoti kwamba mtumiaji [barua pepe imelindwa] pia haipo na hutuma ujumbe kwa anwani [barua pepe imelindwa] Kuna urejesho usio wa moja kwa moja. Sasa fikiria kwamba ujumbe kama huo sio mmoja, lakini, sema, 100 na kiasi cha kila mmoja ni angalau 1 MB! Kwa hivyo, moja ya seva katika mnyororo wa domain1.com - host.com - domain2.com inapaswa "kuanguka".


Mchele. 13.2. Mipangilio ya msingi ya barua pepe

Samahani, nimetoka nje ya mada kidogo, wacha tuendelee kusanidi sendmail. Weka itifaki ya kutuma ujumbe kwa smtp (Itifaki ya lango la Barua).

Maelezo haya tayari yanatosha kwa barua pepe yako kufanya kazi. Unaweza kuweka chaguo za ziada kwa programu ya kutuma barua pepe kwa kutumia netconf.

Sasa fanya barua pepe ikubali barua kutoka kwa anwani zinazoruhusiwa. Huhitaji hata kusanidi barua pepe yenyewe kwa hili - unahitaji tu kurekebisha faili za /etc/hosts.allow na /etc/hosts.deny. Ya kwanza ina orodha ya wapangishi wanaoruhusiwa kufikia mashine hii, na ya pili ina orodha ya wapangishi ambao wamekataliwa. Tafadhali kumbuka kuwa licha ya jina - "kuruhusiwa" au "kukatazwa", vikwazo vinavyowekwa na faili ya kwanza ni kali zaidi. Kwa mfano, ili kukataa ufikiaji wa wapangishi wote isipokuwa kompyuta kwenye mtandao wako, ongeza laini ifuatayo kwenye faili ya /etc/hosts.allow: 192.168.1.

Hapa tunamaanisha kuwa mtandao una anwani 192.168.1.0 na mask 255.255.255.0. Unaweza kusoma zaidi kuhusu umbizo la faili za hosts.allow na hosts.deny kwa kuandika man hosts.allow.

Sasa ni zamu ya POP3. Baada ya kufunga kifurushi cha imap, una karibu kila kitu kilichopangwa, i.e. Ninataka kusema kwamba tayari inawezekana kuangalia usanidi. Anzisha upya daemon ya inetd au xinetd, chochote unachotumia, na uweke zifuatazo:

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

Kwa kujibu, unapaswa kuona kitu kama hiki:

Kujaribu 192.168.1.1 . . .
Imeunganishwa na 192.168.1.1
tabia ya kutoroka ni
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Jua, 17 Jun
2001 10:54:22 +300

Hii ina maana kwamba sendmail inafanya kazi, inabakia kuonekana jinsi inavyofanya vizuri. Ili kufanya hivyo, ingiza kitu kama hiki:

barua kutoka: [barua pepe imelindwa]
220 2.1.0 [barua pepe imelindwa]…. SenderOk
rcpt kwa: [barua pepe imelindwa]
220 2.1.5 [barua pepe imelindwa]…. MpokeajiOk

Baada ya hayo, ingiza amri ya data, kisha maandishi ya ujumbe, na kumaliza kuingia, weka dot kwenye mstari tupu. Sendmail itaripoti kwamba ujumbe umetumwa (au tuseme umepangwa kwenye foleni ili kutumwa). Kurekodi [barua pepe imelindwa]- jina la mtumiaji unayemtumia barua. Mtumiaji lazima awepo. Ingizo la den.dhsilabs.com ni jina la mtumaji barua wako.

Kumbuka. Majina [barua pepe imelindwa] na dhsilabs.com zimetolewa kama mifano. Badala yake, lazima utoe maadili yako mwenyewe.

Kumbuka kuwa mwenyeji my.host.com hayupo, na programu ya kutuma barua pepe inaripoti kwamba "Mtumaji Sawa". Ndiyo sababu ni bora kuwezesha chaguo la Subiri kwa DNS katika mipangilio ya barua pepe.

Sasa unahitaji kuanza baadhi ya mteja wa barua, kwa mfano kmail, na kupokea barua. Tumia mipangilio ifuatayo ya mtandao katika kmail: Mtandao? Kutuma seti ya barua SMTP, bandari 25, jina la seva - jina la mtumaji barua wako, kwa mfano huu ni den.dhsilabs.com. Kisha ongeza akaunti ya POP3:

Jina la mtumiaji - pango

Nenosiri - Nenosiri linalotumiwa kuingia kwenye mfumo.

Seva - den.dhsilabs.com

Kama matokeo, unapaswa kupata ujumbe ulioingiza baada ya data. Hii inaweza kusababisha matatizo na utatuzi wa jina. Ili kuziepuka, lazima usanidi kwa usahihi DNS au utumie anwani yake ya IP badala ya jina la seva ya barua. Unapoongeza mtumiaji mpya, hakikisha umeweka nenosiri lake la kuingia. Ikiwa hutafanya hivyo, lakini jaribu kupokea barua bila kutaja nenosiri, utapokea ujumbe wa "Uthibitishaji umeshindwa".

Configuration ya msingi ya programu ya kutuma barua pepe ni rahisi sana kwa kutumia configurator, lakini wakati mwingine usanidi wa msingi haitoshi. Kwa urekebishaji bora, unahitaji kujijulisha na faili za usanidi wa programu ya kutuma barua pepe.

Kumbuka. Katika hali nyingi, utakuwa sawa na usanidi wa msingi hadi watumaji taka wakuchukue chini ya "ulinzi" wao - basi utahitaji kusoma ch. 23 kuhusu mbinu za kupambana na barua taka. Hata hivyo, moja ya sheria za Murphy zinaweza kufanya kazi - hakutakuwa na kisanidi cha kutuma barua pepe kwa mfumo wako, na kisha bado unapaswa kushughulika na faili za usanidi.

Faili kuu ya usanidi wa barua pepe ni /etc/sendmail.cf. Kwenye usambazaji fulani, faili hii iko kwenye saraka ya /etc/mail. Faili hii inasemekana kuwa ndefu kuliko limousine ya Bill Gates na kwamba imehaririwa katika hali ya "macho yanaogopa, mikono hufanya". Ikiwa huniamini, fungua faili hii na ujionee mwenyewe. Wasimamizi wataalamu pekee au wasanidi wa barua pepe wanaweza kuhariri faili hii wenyewe.

Kwa kawaida, m4 macro processor hutumiwa kuhariri faili hii. Kwanza unatayarisha faili maalum ya mc. Faili hii ina mipangilio ya .sendmail, lakini katika fomu "inayosomeka" zaidi. Wakati wa kuhariri faili za usanidi, saizi yao pia huathiri. Kwa kulinganisha, faili yangu ya mc ni ka 2459 na sendmail.cf ni 46302 byte. Ni jambo moja kuhariri faili ya kilobyte mbili, na nyingine kabisa ikiwa saizi ya faili ni 46 kilobytes. Tofauti na faili ya usanidi wa sendmail, utaelewa mara moja hii au faili ya mc ni ya nini. Kisha, baada ya kuhariri faili ya mc, unahitaji kuendesha kichakataji cha m4 macro ili kuunda faili ya usanidi wa sendmail:

m4 my_config.mc > /etc/sendmail.cf

Kabla ya kutekeleza amri hii, ninapendekeza sana kwamba uhifadhi faili asili ya sendmail.cf mahali fulani. Katika kesi ya mipangilio isiyo sahihi, unaweza kurejesha kila wakati.

Faili ya usanidi chaguo-msingi ambayo hutumiwa na kichakataji cha t4 macro kuunda faili ya usanidi wa barua pepe (sendmail.cf) iko kwenye saraka /usr/share/sendmail-cf/cf. Katika matoleo ya zamani ya programu ya kutuma barua pepe, inaweza kuwa katika saraka ya /usr/lib/sendmail.

Kwa kawaida, faili hii inaitwa sendmail.mc. Wakati mwingine inaweza kuwa na jina tofauti, kama vile redhat.mc, ikiwa unatumia Red Hat au mfumo wa uendeshaji unaooana.

Mfano wa faili ya kawaida /usr/share/sendmail-cf/cf/redhat.mc imeonyeshwa katika Orodha ya 13-1.

Kuorodhesha 13.1. Faili ya kawaida redhat.mc

mzamiaji(-1)
dnl Hii ni faili ya usanidi wa sendmail macro. Ukifanya mabadiliko kwenye faili hii,
dnl unahitaji sendmail-cf rpm iliyosanikishwa kisha lazima utoe a
dnl mpya /etc/sendmail.cf kwa kuendesha amri ifuatayo: dnl
dnl m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
dnl
ni pamoja na("../m4/cf.m4")
VERSIONID("kuweka linux kwa 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
fafanua("PROCMAIL_MAILER_PATH", "/usr/bin/procmail")dnl
fafanua("ALIAS_FILE", "/eto/aliases")dnl
dnl fafanua("STATUS_FILE", "/etc/mail/statistics")dnl
define("UUCP_MAILER_MAX", "2000000")dnl
define("conf USERDB_SPEC", "/etc/mail/userb.db")dnl
fafanua("confPRIVACY_FLAGS", "authwarnings,novrfy,noexpn,restrictqrun")dnl
define("confAUTH_OPTIONS", "A")dnl
dnl TRUST_AUTH_MECH("DIGEST-MD5 CRAM-MD5 INGIA PLAIN") dnl
dnl fafanua("confAUTH_MECHANISMS", "DIGEST-MD5 CRAM-MD5 LOGIN PLAIN")dnl
dnl fafanua("confTO_QUEUEWARN", "4h")dnl
dnl fafanua("confTO_QUEUERETURN", "5d")dnl
dnl define("confQUEUE_LA", "12")dnl
dnl fafanua("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(elekeza kwingine)dnl
FEATURE(daima_add_domain)dnl
FEATURE(tumia_cw_file)dnl
FEATURE(tumia_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("mzizi") dnl
dnl Hii inabadilisha barua pepe ili kusikiliza tu kwenye kifaa cha loopback 127.0.0.1
dnl na sio kwenye vifaa vingine vya mtandao. Toa maoni yako kama unataka
dnl kukubali barua pepe kupitia mtandao.
DAEMON_OPTIONS("Port=smtp,Addr=127.0.0.1, Name=MTA")
dnl KUMBUKA: Kufunga daemon ya IPv4 na IPv6 kwa lango moja kunahitaji
dnl kiraka cha kernel
dnl DAEMON_OPTIONS (xport=smtp,Addr=::1, Name=MTA-v6, Familia=inet6")
dnl Tunapendekeza sana kutoa maoni kwa hii ikiwa unataka kulinda
dnl mwenyewe kutoka kwa barua taka. Walakini, kompyuta ndogo na watumiaji kwenye kompyuta hiyo
dnl usiwe na 24x7 DNS unahitaji hii.
FEATURE("accept_unresolvable_domains")dnl
dnl FEATURE("relay_based_on_MX")dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
Cwlocalhost.localdomain

Kwa kutumia maagizo ya FEATURE, unaweza kuwezesha kipengele kimoja au kingine cha programu ya kutuma barua pepe. Kwa mfano, chaguo za kukokotoa zinazoweza kutumwa kimeundwa ili kubatilisha uelekezaji kwa vikoa maalum. Unaweza kupanua kwa urahisi utendakazi wa programu ya kutuma barua pepe kwa kuongeza vitendakazi unavyohitaji kwenye faili ya mc.

Hebu tuseme unataka kuficha majina ya kompyuta ya kikoa. Hii inafikiwa kwa urahisi kwa kuongeza kitendakazi_bahasha_kwa faili yako ya mc. Ili kufanya hivyo, nakili faili ya redhat.mc kwenye faili ya hide_hosts.me na uongeze mistari ifuatayo hadi mwisho wa faili ya hide_hosts.me:

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

Kisha endesha amri:

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

Ni hayo tu! Majina ya nodi yatafichwa. Ufafanuzi wa kazi zingine umewasilishwa kwenye Jedwali. 13.1.

kazi za programu ya kutuma barua pepe Jedwali 13.1

Kazi Maelezo
ufikiaji_db Inafafanua jedwali la ufikiaji. Jedwali hili linaorodhesha wapangishi ambao wanaruhusiwa au kukataliwa kutuma barua kupitia seva yako ya barua. Chaguo hili linatumika kwa ufanisi kupambana na barua taka. Ulinzi wa barua taka unajadiliwa kwa kina katika sehemu ya jina moja katika Chap. 23
kukubali_vikoa_visivyoweza kutatuliwa Huruhusu barua kutumwa kwa vikoa ambavyo haviwezi kutambuliwa
bestmx_ni-ya ndani Ujumbe utakubaliwa tu ikiwa seva ya DNS MX itaelekeza kwenye seva hii ya barua.
orodha_ya_wapokeaji "Orodha nyeusi". Chaguo jingine la kupambana na barua taka. Inahitaji chaguo la ufikiaji_db kufanya kazi.
dnsbl Inatumika kwa kuorodheshwa, dnsbl ni kifupi cha Orodha Nyeusi ya DNS. Katika matoleo ya awali chaguo hili liliitwa (Tatua Orodha Nyeusi)
domaintable Inatumika kutatua majina ya vikoa
jenetiki Inatumika kubadilisha anwani ya kutuma katika ujumbe
local_procmail Inabainisha kuwa barua inapaswa kuwasilishwa kwa kutumia matumizi ya karibu ya procmail
mailertable Hubatilisha uelekezaji wa vikoa mahususi
kinyago_kikoa_ kizima Inatumika kuficha (kuficha) kikoa kizima. Chaguo hili la kukokotoa lazima litumike pamoja na maagizo ya MASQUERADE AS (au MASQUERADE_DOMAIN), kwa mfano, MASQUERADE_AS(f117.ru)dnl
bahasha_ya_kinyago Hukuruhusu kuficha majina ya wapangishi wa kikoa. Hubadilisha iliyopokelewa kutoka kwa sehemu ya kichwa cha ujumbe kabla ya kupitisha ujumbe kwa mwingine
elekeza kwingine Inatumika kuelekeza kwa seva nyingine ya barua. Inamaanisha kukataa kupokea barua iliyo na ujumbe tafadhali jaribu
(jaribu kutumia anwani hii)
relay_based_on_MX Inaruhusu usambazaji wa barua pepe (relay) kwa seva pangishi ambazo zimebainishwa katika rekodi za seva za MX DNS
relay_hosts_pekee Inaruhusu kusambaza tena kwa nodi zilizobainishwa katika access_db
relay_mail_kutoka Inaruhusu utumaji tena ikiwa mtumaji yuko kwenye orodha ya accessdb RELAY
smrsh Kwa kutumia ganda la barua pepe ndogo
tumia_cf_faili Inapobainishwa, sendmail itaangalia kwenye faili ya sendmail.cf kwa orodha ya watumiaji wanaoaminika.
tumia_cw_faili Inapobainishwa, sendmail itaangalia katika faili ya sendmail.cw kwa orodha ya wapangishi wa ndani.
virtualusertable Hubadilisha anwani ya mpokeaji kuwa anwani ya karibu ya mtumiaji

Faili ya /etc/mail/sendmail.cw huorodhesha lakabu zote za seva hii ya barua. Tuseme jina la seva yako ni mail.dhsilabs.ru. Ikiwa mtumaji atatuma barua kwa [barua pepe imelindwa], barua itawasilishwa kwa pango la mtumiaji bila matatizo. Je, ikiwa mtu atamtumia barua [barua pepe imelindwa], basi uwasilishaji wake utasababisha matatizo fulani, kwani haijulikani ni kwa nodi gani ya kikoa cha dhsilabs ujumbe unashughulikiwa? Suluhisho la tatizo hili ni kuweka mstari kwenye faili sendmail.cw.

Kuanza, kushuka kidogo

SMTP - Itifaki Rahisi ya Uhamisho wa Barua - huduma katika mitandao ya TCP / IP kwa uhamishaji wa ujumbe (yaani barua). Kawaida bandari 25 hutumiwa kwa SMTP (tazama /etc/services file)

POP - Itifaki ya Ofisi ya Posta - hutumiwa kupokea barua kutoka kwa seva. Mlango chaguo-msingi - 110 (kwa itifaki ya POP3)

Sasa nitajaribu kueleza jinsi ya kuanzisha seva ndogo ya barua kwa kutumia POP3 na SMTP

Kwanza, hebu tusakinishe programu muhimu. Tunahitaji sendmail na imap. Ikiwa unatumia toleo linalolingana na RH la Linux, utahitaji kusakinisha vifurushi vinavyofaa.
natumia
sendmail-8.11.0
picha-4.7c2

Kabla ya kusanidi barua pepe, unahitaji kusanidi DNS kwa usahihi, vinginevyo programu hii haitafanya kazi ipasavyo (ingawa unaweza kusanidi barua pepe kufanya kazi bila kutumia dns).

Hebu tufanye usanidi wa kimsingi wa barua pepe. Ili kufanya hivyo, unahitaji kuendesha matumizi
netconf. Inafanya kazi kutoka chini ya X na kutoka chini ya koni.
Huduma ya netconf iko katika RH, Mandrake - sijui kwa uhakika kuhusu matoleo mengine. (haipatikani katika KSI Linux). Kwa kawaida, lazima uwe umeingia kwenye mfumo kama mzizi

Chagua kutoka kwa menyu mfumo wa utoaji wa barua, basi Mipangilio ya msingi ya barua pepe
Katika Present mfumo wako kama shamba, tu kuingia jina domain yako
Kisha angalia kisanduku Kubali barua pepe ya...
Weka itifaki ya kutuma ujumbe kwa smtp ( Itifaki ya lango la barua)

Maelezo haya tayari yanatosha kwa barua pepe yako kufanya kazi.
Unaweza kuweka chaguzi za ziada za barua pepe na
netconf. Ikiwa huna programu ya kutuma barua pepe, utapata isiyosahaulika
raha ya kuhariri faili kwa mikono /etc/sendmail.cf - ndani yake
mipangilio imehifadhiwa

Sasa hebu tuhakikishe kuwa barua pepe zinapokea barua pepe kutoka kwa pekee
anwani. Huhitaji hata kusanidi barua pepe yenyewe kwa hili - unahitaji tu
tweak /etc/hosts.allow na /etc/hosts.deny faili
Ya kwanza ina orodha ya wapangishi ambao wanaruhusiwa kufikia hii
gari, na kwa pili - ni marufuku. Tafadhali kumbuka kuwa licha ya jina
(imeruhusiwa|imezimwa), vikwazo ambavyo vimewekwa na faili ya kwanza
kali zaidi.

Mfano. Kunyima ufikiaji wa wapangishaji wote isipokuwa kompyuta kwenye yako
mitandao kwenye faili /etc/hosts.allow ongeza mstari
"192.168.1.
Hapa tunamaanisha kuwa mtandao una anwani 192.168.1.0 na mask 255.255.255.0
Unaweza kusoma zaidi kuhusu umbizo la hosts.allow na hosts.deny files,
kwa kuandika man /etc/hosts.allow

Ili kukubali barua kutoka kwa vikoa vya "vyao", unahitaji kuongeza
mc (kawaida /etc/mail/sendmail.mc) mistari ifuatayo (tumia
vichupo, sio nafasi)
LOCAL_CONFIG
FR-o /etc/sendmail.cR

LOCAL_RULESETS
Angalia_rcpt
# kitu chochote kinachokatisha ndani ni sawa
R< $+ @ $=w > [barua pepe imelindwa] sawa
R< $+ @ $=R > [barua pepe imelindwa] sawa

# chochote kinachotoka ndani ni sawa
R$* $: $(ondoa "" $&(jina_la_mteja) $)
R$=w [barua pepe imelindwa] sawa
R$=R [barua pepe imelindwa] sawa
[barua pepe imelindwa] [barua pepe imelindwa] sawa

# kitu kingine chochote ni uwongo
R$* $#kosa $: "Relay 550 Imekataliwa"

Sasa tengeneza faili /etc/sendmail.cR na uweke majina ya vikoa "zako" ndani yake -
moja katika kila mstari.
Ni kwa vikoa hivi pekee mtumaji ataweza kupokea barua - wengine wote watapokea
Ujumbe 550 Uwasilishaji Umekataliwa

Sasa ni zamu ya POP3. Baada ya kusakinisha kifurushi cha imap, una kivitendo
kila kitu kimewekwa, i.e. Ninataka kusema kwamba tayari inawezekana kuangalia usanidi.

Kwanza, anzisha upya daemon ya inetd
Baada ya kuwashwa tena, huduma za barua pepe na popd zitaamilishwa (kwa usahihi zaidi
barua pepe moja na popd inaitwa kama inahitajika)

Jaribu kufanya yafuatayo:
ingiza telnet<имя_только_созданного_почтовика> 25
Unapaswa kuona kitu kama hiki:
Inajaribu 192.168.1.1 ...
Imeunganishwa na 192.168.1.1
Herufi ya Escape ni "^]"
220 de.dhsilabs.com ESMTP Sendmail 8.11.0/8.8.7 Jua, 17 Jun 2001 10:54:22 +300

Hii inamaanisha kuwa barua pepe inafanya kazi, inabaki kuangaliwa ikiwa ni sahihi :)

Ingiza
barua kutoka: [barua pepe imelindwa]
220 2.1.0 [barua pepe imelindwa].... Mtumaji Sawa
rcpt kwa: [barua pepe imelindwa]
220 2.1.5 [barua pepe imelindwa]... Mpokeaji Sawa
Sasa tunaingia data, kisha maandishi ya ujumbe, ili kukomesha kuingia tunaweka dot
kwenye mstari tupu

Sendmail itaripoti kwamba ujumbe umetumwa (au tuseme umewekwa ndani
foleni ya kuondoka)

[barua pepe imelindwa]-jina la mtumiaji ninayemtumia barua.
den.dhsilabs.com - jina la mtumaji wangu
Tafadhali kumbuka kuwa nodi ya my.host.com haipo kwa asili, lakini Mtumaji Sawa.
Ndiyo sababu ni bora kuwezesha chaguo la Subiri kwa DNS katika mipangilio ya barua pepe

Sasa unahitaji kuendesha baadhi ya mteja wa barua pepe kama vile kmail
na kuchukua barua.
mipangilio ya mtandao katika kmail
Mtandao -> Tuma seti ya barua SMTP, bandari 25, jina la seva -
jina la mtumaji wako,
Ninayo - den.dhsilabs.com

Kisha ongeza akaunti ya POP3
Magogo - shimo
Nenosiri - nenosiri linalotumiwa kuingia kwenye mfumo
Seva - den.dhsilabs.com
Bandari - 110

Unapaswa kupata ujumbe ulioingiza baada ya data.

Mwongozo wa ufungaji na usanidi kwa moja ya kongwe zaidi MTA (Wakala wa Uhamisho wa Barua), mpango wa kutuma barua pepe - barua pepe, ambayo inapatikana kwa ajili ya ufungaji kwenye mfumo wowote wa uendeshaji. Kwenye OS nyingi, barua pepe husakinishwa kwa chaguo-msingi na hakuna haja maalum ya kubadilisha MTA hii chaguomsingi hadi nyingine. Wakati huo huo, PHP sawa imeundwa kwa chaguo-msingi kufanya kazi na MTA hii. Ikiwa usanidi wa barua pepe ya kutuma unachukua muda mrefu sana, sakinisha postfix(), usipoteze muda mwingi.

Maandalizi

Angalia ikiwa umesakinisha barua pepe na sio exim4 au MTA nyingine:

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

Ufungaji

sudo apt-get install sendmail sasl2-bin

Inasanidi /etc/hosts

127.0.0.1 localhost localhost.localdomain e5530
Kumbuka

Lazima ubainishe mwenyeji wako mkuu (jina la kompyuta, langu ni e5530) na localhost.localdomain vinginevyo utapata hitilafu: Jina langu la mwenyeji lisilohitimu (jina la mwenyeji wangu) halijulikani; kulala kwa kujaribu tena" na "sijaweza kuhitimu jina langu la kikoa (e5530) - kwa kutumia jina fupi, barua pepe inachukua muda mrefu kuanza na kutuma barua polepole. Inawezekana mwenyeji localhost.localdomain inaweza kurukwa, sina uhakika.

Baada ya hayo, unahitaji kutaja majina ya majeshi ya ndani ambayo barua pepe itakubali maombi ya kutuma ujumbe wa barua pepe, katika /etc/mail/local-host-names faili:

AuthInfo:smtp.gmail.com "U: [barua pepe imelindwa]""Mimi: [barua pepe imelindwa]" "P:YourPass" "M:PLAIN" AuthInfo:smtp.gmail.com:465 "U: [barua pepe imelindwa]""Mimi: [barua pepe imelindwa]" "P:Pass Yako" "M:PLAIN"

Kumbuka

Badala ya bandari 465, unaweza kujaribu kugonga 587 (ikiwa kuna shida na idhini):

AuthInfo:smtp.gmail.com:587 "U: [barua pepe imelindwa]""Mimi: [barua pepe imelindwa]" "P:Pass Yako" "M:PLAIN"

Chmod 600 /etc/mail/auth/*

usanidi wa sendmail.mc

Sanidi faili /etc/mail/sendmail.mc . Linganisha usanidi wako. Inapaswa kuwa kitu kama hiki.. Utaratibu wa maagizo ni muhimu!

dnl # ni pamoja na(`/etc/mail/m4/dialup.m4")dnl ni pamoja na(`/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 define(`confAUTH_MECHANISMS", `EXTERNAL GSSAPI DIGEST-MD5 CRAM-INLA"). dnl # dnl fafanua(`confDOMAIN_NAME", `e5530")dnl

Tekeleza usanidi wa barua pepe

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

Matatizo na Masuluhisho

Ikiwa kila kitu kimeundwa kwa usahihi, lakini ujumbe huishia kwenye "foleni iliyocheleweshwa" na haijatumwa kwa SMTP nyingine:

  1. Angalia IP yako "shnik katika orodha zisizoruhusiwa. Unaweza kuangalia marufuku ya IP hapa smart-ip.net, IP yangu iliingia kwenye hifadhidata ya spamhaus".
  2. Angalia ikiwa ISP yako inazuia pakiti zinazotoka kwenye bandari 25.
Matatizo na Intertelecom!

Sikuweza kusanidi upeanaji ujumbe kwenye GMail kupitia sendmail kwenye muunganisho wa Intertelecom - sendmail iligonga kwa ukaidi kwenye bandari 25, ambayo imefungwa na mtoa huduma. Ilinibidi kusanidi postfix .

Usanidi wa PHP (ikiwa ni lazima)

Bainisha vigezo vya kuanzisha barua pepe katika usanidi wa /etc/php5/apache2/php.ini (/etc/php5/cli/php.ini):

## usanidi wa barua pepe ya PHP: sendmail_path = /usr/sbin/sendmail -t ;sendmail_path = "/usr/sbin/sendmail -t -f [barua pepe imelindwa]-mimi"

Hebu tuangalie mipangilio

echo "Nakala ya ujumbe" | barua -s "Subjeti" [barua pepe imelindwa] sendmail -t [barua pepe imelindwa]-f [barua pepe imelindwa]-v -i< ~/mail-body.txt

Ili kujaribu kurekebisha post, jaribu kutuma baadhi ya ujumbe kutoka kwa kiweko. Jinsi ya kufanya hivyo nilichora katika makala hii: "".

usimamizi wa barua pepe

Tazama foleni nzima ya ujumbe:

sudo mailq

Tazama foleni ya ujumbe kwenye anwani maalum:

sudo mailq | grep" [barua pepe imelindwa]| wc-l

Futa foleni nzima ya ujumbe wa barua pepe:

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

Futa foleni ya ujumbe wa barua pepe kwa lengwa:

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

#tuma barua, #TAA, #MTA

P.S. Ikiwa unataka kujifunza koni ya Linux kwa kiwango kizuri, ninapendekeza usome kitabu cha hivi karibuni cha Denis Kolisnichenko " Laini ya amri ya Linux na otomatiki ya kazi za kawaida».

Ilionekana nyuma mnamo 1983, lakini inatumika kikamilifu hadi leo. Miongoni mwa vipengele muhimu ni usaidizi kwa majukwaa mengi yaliyopo leo, pamoja na bure. Programu huja pamoja na msimbo wa chanzo huria. Hii inamaanisha kuwa mtu yeyote anaweza kuongeza utendakazi wake kwake, au kuibadilisha apendavyo. Katika mfumo wa uendeshaji wa Ubuntu, Sendmail, ambayo imeundwa kupitia mstari wa amri ya Linux, imechukua mizizi kutokana na usaidizi mzuri na vipengele vingi.

Kichakataji cha ujumbe - Sendmail - kinatumika sana katika ulimwengu wa biashara.

Leo, "processor ya ujumbe" Sendmail Sentrion, ambayo iliundwa kwa kuzingatia mahitaji ya makampuni makubwa, ni ya kawaida kabisa. Vipengele vyake tofauti ni utendaji wa juu na ushirikiano mzuri na michakato yote ya biashara. Sentrion anapendekeza kutumia programu za urithi pamoja na teknolojia mpya ambazo zimekita mizizi vizuri. Pia programu ni ya kirafiki vya kutosha kutoshea watumiaji wa nyumbani.

Ufungaji wa programu

Unahitaji kusakinisha Sendmail kwa msingi wa seva ya ndani au seva ya wavuti. Katika kesi ya pili, wakala wa barua atafanya kazi zaidi. Ili kupata vipengee vyote vya seva ya wavuti, unahitaji safu ya sehemu ya LAMP. Inaweza kupatikana kwenye hifadhi.

MUHIMU. Kabla ya kusakinisha programu mpya, usisahau kusasisha orodha za vifurushi kwenye hifadhi ya ndani kwa kutumia amri

"$ sudo apt-get update"

Usakinishaji wa Sendmail huanza na amri "sudo apt install sendmail" ambayo itapakua vifurushi vya wakala wa barua.

mcedit /etc/hosts
"sudo sendmailconfig"

Baada ya hayo, unahitaji kuanza tena huduma za programu yenyewe, na seva ya wavuti ya Apache:

"sudo /etc/init.d/sendmail anzisha upya"
"sudo /etc/init.d/apache2 anzisha upya"

Ikiwa ni lazima, unaweza kusanikisha huduma za kufanya kazi na barua:

"sudo install mailutils"

Tunaangalia upimaji wa utendaji wa mfumo mzima:

"tuma barua pepe_yako< /dev/null»

ambapo "barua_yako" ndiyo anwani ya sasa ya posta.

Na hatimaye, hebu tuangalie faili ya kumbukumbu. Hii ndio faili ya huduma ya barua ambapo makosa ya usakinishaji yataonyeshwa:

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

Inabakia tu kwenda kwenye sanduku la barua pepe. Inapaswa kuwa tayari na ujumbe wa jaribio.

Kwa hivyo, umejifunza zaidi kuhusu programu ya Ubuntu inayoitwa Sendmail, ambayo iligeuka kuwa rahisi sana kuanzisha. Ikiwa una maswali kuhusu vipengele vingine vya kufanya kazi na programu za Linux - tafuta majibu kwao kwenye kurasa za tovuti yetu!