Linux Mail-Queue mini-HOWTO Leif Erlingsson, leif@lege.com, Jan P Tietze, jpti- etze@mail.hh.provi.de v2.02, 03 September 1997, sendmail 8.8.7 ɲ¡ N, isaji@mxu.meshnet.or.jp 2 Feb 1998 Queue Remote Mail + Deliver Local MailÉ¢ÄB±Ì¶ÍSendmailÅ [J[Ìzð·é½ßÉKvÈÝèÌÏXÉ¢ĩêÄ¢Ü ·B"w¦·é"ÜÅL [(Queue)É[g[ð~¦Ä¨«Ü·B ______________________________________________________________________ Ú 1. Cg_NV 2. _CAIf}hðgíÈ¢ð 2.1 sendmailÌX^[g 2.2 sendmailÌÝè 2.2.1 ¿åÁƵ½Ýè̽ßÉsendmail.cfð¼ÚÝè·é 2.2.2 m4\[XðgÁÄsendmailðÝè·é 2.3 j [T|[gÌñÄ 3. _CAIf}hÉæéð 3.1 sendmail.cfÌÝè 3.1.1 ¿åÁƵ½Ýèð·é½ßÉsendmail.cfð¼ÚÝè·éB 3.1.2 m4\[XðgÁÄsendmail.cfðÝè·é 3.2 _CAxÌÇÁ 3.2.1 sendmail.cfÌÝè 3.2.2 m4ðgÁ½sendmail.cfÌÝè 4. e-mailÌz 4.1 ÁèÌÔÉ[ðz·éÉÍH ______________________________________________________________________ 1. Cg_NV ±ÌhL gͤũêĢܷB_CAIf}hðgíÈ¢ ð@É¢ÄÍ(âàÌÍ) Leif Erlingsson <leif@lege.com> ÉæÁÄ©êAVµ¢_CAIf}hÌð@Í Jan P Tietze <jptietze@mail.hh.provi.de> ÉæÁÄ©êܵ½B 2. _CAIf}hðgíÈ¢ð Written by Leif Erlingsson <leif@lege.com>. ±Ìp[gÌIWio[WÅÍsKvÈàÌཱིñÜÜêÄ¢Ü µ½B±êÍ»êàæèã°½àÌÅ·...B 2.1. sendmailÌX^[g SlackwareÈÇF /etc/rc.d/rc.M: echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -os) [queue only mode]..." /usr/sbin/sendmail -bd -os # NOT "-bd -q 15m", the "standard" flags! [Ql Slackware default) ______________________________________________________________________ /etc/rc.d/rc.M: # Start the sendmail daemon: if [ -x /usr/sbin/sendmail ]; then echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -q 15m)..." /usr/sbin/sendmail -bd -q 15m fi ______________________________________________________________________ man sendmailF -q[time] w¦³ê½ÔuÅL [(var/spool/mqueue)ÉÛ¶µ½bZ[Wð µÜ·BԪȪ³êéÆêx¾¯L [ðµÜ ·BtimeÍ`s'ªbA`m'ªªA`h'ªÔA`d'ªúA`w'ªTð çí µÄ¢Ü·Bá¦Î`-q1h30m' â`-q90m'Í^CAEgð1Ô30ªÉ ÝèµÜ·BÔÉÈéÆsendmailÍobNOhÅÀs³êÜ·B ±ÌIvVÍ-bdÆÆàÉgÁ½Ù¤ªÀSÅ·B -bd f[ƵÄÀsµÜ·B±êÍBerkeley IPCðKvÆµÜ ·BsendmailÍSMTP Ú±pÌsocket 25(/etc/services)ÉXg³ê Ä¢ÄobNOhÅtH[NµÀs³êÜ·B ] RedHatÈÇF /etc/rc.d/init.d/sendmail.init: echo -n "Starting sendmail: [queue only mode]" daemon sendmail -bd -os # NOT daemon sendmail -bd -q1h -osÍî{IÈàÌÅÍ èܹñB±ÌIvVÍF X[p[Z[t [s] ±êðt¯Ä¢êÎÆÀSÅ·Bá¦ÎAL [ t@Cð¼Úzµæ¤Æ·éÅàíÉÄÑoµÜ·BsendmailÍ é« ÅNCAgðRg[·éOÉíÉL [t@CðÄÑoµÜ·B±êÍ íÉZbg³êĢܷB ±êÍftHgÌsendmail.cfÅíÉÝè³êĢܷB [QlFman sendmail oIvV ±êðZbgµÄ¢éÆAbZ[WÍâX^CÌwb_àÅ «éæ¤ÉÈèÜ·BZbgµÄ¢È¢ÆbZ[WÍVµ¢X^C Ìwb_¾¯ÛسêÜ· (á¦ÎAhXÔÌXy[XÌãíèÉR }ðg¤ÈÇ)BZbgµÄ éÆKÈASYªwb_tH [}bgð½ÌP[Xųµè·éæ¤ÉgíêÜ·B sIvV SKvȢ«ºÅàL [t@CðíÉÄÑoµÜ·B±êÍz ÌVXeNbV ÉεÄàÀSÅ·B ] 2.2. sendmailÌÝè ܶßÈsendmail[U[ÍÝèðs¤½ßÉm4\[Xðg¢Ü·B sendmailðAbvO[hµ½èA³³¢Èsendmail.cfÌÏXÈOÈçÈñ Åà±Ìû@ðs¤±Æð¨§ßµÜ·B IPÈÇð®I_CAɵ½¢¯êÇAsendmailÅÌð͵½È^[ wb_ÈÇŮ쳹éêÍm4\[Xðg¤KvÍ èܹñB 2.2.1. ¿åÁƵ½Ýè̽ßÉsendmail.cfð¼ÚÝè·é ±Ìû@Í«íßÄsendmail.cfo[WÉεÄ˶µÄ¢Ü·BÈºÌ û@Ísendmail-8.8.xÌÝÅLøÅ·B /etc/sendmail.cfÌÒWF # avoid connecting to "expensive" mailers on initial submission? O HoldExpensive=True ã¼ .... ##### @(#)smtp.m4 8.33 (Berkeley) 7/9/96 ##### Msmtp, P=[IPC], F=mDFMuXe, S=11/31, R=21, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=IPC $h Mesmtp, P=[IPC], F=mDFMuXae, S=11/31, R=21, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=IPC $h Msmtp8, P=[IPC], F=mDFMuX8e, S=11/31, R=21, E=\r\n, L=990, T=DNS/RFC822/SMTP, A=IPC $h Mrelay, P=[IPC], F=mDFMuXa8e, S=11/31, R=61, E=\r\n, L=2040, T=DNS/RFC822/SMTP, A=IPC $h ãÅåØÈtO(óFF=ÌÓ)Í"e"Å·B ȽÌt@CżÌt Oª ÁÄàCɵȢź³¢BtOÍ»ÌÜÜɵÄA"e"ªÈ¢É ÀèãÌáÌæ¤ÉtO"e"ÌÝðÇÁµÄº³¢B "e"Í"expensive"Ƶ Ä[[ð¦µÄ¢Ü·B 2.2.2. m4\[XðgÁÄsendmailðÝè·é ȺÈPÉ·é½ßÉsendmailÌo[WÍ8.8.7Å éƵܷBàµá ¤o[Wðg¤Èç8.8.7ð»Ìo[WÉu«·¦ÄÇñÅ¢ÁÄ ¾³¢Bܽ½ßÍsendmailÌâo[WÅÍÀsūܹñBÅV ÌsendmailðüèµÄº³¢I sendmail\[XÍ http://WWW.Sendmail.ORG ©Å«êÎ ftp://ftp.sendmail.org Å_E[hµÄº³¢B Ìpb`ðüè·é±ÆਧߵܷBGx[vZ_[ªtGC AX·éæ¤Éµ½pb`ÆA»Ì¼[«ðoRµÄRg[Å« éæ¤É·éX^btª èÜ·B sendmailo[Wª8.8.7ÈçF Sendmail Patch <sendmail@lege.com> ¶ÄÉSubjectð Subject:sendmail-8.8.7 ƵÄ[ðÁĺ³¢[óF{¶ÉÍÁɽà«Ü¹ñB[ð éÆÜèÔµMIME[ÅçêÄ«Ü·BMIMEÅçêÄéàÌÍ xaliases-2.0.tar.gz, sendmail-8.8.7-cf-cpio-idcmu.gzÅ·)]B± Ìmini-HOWTOÌsgml\[XÉ¢ÄÍ http://www.lege.com ©çàüèÅ«Ü·B uQueue Remote Mail + Deliver Local Mailvð®ì³¹é½ßÉÒÌpb `ðgíȢź³¢Bpb`ͻ̼̱Æðð·é½ßÌàÌÅ·BÅ ·ª½ÌLinux[U[ª±Ìpb`ªð§ÂàÌÅ éÆCÃæ¤É¾ ¤ÌÍæ¢Æv¢Ü·B±Ìpb`ͼzhCð®ì³¹Ü·B¼zh CÍu[JvÅ é׫ÅÍ èܹñBxaliases é¢Í¾¢·¦Ä tGCAX(reverse aliasing)ð^¦éàÌÅ·B sendmail\[XðWJ·éÆ /usr/src/sendmail-8.8.7/ fBNgªÅ«Ü·B /usr/src/sendmail-8.8.7/cfÉÚ®µÄº³¢B KvÈçpb`ðÄÄÌXebvÉiñź³¢BLDA(Local Delivery Agent) ƵÄprocmailðgíÈ¢Èçpb`ð ĸAìÆðs¤OÉ /usr/src/sendmail-8.8.7/cf/ostype/linux.m4 ðÛ¶µÄ¨¢Äº³¢Bpb`Í /tmp/sendmail-8.8.7-cf-cpio-idcmu.gz ÉÛ¶µÄ cd /usr/src/sendmail-8.8.7/cf gzip -dc < /tmp/sendmail-8.8.7-cf-cpio-idcmu.gz | cpio -idcmu ƵܷB procmailðgíÈ¢êÍ /usr/src/sendmail-8.8.7/cf/ostype/linux.m4 ÌÛ¶µ½Rs[ð³Êèɫߵĺ³¢Bpb`ð ÄÄ¢ÈÄà± êçÌsðmFµÄA /usr/src/sendmail-8.8.7/cf/cf/yourhostname.smtp.mc ɯ¶à̪ ÄçêÄ¢éÌðmFµÜ·B (µ©µpb`ðÄéÈ ç/usr/src/sendmail-8.8.7/cf ȺÌ"elijah"ðÜÞt@C¼ð²×ÄÝ Äº³¢)F dnl # Defer Delivery to "expensive" mailers until next time the dnl # queue is processed using "O HoldExpensive=True" and make dnl # sure smtp mailers are "expensive". dnl # (See original "sendmail" book Chapter 30: Options, dnl # "Oc - Don't connect to expensive mailers", or dnl # 2nd Edition "sendmail" book Chapter 34.8.29, dnl # "HoldExpensive (c), Queue for expensive mailers".) dnl # / Leif Erlingsson <leif@lege.com> define(`confCON_EXPENSIVE', `True') define(SMTP_MAILER_FLAGS, e) MAILER(local)dnl MAILER(smtp)dnl 2.3. j [T|[gÌñÄ ±ÌhL gÌo[W 1.x ÅÍ /var/X11R6/lib/fvwm/system.fvwmrc ÉÖ·é(óFBhE}l[WÌ)j [T|[gÌñÄàÜÜêÄ ¢Üµ½B»ÝÌo[WÅͱêÍȵܵ½ªAKvÈçæèñ¹é ±ÆàÅ«Ü·F [Ì Subject: É Menu support suggestions Æ¢Ä Menu support suggestions <fvwmrc@lege.com> ¶ÄÉÁĺ³¢(óF{¶Éͽà«Ü¹ñB[ðéÆÜèÔ µMIME[ÅçêÄ«Ü·)B 3. _CAIf}hÉæéð Written by Jan P Tietze <jptietze@mail.hh.provi.de>. ½ÌLinux[U[Í_CAAbvñüðgÁÄC^[lbgÉÚ±µ ĢܷBܽVXeãÉ_CAIf}h(dial-on-demand)Ì@\ð ÀµÄ¢Ü·BÂÜèA éíÞÌIPpPbgª[Jlbg[N/ [JzXgðoéÍ¢ÂÅàAISP(Internet Service Provider)ÖÌ Nª©®IÉm§³êéÆ¢¤±ÆÅ·BpPbgª³ÈéÆNÍ_E µÜ·B ±êÍõKÅLøÈàÌÅ·ªA൩µ½çõKÅàÈ(âfÅÌ _CAAbvªµ)LøÅÍÈ¢±Æà èÜ·B±êÍdq[ð èÜ·Bdq[ÍêÊÉ È½ÌVXeÉæÁÄz³êé©C^ [lbgãÌSMTPzXgðoRµÄSMTPÉæÁÄz³êÜ·BÊC^[ lbgãÌ SMTPzXgÍISPÌlbg[NÉ èÜ·B _CAAbvñüÅÍbZ[WðéÍíÉN³êĢȯêÎÈ èܹñB±êÍÐÆÂÌbZ[Wð龯È碢ÌÅ·ªA¡Ì bZ[Wð¢ÄéͽxàñüÉÚ±µÈÄÍÈç¸Ê|ÅèÔÌ ©©é±ÆÅ·BܽISPªÂµÄ¢éOCÔ(óFá¦Î UUCPÅ PúÉPñÚ±·éÈÇ)ð§ÀµÄ¢éêÍAPúÌ éÔµ©bZ [WðMūܹñB»µÄã©ç[ðè®ÅçȯêÎÈèܹ ñB ±ÌhL gÌ``_CAIf}hðgíÈ¢ð'' űÌóµð ðµÄ¢Ü·ªAODNSªNAbvµÄ¢éóµÅÍANÍdq [ªL [É éêų¦àm§³êÜ·BRÍsendmailªhost¼ð î»("canonify")µæ¤Æ·é©çÅ·B ±ÌâèÉηéð@ÍQ èÜ·Bsendmail.cfðKÉÏXµÄÀÛ Ì[zÌvZXðè`·é±ÆÅ·BÂlIÉÍcronðgÁÄWu Çð³¹Ä¢Ü·BȺKvÈÏXðྵĢ«Ü·B 3.1. sendmail.cfÌÝè ``sendmailÌÝè''Å©ê½Rà èAsendmail.cfð¼ÚÒW·é©í èÉm4\[XðC³·é±Æð¨§ßµÜ·Bm4\[Xðg¦Î½Ì¢ïâ ÝèÏXÌç·³©ç~íêÜ·B ͶßÉA±ÌhL gÌͶßÅLqµ½ÏXðs¢Ü·B»µÄ_C AIf}hÌÁèÌX^btð²×Ü·B 3.1.1. ¿åÁƵ½Ýèð·é½ßÉsendmail.cfð¼ÚÝè·éB ¶©ÉÝè·é±ÆÍ ÜèÀÛIÅÍÈç·Å·Bµ©µ±êÍ È½ æÅ·B sendmail.cfÌIè ½èÌsÅF R$* < @ $* $~P > $* $: $1 < @ $[ $2 $3 $] > $4 Æ èÜ·B"#"ðsªÉu«Ü·F #R$* < @ $* $~P > $* $: $1 < @ $[ $2 $3 $] > $4 3.1.2. m4\[XðgÁÄsendmail.cfðÝè·é ȺÌsð/usr/src/sendmail-8.8.7/cf/cf/yourhostname.smtp.mcÉÇÁµÜ ·F FEATURE(nocanonify)dnl ÅIÌsendmail.cfÍȺÌR}hðÀsµÄN®µÜ·BVµ¢àÌðC Xg[·éOÉâ/etc/sendmail.cfðÛ¶µÄ¨¢Äº³¢F cp /etc/sendmail.cf /etc/sendmail.cf.bak cd /usr/src/sendmail-8.8.7/cf/cf m4 yourhostname.smtp.mc > /etc/sendmail.cf 3.2. _CAxÌÇÁ êÉæÁÄÍÖÅ·BÁÉfñüðgÁÄ¢éÆ«Í_CAxð CXg[µÄ¨«Üµå¤B±êÍsendmailªdq[ðë¤(±ê ÍñüÌÚ±ðÓ¡µÜ·)ƵÄÚ±ðJn·é¯êÇAsendmailÅ^C AEg·éÔæèàNÚ±Ìm§ÌÙ¤ÉÔª©©éÆ¢Á½ê AsendmailÍbÒÁÄ©çÚ±ðÝÜ·B 3.2.1. sendmail.cfÌÝè sendmail.cfÌDZ©ÉȺÌsª èÜ· #O DialDelay=10s "#"ðíµÜ·BsªÉ"#"ªÈ¢êÍâè èܹñ(ÈO±ÌsðLø ɵĢ½Æ¢¤¾¯Å·)B [óFSlackwarepbP[WÈÇÅÍ /usr/src/sendmail fBNgÉREADME.linux, *.cft@Cª èÜ·] sendmail.cfɱÌsªÈ¢êÍȺÌsðÇÁµÄ¨¢Äº³¢(t@C Ì "option(IvV)"p[gÉÇÁµÄ¨Ææ¢Åµå¤)B O DialDelay=10s "10s"̪ðKÈbÉÏXµÜ·B 3.2.2. m4ðgÁ½sendmail.cfÌÝè /usr/src/sendmail-8.8.7/cf/cf/yourhostname.smtp.mc ÉȺÌsðÇÁµÜ·F define(`confDIAL_DELAY',`10s') ±±Å"10s"̪ðKÈbÉÏXµÜ·B ÅIIÈsendmail.cfÍȺÌR}hðÀsµÄ\zÅ«Ü·BVµ¢àÌ ðCXg[·éOÉâ/etc/sendmail.cfðÛ¶µÄ¨¢Äº³¢F cp /etc/sendmail.cf /etc/sendmail.cf.bak cd /usr/src/sendmail-8.8.7/cf/cf m4 yourhostname.smtp.mc > /etc/sendmail.cf 4. e-mailÌz dq[ÌzÍ"sendmail -q"R}hðÀs·é±ÆÅsíêÜ ·BsendmailªsÁÄ¢é±ÆÉ»¡ª élÍ "sendmail -q -v"Æ·êÎ zvZXÌoßð\¦µÄêÜ·B [-vIvVðt¯ÄsendmailðÀs·éÆA Running RAA18307 (sequence 1 of 3) <user@mail.server.or.jp>... Connecting to mail.server.or.jp. via smtp... 220 sv220.tk.mmm.ad.jp ESMTP Sendmail 8.8.4+2.7Wbeta4/3.5Wpl1-97120410; Thu >>> EHLO your.server.name.jp 250-sv220.tk.mmm.ad.jp Hello city1DU22.mmm.ad.jp [000.000.000.000], ple 250-8BITMIME 250-SIZE 250-DSN 250-ONEX 250-ETRN 250-XUSR 250 HELP >>> MAIL From:<user@mail.server.or.jp> SIZE=5 250 <user@mail.server.or.jp>... Sender ok >>> RCPT To:<user@mail.server.or.jp> 250 <user@mail.server.or.jp>... Recipient ok >>> DATA 354 Enter mail, end with "." on a line by itself >>> . 250 RAA15115 Message accepted for delivery <user@mail.server.or.jp>... Sent (RAA15115 Message accepted for delivery) Æ¢Á½bZ[WªoͳêÜ·BcronÅÀs³êéÆoÍÊÈǪ[ ÅM³êéÌÅmFÈÇÅ«Ü·B [ªbN³êÄ"sendmail -q -v"ƵÄàM³êÈ¢P[Xª èÜ ·B±êÍA/etc/rc.d/rc.MÅÝèµÄ¢é sendmailÉ-qIvVðÝè µÄ¢½èA[Åbodyð¢Ä¢éÉ"sendmail -q"ªÀs³êbN ³êéÈÇ´öÍlXÅ·B½©æ¢ðû@ª êγ¦Äº³¢B /var/spool/mqueueȺÉ[ÍL [³êĢܷB»Ìt@CÌÅ TCYª0byteÌà̪ éÆ»Ì[ÍbN³êĢܷBM³êÈ ¢[ÍPTÔ·éÆMÒÉ^[³êÜ·B /var/spool/mqueueȺ Ì[t@CÅAªQ¶ª qfÌàÌÍwb_t@CAdfÌàÌ ÍbodyAxfÍbN³êÄ¢éÉ ét@CÅ·BªQ¶ÈºÌ¼O ÍMessage IdÈÇÅ\¦³êéàÌÅ·] [zÌvZXð©®»·é±ÆÍÈPÅ·B±êÉÍcronðg¢Ü ·B 4.1. ÁèÌÔÉ[ðz·éÉÍH crontabðÒWµÜ·F crontab -e ȺÌtH[ðÇÁµÜ·F 05 18-23,0-7 * * Mon,Tue,Wed,Thu,Fri /usr/sbin/sendmail -q 05 * * * Sat,Sun /usr/sbin/sendmail -q Ú×É¢ÄÍcrontabÌmany[WðQƵľ³¢ ("man 5 crontab"Å QÆÅ«Ü·)BtH[}bgÍाç©Å·BãÅ©ê½crontabGg ÌáÅÍA([ªL [É éÌÝ)[ðejúÌeÔ5ªã(ß ã6:05ÉX^[gµßO7:05ÉXgbv)ÉMµÜ·BܽTÉÍe Ô5ªãÉ[ªz³êÜ·(yjúÌßã12:05ÉX^[gµújúÌß ã11:05ÉXgbv)B _CAIf}h[U[ƵÄAÁèÌÔÉPOP3vgRoRÅ [ðóMµ½¢Æv¤±Æª èÜ·B»±ÅȺÌGgð¯¶æ¤ ÉcrontabÉÇÁµÜ·B 0 21 * * * popclient -3 -u < ȽÌPOP3[U[¼> -p < ȽÌpX[h> -o /var/spool/mail/<óMµ½[ðó¯éVXeãÌ[U[¼> <mailhost.somedomain.com> à¿ëñ±êÍêsÅ©êÜ·Bt@CÉÛ¶µGfB^ðI¹³¹Ü ·B crontabͱêÅCXg[³êÜ·(óFpopclientðg¤æè àfetchmail ÈÇðgÁ½Ù¤ªZL eBãæ¢Æv¢Ü·)B [óÒFɲè N, isaji@mxu.meshnet.or.jp ó¶ÉÖ·éÔá¢As¾È_ª êβAº³¢B]