1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673 |
- <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <title>Postfix Configuration Parameters </title>
- <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
- </head>
- <body>
- <h1><img src="postfix-logo.jpg" width="203" height="98" alt="">Postfix Configuration Parameters </h1>
- <hr>
- <h2> Postfix main.cf file format </h2>
- <p> The Postfix main.cf configuration file specifies a very small
- subset of all the parameters that control the operation of the
- Postfix mail system. Parameters not explicitly specified are left
- at their default values. </p>
- <p> The general format of the main.cf file is as follows: </p>
- <ul>
- <li> <p> Each logical line is in the form "parameter = value".
- Whitespace around the "=" is ignored, as is whitespace at the end
- of a logical line. </p>
- <li> <p> Empty lines and whitespace-only lines are ignored, as are
- lines whose first non-whitespace character is a `#'. </p>
- <li> <p> A logical line starts with non-whitespace text. A line
- that starts with whitespace continues a logical line. </p>
- <li> <p> A parameter value may refer to other parameters. </p>
- <ul>
- <li> <p> The expressions "$name" and "${name}" are recursively
- replaced with the value of the named parameter. The parameter name
- must contain only characters from the set [a-zA-Z0-9_].
- An undefined parameter value is replaced with the empty value. </p>
- <li> <p> The expressions "${name?value}" and "${name?{value}}" are
- replaced with "value" when "$name" is non-empty. The parameter name
- must contain only characters from the set [a-zA-Z0-9_]. These forms are
- supported with Postfix versions ≥ 2.2 and ≥ 3.0, respectively.
- </p>
- <li> <p> The expressions "${name:value}" and "${name:{value}}" are
- replaced with "value" when "$name" is empty. The parameter name must
- contain only characters from the set [a-zA-Z0-9_]. These forms are
- supported with Postfix versions ≥ 2.2 and ≥ 3.0, respectively.
- </p>
- <li> <p> The expression "${name?{value1}:{value2}}" is replaced
- with "value1" when "$name" is non-empty, and with "value2" when
- "$name" is empty. The "{}" is required for "value1", optional for
- "value2". The parameter name must contain only characters from the
- set [a-zA-Z0-9_]. This form is supported with Postfix versions
- ≥ 3.0. </p>
- <li> <p> The first item inside "${...}" may be a relational expression
- of the form: "{value3} == {value4}". Besides the "==" (equality)
- operator Postfix supports "!=" (inequality), "<", "≤", "≥",
- and ">". The comparison is numerical when both operands are all
- digits, otherwise the comparison is lexicographical. These forms
- are supported with Postfix versions ≥ 3.0. </p>
- <li> <p> Each "value" is subject to recursive named parameter and
- relational expression evaluation, except where noted. </p>
- <li> <p> Whitespace before or after each "{value}" is ignored. </p>
- <li> <p> Specify "$$" to produce a single "$" character. </p>
- <li> <p> The legacy form "$(...)" is equivalent to the preferred
- form "${...}". </p>
- </ul>
- <li> <p> When the same parameter is defined multiple times, only
- the last instance is remembered. </p>
- <li> <p> Otherwise, the order of main.cf parameter definitions does
- not matter. </p>
- </ul>
- <p> The remainder of this document is a description of all Postfix
- configuration parameters. Default values are shown after the
- parameter name in parentheses, and can be looked up with the
- "<b>postconf -d</b>" command. </p>
- <p> Note: this is not an invitation to make changes to Postfix
- configuration parameters. Unnecessary changes are likely to impair
- the operation of the mail system. </p>
- <dl>
- <DT><b><a name="2bounce_notice_recipient">2bounce_notice_recipient</a>
- (default: postmaster)</b></DT><DD>
- <p> The recipient of undeliverable mail that cannot be returned to
- the sender. This feature is enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
- parameter. </p>
- </DD>
- <DT><b><a name="access_map_defer_code">access_map_defer_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code for
- an <a href="access.5.html">access(5)</a> map "defer" action, including "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>"
- or "<a href="postconf.5.html#defer_if_reject">defer_if_reject</a>". Prior to Postfix 2.6, the response
- is hard-coded as "450".
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- <p>
- This feature is available in Postfix 2.6 and later.
- </p>
- </DD>
- <DT><b><a name="access_map_reject_code">access_map_reject_code</a>
- (default: 554)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code for
- an <a href="access.5.html">access(5)</a> map "reject" action.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- </DD>
- <DT><b><a name="address_verify_cache_cleanup_interval">address_verify_cache_cleanup_interval</a>
- (default: 12h)</b></DT><DD>
- <p> The amount of time between <a href="verify.8.html">verify(8)</a> address verification
- database cleanup runs. This feature requires that the database
- supports the "delete" and "sequence" operators. Specify a zero
- interval to disable database cleanup. </p>
- <p> After each database cleanup run, the <a href="verify.8.html">verify(8)</a> daemon logs the
- number of entries that were retained and dropped. A cleanup run is
- logged as "partial" when the daemon terminates early after "<b>postfix
- reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
- seconds. </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). </p>
- <p> This feature is available in Postfix 2.7. </p>
- </DD>
- <DT><b><a name="address_verify_default_transport">address_verify_default_transport</a>
- (default: $<a href="postconf.5.html#default_transport">default_transport</a>)</b></DT><DD>
- <p>
- Overrides the <a href="postconf.5.html#default_transport">default_transport</a> parameter setting for address
- verification probes.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_local_transport">address_verify_local_transport</a>
- (default: $<a href="postconf.5.html#local_transport">local_transport</a>)</b></DT><DD>
- <p>
- Overrides the <a href="postconf.5.html#local_transport">local_transport</a> parameter setting for address
- verification probes.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_map">address_verify_map</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- Lookup table for persistent address verification status
- storage. The table is maintained by the <a href="verify.8.html">verify(8)</a> service, and
- is opened before the process releases privileges.
- </p>
- <p>
- The lookup table is persistent by default (Postfix 2.7 and later).
- Specify an empty table name to keep the information in volatile
- memory which is lost after "<b>postfix reload</b>" or "<b>postfix
- stop</b>". This is the default with Postfix version 2.6 and earlier.
- </p>
- <p>
- Specify a location in a file system that will not fill up. If the
- database becomes corrupted, the world comes to an end. To recover
- delete (NOT: truncate) the file and do "<b>postfix reload</b>".
- </p>
- <p> Postfix daemon processes do not use root privileges when opening
- this file (Postfix 2.5 and later). The file must therefore be
- stored under a Postfix-owned directory such as the <a href="postconf.5.html#data_directory">data_directory</a>.
- As a migration aid, an attempt to open the file under a non-Postfix
- directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
- warning is logged. </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">hash</a>:/var/lib/postfix/verify
- <a href="postconf.5.html#address_verify_map">address_verify_map</a> = <a href="DATABASE_README.html#types">btree</a>:/var/lib/postfix/verify
- </pre>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_negative_cache">address_verify_negative_cache</a>
- (default: yes)</b></DT><DD>
- <p>
- Enable caching of failed address verification probe results. When
- this feature is enabled, the cache may pollute quickly with garbage.
- When this feature is disabled, Postfix will generate an address
- probe for every lookup.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_negative_expire_time">address_verify_negative_expire_time</a>
- (default: 3d)</b></DT><DD>
- <p>
- The time after which a failed probe expires from the address
- verification cache.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_negative_refresh_time">address_verify_negative_refresh_time</a>
- (default: 3h)</b></DT><DD>
- <p>
- The time after which a failed address verification probe needs to
- be refreshed.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_pending_request_limit">address_verify_pending_request_limit</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> A safety limit that prevents address verification requests from
- overwhelming the Postfix queue. By default, the number of pending
- requests is limited to 1/4 of the <a href="QSHAPE_README.html#active_queue">active queue</a> maximum size
- (<a href="postconf.5.html#qmgr_message_active_limit">qmgr_message_active_limit</a>). The queue manager enforces the limit
- by tempfailing requests that exceed the limit. This affects only
- unknown addresses and inactive addresses that have expired, because
- the <a href="verify.8.html">verify(8)</a> daemon automatically refreshes an active address
- before it expires. </p>
- <p> This feature is available in Postfix 3.1 and later. </p>
- </DD>
- <DT><b><a name="address_verify_poll_count">address_verify_poll_count</a>
- (default: normal: 3, overload: 1)</b></DT><DD>
- <p>
- How many times to query the <a href="verify.8.html">verify(8)</a> service for the completion
- of an address verification request in progress.
- </p>
- <p> By default, the Postfix SMTP server polls the <a href="verify.8.html">verify(8)</a> service
- up to three times under non-overload conditions, and only once when
- under overload. With Postfix version 2.5 and earlier, the SMTP
- server always polls the <a href="verify.8.html">verify(8)</a> service up to three times by
- default. </p>
- <p>
- Specify 1 to implement a crude form of greylisting, that is, always
- defer the first delivery request for a new address.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- # Postfix ≤ 2.6 default
- <a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 3
- # Poor man's greylisting
- <a href="postconf.5.html#address_verify_poll_count">address_verify_poll_count</a> = 1
- </pre>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_poll_delay">address_verify_poll_delay</a>
- (default: 3s)</b></DT><DD>
- <p>
- The delay between queries for the completion of an address
- verification request in progress.
- </p>
- <p>
- The default polling delay is 3 seconds.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_positive_expire_time">address_verify_positive_expire_time</a>
- (default: 31d)</b></DT><DD>
- <p>
- The time after which a successful probe expires from the address
- verification cache.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_positive_refresh_time">address_verify_positive_refresh_time</a>
- (default: 7d)</b></DT><DD>
- <p>
- The time after which a successful address verification probe needs
- to be refreshed. The address verification status is not updated
- when the probe fails (optimistic caching).
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_relay_transport">address_verify_relay_transport</a>
- (default: $<a href="postconf.5.html#relay_transport">relay_transport</a>)</b></DT><DD>
- <p>
- Overrides the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter setting for address
- verification probes.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_relayhost">address_verify_relayhost</a>
- (default: $<a href="postconf.5.html#relayhost">relayhost</a>)</b></DT><DD>
- <p>
- Overrides the <a href="postconf.5.html#relayhost">relayhost</a> parameter setting for address verification
- probes. This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_sender">address_verify_sender</a>
- (default: $<a href="postconf.5.html#double_bounce_sender">double_bounce_sender</a>)</b></DT><DD>
- <p> The sender address to use in address verification probes; prior
- to Postfix 2.5 the default was "postmaster". To
- avoid problems with address probes that are sent in response to
- address probes, the Postfix SMTP server excludes the probe sender
- address from all SMTPD access blocks. </p>
- <p>
- Specify an empty value (<a href="postconf.5.html#address_verify_sender">address_verify_sender</a> =) or <> if you want
- to use the null sender address. Beware, some sites reject mail from
- <>, even though RFCs require that such addresses be accepted.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = <>
- <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> = postmaster@my.domain
- </pre>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_sender_dependent_default_transport_maps">address_verify_sender_dependent_default_transport_maps</a>
- (default: $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>)</b></DT><DD>
- <p> Overrides the <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter
- setting for address verification probes. </p>
- <p> This feature is available in Postfix 2.7 and later. </p>
- </DD>
- <DT><b><a name="address_verify_sender_dependent_relayhost_maps">address_verify_sender_dependent_relayhost_maps</a>
- (default: $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>)</b></DT><DD>
- <p>
- Overrides the <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> parameter setting for address
- verification probes.
- </p>
- <p>
- This feature is available in Postfix 2.3 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_sender_ttl">address_verify_sender_ttl</a>
- (default: 0s)</b></DT><DD>
- <p> The time between changes in the time-dependent portion of address
- verification probe sender addresses. The time-dependent portion is
- appended to the localpart of the address specified with the
- <a href="postconf.5.html#address_verify_sender">address_verify_sender</a> parameter. This feature is ignored when the
- probe sender addresses is the null sender, i.e. the <a href="postconf.5.html#address_verify_sender">address_verify_sender</a>
- value is empty or <>. </p>
- <p> Historically, the probe sender address was fixed. This has
- caused such addresses to end up on spammer mailing lists, and has
- resulted in wasted network and processing resources. </p>
- <p> To enable time-dependent probe sender addresses, specify a
- non-zero time value (an integral value plus an optional one-letter
- suffix that specifies the time unit). Specify a value of at least
- several hours, to avoid problems with senders that use greylisting.
- Avoid nice TTL values, to make the result less predictable. Time
- units are: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- </p>
- <p> This feature is available in Postfix 2.9 and later. </p>
- </DD>
- <DT><b><a name="address_verify_service_name">address_verify_service_name</a>
- (default: verify)</b></DT><DD>
- <p>
- The name of the <a href="verify.8.html">verify(8)</a> address verification service. This service
- maintains the status of sender and/or recipient address verification
- probes, and generates probes on request by other Postfix processes.
- </p>
- </DD>
- <DT><b><a name="address_verify_transport_maps">address_verify_transport_maps</a>
- (default: $<a href="postconf.5.html#transport_maps">transport_maps</a>)</b></DT><DD>
- <p>
- Overrides the <a href="postconf.5.html#transport_maps">transport_maps</a> parameter setting for address verification
- probes.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="address_verify_virtual_transport">address_verify_virtual_transport</a>
- (default: $<a href="postconf.5.html#virtual_transport">virtual_transport</a>)</b></DT><DD>
- <p>
- Overrides the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter setting for address
- verification probes.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="alias_database">alias_database</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The alias databases for <a href="local.8.html">local(8)</a> delivery that are updated with
- "<b>newaliases</b>" or with "<b>sendmail -bi</b>".
- </p>
- <p>
- This is a separate configuration parameter because not all the
- tables specified with $<a href="postconf.5.html#alias_maps">alias_maps</a> have to be local files.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
- <a href="postconf.5.html#alias_database">alias_database</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/mail/aliases
- </pre>
- </DD>
- <DT><b><a name="alias_maps">alias_maps</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The alias databases that are used for <a href="local.8.html">local(8)</a> delivery. See
- <a href="aliases.5.html">aliases(5)</a> for syntax details.
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- Note: these lookups are recursive.
- </p>
- <p>
- The default list is system dependent. On systems with NIS, the
- default is to search the local alias database, then the NIS alias
- database.
- </p>
- <p>
- If you change the alias database, run "<b>postalias /etc/aliases</b>"
- (or wherever your system stores the mail alias file), or simply
- run "<b>newaliases</b>" to build the necessary DBM or DB file.
- </p>
- <p>
- The <a href="local.8.html">local(8)</a> delivery agent disallows regular expression substitution
- of $1 etc. in <a href="postconf.5.html#alias_maps">alias_maps</a>, because that would open a security hole.
- </p>
- <p>
- The <a href="local.8.html">local(8)</a> delivery agent will silently ignore requests to use
- the <a href="proxymap.8.html">proxymap(8)</a> server within <a href="postconf.5.html#alias_maps">alias_maps</a>. Instead it will open the
- table directly. Before Postfix version 2.2, the <a href="local.8.html">local(8)</a> delivery
- agent will terminate with a fatal error.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases, nis:mail.aliases
- <a href="postconf.5.html#alias_maps">alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/aliases
- </pre>
- </DD>
- <DT><b><a name="allow_mail_to_commands">allow_mail_to_commands</a>
- (default: alias, forward)</b></DT><DD>
- <p>
- Restrict <a href="local.8.html">local(8)</a> mail delivery to external commands. The default
- is to disallow delivery to "|command" in :include: files (see
- <a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
- </p>
- <p>
- Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
- in order to allow commands in <a href="aliases.5.html">aliases(5)</a>, .forward files or in
- :include: files, respectively.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#allow_mail_to_commands">allow_mail_to_commands</a> = alias,forward,include
- </pre>
- </DD>
- <DT><b><a name="allow_mail_to_files">allow_mail_to_files</a>
- (default: alias, forward)</b></DT><DD>
- <p>
- Restrict <a href="local.8.html">local(8)</a> mail delivery to external files. The default is
- to disallow "/file/name" destinations in :include: files (see
- <a href="aliases.5.html">aliases(5)</a> for the text that defines this terminology).
- </p>
- <p>
- Specify zero or more of: <b>alias</b>, <b>forward</b> or <b>include</b>,
- in order to allow "/file/name" destinations in <a href="aliases.5.html">aliases(5)</a>, .forward
- files and in :include: files, respectively.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#allow_mail_to_files">allow_mail_to_files</a> = alias,forward,include
- </pre>
- </DD>
- <DT><b><a name="allow_min_user">allow_min_user</a>
- (default: no)</b></DT><DD>
- <p>
- Allow a sender or recipient address to have `-' as the first
- character. By
- default, this is not allowed, to avoid accidents with software that
- passes email addresses via the command line. Such software
- would not be able to distinguish a malicious address from a
- bona fide command-line option. Although this can be prevented by
- inserting a "--" option terminator into the command line, this is
- difficult to enforce consistently and globally. </p>
- <p> As of Postfix version 2.5, this feature is implemented by
- <a href="trivial-rewrite.8.html">trivial-rewrite(8)</a>. With earlier versions this feature was implemented
- by <a href="qmgr.8.html">qmgr(8)</a> and was limited to recipient addresses only. </p>
- </DD>
- <DT><b><a name="allow_percent_hack">allow_percent_hack</a>
- (default: yes)</b></DT><DD>
- <p>
- Enable the rewriting of the form "user%domain" to "user@domain".
- This is enabled by default.
- </p>
- <p> Note: as of Postfix version 2.2, message header address rewriting
- happens only when one of the following conditions is true: </p>
- <ul>
- <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
- <li> The message is received from a network client that matches
- $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
- <li> The message is received from the network, and the
- <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
- </ul>
- <p> To get the behavior before Postfix version 2.2, specify
- "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#allow_percent_hack">allow_percent_hack</a> = no
- </pre>
- </DD>
- <DT><b><a name="allow_untrusted_routing">allow_untrusted_routing</a>
- (default: no)</b></DT><DD>
- <p>
- Forward mail with sender-specified routing (user[@%!]remote[@%!]site)
- from untrusted clients to destinations matching $<a href="postconf.5.html#relay_domains">relay_domains</a>.
- </p>
- <p>
- By default, this feature is turned off. This closes a nasty open
- relay loophole where a backup MX host can be tricked into forwarding
- junk mail to a primary MX host which then spams it out to the world.
- </p>
- <p>
- This parameter also controls if non-local addresses with sender-specified
- routing can match Postfix access tables. By default, such addresses
- cannot match Postfix access tables, because the address is ambiguous.
- </p>
- </DD>
- <DT><b><a name="alternate_config_directories">alternate_config_directories</a>
- (default: empty)</b></DT><DD>
- <p>
- A list of non-default Postfix configuration directories that may
- be specified with "-c <a href="postconf.5.html#config_directory">config_directory</a>" on the command line (in the
- case of <a href="sendmail.1.html">sendmail(1)</a>, with the "-C" option), or via the MAIL_CONFIG
- environment parameter.
- </p>
- <p>
- This list must be specified in the default Postfix <a href="postconf.5.html">main.cf</a> file,
- and will be used by set-gid Postfix commands such as <a href="postqueue.1.html">postqueue(1)</a>
- and <a href="postdrop.1.html">postdrop(1)</a>.
- </p>
- <p>
- Specify absolute pathnames, separated by comma or space. Note: $name
- expansion is not supported.
- </p>
- </DD>
- <DT><b><a name="always_add_missing_headers">always_add_missing_headers</a>
- (default: no)</b></DT><DD>
- <p> Always add (Resent-) From:, To:, Date: or Message-ID: headers
- when not present. Postfix 2.6 and later add these headers only
- when clients match the <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter
- setting. Earlier Postfix versions always add these headers; this
- may break DKIM signatures that cover non-existent headers.
- The <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> parameter setting determines
- whether a To: header will be added. </p>
- </DD>
- <DT><b><a name="always_bcc">always_bcc</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional address that receives a "blind carbon copy" of each message
- that is received by the Postfix mail system.
- </p>
- <p>
- Note: with Postfix 2.3 and later the BCC address is added as if it
- was specified with NOTIFY=NONE. The sender will not be notified
- when the BCC address is undeliverable, as long as all down-stream
- software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
- </p>
- <p>
- Note: with Postfix 2.2 and earlier the sender will be notified
- when the BCC address is undeliverable.
- </p>
- <p> Note: automatic BCC recipients are produced only for new mail.
- To avoid mailer loops, automatic BCC recipients are not generated
- after Postfix forwards mail internally, or after Postfix generates
- mail itself. </p>
- </DD>
- <DT><b><a name="anvil_rate_time_unit">anvil_rate_time_unit</a>
- (default: 60s)</b></DT><DD>
- <p>
- The time unit over which client connection rates and other rates
- are calculated.
- </p>
- <p>
- This feature is implemented by the <a href="anvil.8.html">anvil(8)</a> service which is available
- in Postfix version 2.2 and later.
- </p>
- <p>
- The default interval is relatively short. Because of the high
- frequency of updates, the <a href="anvil.8.html">anvil(8)</a> server uses volatile memory
- only. Thus, information is lost whenever the process terminates.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="anvil_status_update_time">anvil_status_update_time</a>
- (default: 600s)</b></DT><DD>
- <p>
- How frequently the <a href="anvil.8.html">anvil(8)</a> connection and rate limiting server
- logs peak usage information.
- </p>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="append_at_myorigin">append_at_myorigin</a>
- (default: yes)</b></DT><DD>
- <p>
- With locally submitted mail, append the string "@$<a href="postconf.5.html#myorigin">myorigin</a>" to mail
- addresses without domain information. With remotely submitted mail,
- append the string "@$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>" instead.
- </p>
- <p>
- Note 1: this feature is enabled by default and must not be turned off.
- Postfix does not support domain-less addresses.
- </p>
- <p> Note 2: with Postfix version 2.2, message header address rewriting
- happens only when one of the following conditions is true: </p>
- <ul>
- <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
- <li> The message is received from a network client that matches
- $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
- <li> The message is received from the network, and the
- <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
- </ul>
- <p> To get the behavior before Postfix version 2.2, specify
- "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
- </DD>
- <DT><b><a name="append_dot_mydomain">append_dot_mydomain</a>
- (default: Postfix ≥ 3.0: no, Postfix < 3.0: yes)</b></DT><DD>
- <p>
- With locally submitted mail, append the string ".$<a href="postconf.5.html#mydomain">mydomain</a>" to
- addresses that have no ".domain" information. With remotely submitted
- mail, append the string ".$<a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>"
- instead.
- </p>
- <p>
- Note 1: this feature is enabled by default. If disabled, users will not be
- able to send mail to "user@partialdomainname" but will have to
- specify full domain names instead.
- </p>
- <p> Note 2: with Postfix version 2.2, message header address rewriting
- happens only when one of the following conditions is true: </p>
- <ul>
- <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
- <li> The message is received from a network client that matches
- $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
- <li> The message is received from the network, and the
- <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
- </ul>
- <p> To get the behavior before Postfix version 2.2, specify
- "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
- </DD>
- <DT><b><a name="application_event_drain_time">application_event_drain_time</a>
- (default: 100s)</b></DT><DD>
- <p>
- How long the <a href="postkick.1.html">postkick(1)</a> command waits for a request to enter the
- Postfix daemon process input buffer before giving up.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="authorized_flush_users">authorized_flush_users</a>
- (default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
- <p>
- List of users who are authorized to flush the queue.
- </p>
- <p>
- By default, all users are allowed to flush the queue. Access is
- always granted if the invoking user is the super-user or the
- $<a href="postconf.5.html#mail_owner">mail_owner</a> user. Otherwise, the real UID of the process is looked
- up in the system password file, and access is granted only if the
- corresponding login name is on the access list. The username
- "unknown" is used for processes whose real UID is not found in the
- password file. </p>
- <p>
- Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
- separated by commas and/or whitespace. The list is matched left to
- right, and the search stops on the first match. A "/file/name"
- pattern is replaced
- by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
- matches a lookup key (the lookup result is ignored). Continue long
- lines by starting the next line with whitespace. Specify "!pattern"
- to exclude a name from the list. The form "!/file/name" is supported
- only in Postfix version 2.4 and later. </p>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- </DD>
- <DT><b><a name="authorized_mailq_users">authorized_mailq_users</a>
- (default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
- <p>
- List of users who are authorized to view the queue.
- </p>
- <p>
- By default, all users are allowed to view the queue. Access is
- always granted if the invoking user is the super-user or the
- $<a href="postconf.5.html#mail_owner">mail_owner</a> user. Otherwise, the real UID of the process is looked
- up in the system password file, and access is granted only if the
- corresponding login name is on the access list. The username
- "unknown" is used for processes whose real UID is not found in the
- password file. </p>
- <p>
- Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
- separated by commas and/or whitespace. The list is matched left to
- right, and the search stops on the first match. A "/file/name"
- pattern is replaced
- by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
- matches a lookup key (the lookup result is ignored). Continue long
- lines by starting the next line with whitespace. Specify "!pattern"
- to exclude a user name from the list. The form "!/file/name" is
- supported only in Postfix version 2.4 and later. </p>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- </DD>
- <DT><b><a name="authorized_submit_users">authorized_submit_users</a>
- (default: <a href="DATABASE_README.html#types">static</a>:anyone)</b></DT><DD>
- <p>
- List of users who are authorized to submit mail with the <a href="sendmail.1.html">sendmail(1)</a>
- command (and with the privileged <a href="postdrop.1.html">postdrop(1)</a> helper command).
- </p>
- <p>
- By default, all users are allowed to submit mail. Otherwise, the
- real UID of the process is looked up in the system password file,
- and access is granted only if the corresponding login name is on
- the access list. The username "unknown" is used for processes
- whose real UID is not found in the password file. To deny mail
- submission access to all users specify an empty list. </p>
- <p>
- Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
- separated by commas and/or whitespace. The list is matched left to right,
- and the search stops on the first match. A "/file/name" pattern is
- replaced by its contents;
- a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup key
- (the lookup result is ignored). Continue long lines by starting the
- next line with whitespace. Specify "!pattern" to exclude a user
- name from the list. The form "!/file/name" is supported only in
- Postfix version 2.4 and later. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = !www, <a href="DATABASE_README.html#types">static</a>:all
- </pre>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- </DD>
- <DT><b><a name="authorized_verp_clients">authorized_verp_clients</a>
- (default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
- <p> What remote SMTP clients are allowed to specify the XVERP command.
- This command requests that mail be delivered one recipient at a
- time with a per recipient return address. </p>
- <p> By default, only trusted clients are allowed to specify XVERP.
- </p>
- <p> This parameter was introduced with Postfix version 1.1. Postfix
- version 2.1 renamed this parameter to <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
- and changed the default to none. </p>
- <p> Specify a list of network/netmask patterns, separated by commas
- and/or whitespace. The mask specifies the number of bits in the
- network part of a host address. You can also specify hostnames or
- .domain names (the initial dot causes the domain to match any name
- below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name"
- pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
- is matched when a table entry matches a lookup string (the lookup
- result is ignored). Continue long lines by starting the next line
- with whitespace. Specify "!pattern" to exclude an address or network
- block from the list. The form "!/file/name" is supported only in
- Postfix version 2.4 and later. </p>
- <p> Note: IP version 6 address information must be specified inside
- <tt>[]</tt> in the <a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a> value, and in files
- specified with "/file/name". IP version 6 addresses contain the
- ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
- pattern. </p>
- </DD>
- <DT><b><a name="backwards_bounce_logfile_compatibility">backwards_bounce_logfile_compatibility</a>
- (default: yes)</b></DT><DD>
- <p>
- Produce additional <a href="bounce.8.html">bounce(8)</a> logfile records that can be read by
- Postfix versions before 2.0. The current and more extensible "name =
- value" format is needed in order to implement more sophisticated
- functionality.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="berkeley_db_create_buffer_size">berkeley_db_create_buffer_size</a>
- (default: 16777216)</b></DT><DD>
- <p>
- The per-table I/O buffer size for programs that create Berkeley DB
- hash or btree tables. Specify a byte count.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="berkeley_db_read_buffer_size">berkeley_db_read_buffer_size</a>
- (default: 131072)</b></DT><DD>
- <p>
- The per-table I/O buffer size for programs that read Berkeley DB
- hash or btree tables. Specify a byte count.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="best_mx_transport">best_mx_transport</a>
- (default: empty)</b></DT><DD>
- <p>
- Where the Postfix SMTP client should deliver mail when it detects
- a "mail loops back to myself" error condition. This happens when
- the local MTA is the best SMTP mail exchanger for a destination
- not listed in $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>,
- $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>. By default,
- the Postfix SMTP client returns such mail as undeliverable.
- </p>
- <p>
- Specify, for example, "<a href="postconf.5.html#best_mx_transport">best_mx_transport</a> = local" to pass the mail
- from the Postfix SMTP client to the <a href="local.8.html">local(8)</a> delivery agent. You
- can specify
- any message delivery "transport" or "transport:nexthop" that is
- defined in the <a href="master.5.html">master.cf</a> file. See the <a href="transport.5.html">transport(5)</a> manual page
- for the syntax and meaning of "transport" or "transport:nexthop".
- </p>
- <p>
- However, this feature is expensive because it ties up a Postfix
- SMTP client process while the <a href="local.8.html">local(8)</a> delivery agent is doing its
- work. It is more efficient (for Postfix) to list all <a href="VIRTUAL_README.html#canonical">hosted domains</a>
- in a table or database.
- </p>
- </DD>
- <DT><b><a name="biff">biff</a>
- (default: yes)</b></DT><DD>
- <p>
- Whether or not to use the local <a href="postconf.5.html#biff">biff</a> service. This service sends
- "new mail" notifications to users who have requested new mail
- notification with the UNIX command "<a href="postconf.5.html#biff">biff</a> y".
- </p>
- <p>
- For compatibility reasons this feature is on by default. On systems
- with lots of interactive users, the <a href="postconf.5.html#biff">biff</a> service can be a performance
- drain. Specify "<a href="postconf.5.html#biff">biff</a> = no" in <a href="postconf.5.html">main.cf</a> to disable.
- </p>
- </DD>
- <DT><b><a name="body_checks">body_checks</a>
- (default: empty)</b></DT><DD>
- <p> Optional lookup tables for content inspection as specified in
- the <a href="header_checks.5.html">body_checks(5)</a> manual page. </p>
- <p> Note: with Postfix versions before 2.0, these rules inspect
- all content after the primary message headers. </p>
- </DD>
- <DT><b><a name="body_checks_size_limit">body_checks_size_limit</a>
- (default: 51200)</b></DT><DD>
- <p>
- How much text in a message body segment (or attachment, if you
- prefer to use that term) is subjected to <a href="postconf.5.html#body_checks">body_checks</a> inspection.
- The amount of text is limited to avoid scanning huge attachments.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="bounce_notice_recipient">bounce_notice_recipient</a>
- (default: postmaster)</b></DT><DD>
- <p>
- The recipient of postmaster notifications with the message headers
- of mail that Postfix did not deliver and of SMTP conversation
- transcripts of mail that Postfix did not receive. This feature is
- enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter. </p>
- </DD>
- <DT><b><a name="bounce_queue_lifetime">bounce_queue_lifetime</a>
- (default: 5d)</b></DT><DD>
- <p>
- Consider a bounce message as undeliverable, when delivery fails
- with a temporary error, and the time in the queue has reached the
- <a href="postconf.5.html#bounce_queue_lifetime">bounce_queue_lifetime</a> limit. By default, this limit is the same
- as for regular mail.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is d (days).
- </p>
- <p>
- Specify 0 when mail delivery should be tried only once.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="bounce_service_name">bounce_service_name</a>
- (default: bounce)</b></DT><DD>
- <p>
- The name of the <a href="bounce.8.html">bounce(8)</a> service. This service maintains a record
- of failed delivery attempts and generates non-delivery notifications.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="bounce_size_limit">bounce_size_limit</a>
- (default: 50000)</b></DT><DD>
- <p> The maximal amount of original message text that is sent in a
- non-delivery notification. Specify a byte count. A message is
- returned as either message/rfc822 (the complete original) or as
- text/rfc822-headers (the headers only). With Postfix version 2.4
- and earlier, a message is always returned as message/rfc822 and is
- truncated when it exceeds the size limit.
- </p>
- <p> Notes: </p>
- <ul>
- <li> <p> If you increase this limit, then you should increase the
- <a href="postconf.5.html#mime_nesting_limit">mime_nesting_limit</a> value proportionally. </p>
- <li> <p> Be careful when making changes. Excessively large values
- will result in the loss of non-delivery notifications, when a bounce
- message size exceeds a local or remote MTA's message size limit.
- </p>
- </ul>
- </DD>
- <DT><b><a name="bounce_template_file">bounce_template_file</a>
- (default: empty)</b></DT><DD>
- <p> Pathname of a configuration file with bounce message templates.
- These override the built-in templates of delivery status notification
- (DSN) messages for undeliverable mail, for delayed mail, successful
- delivery, or delivery verification. The <a href="bounce.5.html">bounce(5)</a> manual page
- describes how to edit and test template files. </p>
- <p> Template message body text may contain $name references to
- Postfix configuration parameters. The result of $name expansion can
- be previewed with "<b>postconf -b <i>file_name</i></b>" before the file
- is placed into the Postfix configuration directory. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="broken_sasl_auth_clients">broken_sasl_auth_clients</a>
- (default: no)</b></DT><DD>
- <p>
- Enable interoperability with remote SMTP clients that implement an obsolete
- version of the AUTH command (<a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a>). Examples of such clients
- are MicroSoft Outlook Express version 4 and MicroSoft Exchange
- version 5.0.
- </p>
- <p>
- Specify "<a href="postconf.5.html#broken_sasl_auth_clients">broken_sasl_auth_clients</a> = yes" to have Postfix advertise
- AUTH support in a non-standard way.
- </p>
- </DD>
- <DT><b><a name="canonical_classes">canonical_classes</a>
- (default: envelope_sender, envelope_recipient, header_sender, header_recipient)</b></DT><DD>
- <p> What addresses are subject to <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping.
- By default, <a href="postconf.5.html#canonical_maps">canonical_maps</a> address mapping is applied to envelope
- sender and recipient addresses, and to header sender and header
- recipient addresses. </p>
- <p> Specify one or more of: envelope_sender, envelope_recipient,
- header_sender, header_recipient </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="canonical_maps">canonical_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional address mapping lookup tables for message headers and
- envelopes. The mapping is applied to both sender and recipient
- addresses, in both envelopes and in headers, as controlled
- with the <a href="postconf.5.html#canonical_classes">canonical_classes</a> parameter. This is typically used
- to clean up dirty addresses from legacy mail systems, or to replace
- login names by Firstname.Lastname. The table format and lookups
- are documented in <a href="canonical.5.html">canonical(5)</a>. For an overview of Postfix address
- manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
- </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- Note: these lookups are recursive.
- </p>
- <p>
- If you use this feature, run "<b>postmap /etc/postfix/canonical</b>" to
- build the necessary DBM or DB file after every change. The changes
- will become visible after a minute or so. Use "<b>postfix reload</b>"
- to eliminate the delay.
- </p>
- <p> Note: with Postfix version 2.2, message header address mapping
- happens only when message header address rewriting is enabled: </p>
- <ul>
- <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
- <li> The message is received from a network client that matches
- $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
- <li> The message is received from the network, and the
- <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
- </ul>
- <p> To get the behavior before Postfix version 2.2, specify
- "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/canonical
- <a href="postconf.5.html#canonical_maps">canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/canonical
- </pre>
- </DD>
- <DT><b><a name="cleanup_service_name">cleanup_service_name</a>
- (default: cleanup)</b></DT><DD>
- <p>
- The name of the <a href="cleanup.8.html">cleanup(8)</a> service. This service rewrites addresses
- into the standard form, and performs <a href="canonical.5.html">canonical(5)</a> address mapping
- and <a href="virtual.5.html">virtual(5)</a> aliasing.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="command_directory">command_directory</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The location of all postfix administrative commands.
- </p>
- </DD>
- <DT><b><a name="command_execution_directory">command_execution_directory</a>
- (default: empty)</b></DT><DD>
- <p> The <a href="local.8.html">local(8)</a> delivery agent working directory for delivery to
- external command. Failure to change directory causes the delivery
- to be deferred. </p>
- <p> The following $name expansions are done on <a href="postconf.5.html#command_execution_directory">command_execution_directory</a>
- before the directory is changed. Expansion happens in the context
- of the delivery request. The result of $name expansion is filtered
- with the character set that is specified with the
- <a href="postconf.5.html#execution_directory_expansion_filter">execution_directory_expansion_filter</a> parameter. </p>
- <dl>
- <dt><b>$user</b></dt>
- <dd>The recipient's username. </dd>
- <dt><b>$shell</b></dt>
- <dd>The recipient's login shell pathname. </dd>
- <dt><b>$home</b></dt>
- <dd>The recipient's home directory. </dd>
- <dt><b>$recipient</b></dt>
- <dd>The full recipient address. </dd>
- <dt><b>$extension</b></dt>
- <dd>The optional recipient address extension. </dd>
- <dt><b>$domain</b></dt>
- <dd>The recipient domain. </dd>
- <dt><b>$local</b></dt>
- <dd>The entire recipient localpart. </dd>
- <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
- <dd>The address extension delimiter that was found in the recipient
- address (Postfix 2.11 and later), or the system-wide recipient
- address extension delimiter (Postfix 2.10 and earlier). </dd>
- <dt><b>${name?value}</b></dt>
- <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
- <dt><b>${name:value}</b></dt>
- <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
- </dl>
- <p>
- Instead of $name you can also specify ${name} or $(name).
- </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="command_expansion_filter">command_expansion_filter</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
- $name expansions of $<a href="postconf.5.html#mailbox_command">mailbox_command</a> and $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>.
- Characters outside the
- allowed set are replaced by underscores.
- </p>
- </DD>
- <DT><b><a name="command_time_limit">command_time_limit</a>
- (default: 1000s)</b></DT><DD>
- <p>
- Time limit for delivery to external commands. This limit is used
- by the <a href="local.8.html">local(8)</a> delivery agent, and is the default time limit for
- delivery by the <a href="pipe.8.html">pipe(8)</a> delivery agent.
- </p>
- <p>
- Note: if you set this time limit to a large value you must update the
- global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well.
- </p>
- </DD>
- <DT><b><a name="compatibility_level">compatibility_level</a>
- (default: 0)</b></DT><DD>
- <p> A safety net that causes Postfix to run with backwards-compatible
- default settings after an upgrade to a newer Postfix version. </p>
- <p> With backwards compatibility turned on (the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#compatibility_level">compatibility_level</a>
- value is less than the Postfix built-in value), Postfix looks for
- settings that are left at their implicit default value, and logs a
- message when a backwards-compatible default setting is required.
- </p>
- <blockquote>
- <pre>
- using backwards-compatible default setting <i>name=value</i>
- to [accept a specific client request]
- using backwards-compatible default setting <i>name=value</i>
- to [enable specific Postfix behavior]
- </pre>
- </blockquote>
- <p> See <a href="COMPATIBILITY_README.html">COMPATIBILITY_README</a> for specific message details. If such
- a message is logged in the context of a legitimate request, the
- system administrator should make the backwards-compatible setting
- permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>, for example: </p>
- <blockquote>
- <pre>
- # <b>postconf</b> <i>name=value</i>
- # <b>postfix reload</b>
- </pre>
- </blockquote>
- <p> When no more backwards-compatible settings need to be made
- permanent, the administrator should turn off backwards compatibility
- by updating the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in <a href="postconf.5.html">main.cf</a>:</p>
- <blockquote>
- <pre>
- # <b>postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i></b>
- # <b>postfix reload</b>
- </pre>
- </blockquote>
- <p> For <i>N</i> specify the number that is logged in your <a href="postfix.1.html">postfix(1)</a>
- warning message: </p>
- <blockquote>
- <pre>
- warning: To disable backwards compatibility use "postconf
- <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i>" and "postfix reload"
- </pre>
- </blockquote>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="config_directory">config_directory</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The default location of the Postfix <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a>
- configuration files. This can be overruled via the following
- mechanisms: </p>
- <ul>
- <li> <p> The MAIL_CONFIG environment variable (daemon processes
- and commands). </p>
- <li> <p> The "-c" command-line option (commands only). </p>
- </ul>
- <p> With Postfix command that run with set-gid privileges, a
- <a href="postconf.5.html#config_directory">config_directory</a> override requires either root privileges, or it
- requires that the directory is listed with the <a href="postconf.5.html#alternate_config_directories">alternate_config_directories</a>
- parameter in the default <a href="postconf.5.html">main.cf</a> file. </p>
- </DD>
- <DT><b><a name="confirm_delay_cleared">confirm_delay_cleared</a>
- (default: no)</b></DT><DD>
- <p> After sending a "your message is delayed" notification, inform
- the sender when the delay clears up. This can result in a sudden
- burst of notifications at the end of a prolonged network outage,
- and is therefore disabled by default. </p>
- <p> See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="connection_cache_protocol_timeout">connection_cache_protocol_timeout</a>
- (default: 5s)</b></DT><DD>
- <p> Time limit for connection cache connect, send or receive
- operations. The time limit is enforced in the client. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="connection_cache_service_name">connection_cache_service_name</a>
- (default: scache)</b></DT><DD>
- <p> The name of the <a href="scache.8.html">scache(8)</a> connection cache service. This service
- maintains a limited pool of cached sessions. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="connection_cache_status_update_time">connection_cache_status_update_time</a>
- (default: 600s)</b></DT><DD>
- <p> How frequently the <a href="scache.8.html">scache(8)</a> server logs usage statistics with
- connection cache hit and miss rates for logical destinations and for
- physical endpoints. </p>
- </DD>
- <DT><b><a name="connection_cache_ttl_limit">connection_cache_ttl_limit</a>
- (default: 2s)</b></DT><DD>
- <p> The maximal time-to-live value that the <a href="scache.8.html">scache(8)</a> connection
- cache server
- allows. Requests that specify a larger TTL will be stored with the
- maximum allowed TTL. The purpose of this additional control is to
- protect the infrastructure against careless people. The cache TTL
- is already bounded by $<a href="postconf.5.html#max_idle">max_idle</a>. </p>
- </DD>
- <DT><b><a name="content_filter">content_filter</a>
- (default: empty)</b></DT><DD>
- <p> After the message is queued, send the entire message to the
- specified <i>transport:destination</i>. The <i>transport</i> name
- specifies the first field of a mail delivery agent definition in
- <a href="master.5.html">master.cf</a>; the syntax of the next-hop <i>destination</i> is described
- in the manual page of the corresponding delivery agent. More
- information about external content filters is in the Postfix
- <a href="FILTER_README.html">FILTER_README</a> file. </p>
- <p> Notes: </p>
- <ul>
- <li> <p> This setting has lower precedence than a FILTER action
- that is specified in an <a href="access.5.html">access(5)</a>, <a href="header_checks.5.html">header_checks(5)</a> or <a href="header_checks.5.html">body_checks(5)</a>
- table. </p>
- <li> <p> The meaning of an empty next-hop filter <i>destination</i>
- is version dependent. Postfix 2.7 and later will use the recipient
- domain; earlier versions will use $<a href="postconf.5.html#myhostname">myhostname</a>. Specify
- "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility with Postfix
- 2.6 or earlier, or specify a <a href="postconf.5.html#content_filter">content_filter</a> value with an explicit
- next-hop <i>destination</i>. </p>
- </ul>
- </DD>
- <DT><b><a name="cyrus_sasl_config_path">cyrus_sasl_config_path</a>
- (default: empty)</b></DT><DD>
- <p> Search path for Cyrus SASL application configuration files,
- currently used only to locate the $<a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.conf file.
- Specify zero or more directories separated by a colon character,
- or an empty value to use Cyrus SASL's built-in search path. </p>
- <p> This feature is available in Postfix 2.5 and later when compiled
- with Cyrus SASL 2.1.22 or later. </p>
- </DD>
- <DT><b><a name="daemon_directory">daemon_directory</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The directory with Postfix support programs and daemon programs.
- These should not be invoked directly by humans. The directory must
- be owned by root.
- </p>
- </DD>
- <DT><b><a name="daemon_table_open_error_is_fatal">daemon_table_open_error_is_fatal</a>
- (default: no)</b></DT><DD>
- <p> How a Postfix daemon process handles errors while opening lookup
- tables: gradual degradation or immediate termination. </p>
- <dl>
- <dt> <b> no </b> (default) </dt> <dd> <p> Gradual degradation: a
- daemon process logs a message of type "error" and continues execution
- with reduced functionality. Features that do not depend on the
- unavailable table will work normally, while features that depend
- on the table will result in a type "warning" message. <br> When
- the <a href="postconf.5.html#notify_classes">notify_classes</a> parameter value contains the "data" class, the
- Postfix SMTP server and client will report transcripts of sessions
- with an error because a table is unavailable. </p> </dd>
- <dt> <b> yes </b> (historical behavior) </dt> <dd> <p> Immediate
- termination: a daemon process logs a type "fatal" message and
- terminates immediately. This option reduces the number of possible
- code paths through Postfix, and may therefore be slightly more
- secure than the default. </p> </dd>
- </dl>
- <p> For the sake of sanity, the number of type "error" messages is
- limited to 13 over the lifetime of a daemon process. </p>
- <p> This feature is available in Postfix 2.9 and later. </p>
- </DD>
- <DT><b><a name="daemon_timeout">daemon_timeout</a>
- (default: 18000s)</b></DT><DD>
- <p> How much time a Postfix daemon process may take to handle a
- request before it is terminated by a built-in watchdog timer. </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="data_directory">data_directory</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The directory with Postfix-writable data files (for example:
- caches, pseudo-random numbers). This directory must be owned by
- the <a href="postconf.5.html#mail_owner">mail_owner</a> account, and must not be shared with non-Postfix
- software. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="debug_peer_level">debug_peer_level</a>
- (default: 2)</b></DT><DD>
- <p> The increment in verbose logging level when a remote client or
- server matches a pattern in the <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> parameter. </p>
- </DD>
- <DT><b><a name="debug_peer_list">debug_peer_list</a>
- (default: empty)</b></DT><DD>
- <p> Optional list of remote client or server hostname or network
- address patterns that cause the verbose logging level to increase
- by the amount specified in $<a href="postconf.5.html#debug_peer_level">debug_peer_level</a>. </p>
- <p> Specify domain names, network/netmask patterns, "/file/name"
- patterns or "<a href="DATABASE_README.html">type:table</a>" lookup tables. The right-hand side result
- from "<a href="DATABASE_README.html">type:table</a>" lookups is ignored. </p>
- <p> Pattern matching of domain names is controlled by the presence
- or absence of "<a href="postconf.5.html#debug_peer_list">debug_peer_list</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
- parameter value. </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = 127.0.0.1
- <a href="postconf.5.html#debug_peer_list">debug_peer_list</a> = example.com
- </pre>
- </DD>
- <DT><b><a name="debugger_command">debugger_command</a>
- (default: empty)</b></DT><DD>
- <p>
- The external command to execute when a Postfix daemon program is
- invoked with the -D option.
- </p>
- <p>
- Use "command .. & sleep 5" so that the debugger can attach before
- the process marches on. If you use an X-based debugger, be sure to
- set up your XAUTHORITY environment variable before starting Postfix.
- </p>
- <p>
- Note: the command is subject to $name expansion, before it is
- passed to the default command interpreter. Specify "$$" to
- produce a single "$" character.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#debugger_command">debugger_command</a> =
- PATH=/usr/bin:/usr/X11R6/bin
- ddd $<a href="postconf.5.html#daemon_directory">daemon_directory</a>/$<a href="postconf.5.html#process_name">process_name</a> $<a href="postconf.5.html#process_id">process_id</a> & sleep 5
- </pre>
- </DD>
- <DT><b><a name="default_database_type">default_database_type</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The default database type for use in <a href="newaliases.1.html">newaliases(1)</a>, <a href="postalias.1.html">postalias(1)</a>
- and <a href="postmap.1.html">postmap(1)</a> commands. On many UNIX systems the default type is
- either <b>dbm</b> or <b>hash</b>. The default setting is frozen
- when the Postfix system is built.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#default_database_type">default_database_type</a> = hash
- <a href="postconf.5.html#default_database_type">default_database_type</a> = dbm
- </pre>
- </DD>
- <DT><b><a name="default_delivery_slot_cost">default_delivery_slot_cost</a>
- (default: 5)</b></DT><DD>
- <p>
- How often the Postfix queue manager's scheduler is allowed to
- preempt delivery of one message with another.
- </p>
- <p>
- Each transport maintains a so-called "available delivery slot counter"
- for each message. One message can be preempted by another one when
- the other message can be delivered using no more delivery slots
- (i.e., invocations of delivery agents) than the current message
- counter has accumulated (or will eventually accumulate - see about
- slot loans below). This parameter controls how often is the counter
- incremented - it happens after each <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
- recipients have been delivered.
- </p>
- <p>
- The cost of 0 is used to disable the preempting scheduling completely.
- The minimum value the scheduling algorithm can use is 2 - use it
- if you want to maximize the message throughput rate. Although there
- is no maximum, it doesn't make much sense to use values above say
- 50.
- </p>
- <p>
- The only reason why the value of 2 is not the default is the way
- this parameter affects the delivery of mailing-list mail. In the
- worst case, their delivery can take somewhere between (cost+1/cost)
- and (cost/cost-1) times more than if the preemptive scheduler was
- disabled. The default value of 5 turns out to provide reasonable
- message response times while making sure the mailing-list deliveries
- are not extended by more than 20-25 percent even in the worst case.
- </p>
- <p> Use <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 0
- <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a> = 2
- </pre>
- </DD>
- <DT><b><a name="default_delivery_slot_discount">default_delivery_slot_discount</a>
- (default: 50)</b></DT><DD>
- <p>
- The default value for transport-specific _delivery_slot_discount
- settings.
- </p>
- <p>
- This parameter speeds up the moment when a message preemption can
- happen. Instead of waiting until the full amount of delivery slots
- required is available, the preemption can happen when
- transport_delivery_slot_discount percent of the required amount
- plus transport_delivery_slot_loan still remains to be accumulated.
- Note that the full amount will still have to be accumulated before
- another preemption can take place later.
- </p>
- <p> Use <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- </DD>
- <DT><b><a name="default_delivery_slot_loan">default_delivery_slot_loan</a>
- (default: 3)</b></DT><DD>
- <p>
- The default value for transport-specific _delivery_slot_loan
- settings.
- </p>
- <p>
- This parameter speeds up the moment when a message preemption can
- happen. Instead of waiting until the full amount of delivery slots
- required is available, the preemption can happen when
- transport_delivery_slot_discount percent of the required amount
- plus transport_delivery_slot_loan still remains to be accumulated.
- Note that the full amount will still have to be accumulated before
- another preemption can take place later.
- </p>
- <p> Use <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- </DD>
- <DT><b><a name="default_delivery_status_filter">default_delivery_status_filter</a>
- (default: empty)</b></DT><DD>
- <p> Optional filter to replace the delivery status code or explanatory
- text of successful or unsuccessful deliveries. This does not allow
- the replacement of a successful status code (2.X.X) with an
- unsuccessful status code (4.X.X or 5.X.X) or vice versa. </p>
- <p> Note: the (smtp|lmtp)_delivery_status_filter is applied only
- once per recipient: when delivery is successful, when delivery is
- rejected with 5XX, or when there are no more alternate MX or A
- destinations. Use <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> or <a href="postconf.5.html#lmtp_reply_filter">lmtp_reply_filter</a> to inspect
- responses for all delivery attempts. </p>
- <p> The following parameters can be used to implement a filter for
- specific delivery agents: <a href="postconf.5.html#lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>,
- <a href="postconf.5.html#local_delivery_status_filter">local_delivery_status_filter</a>, <a href="postconf.5.html#pipe_delivery_status_filter">pipe_delivery_status_filter</a>,
- <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> or <a href="postconf.5.html#virtual_delivery_status_filter">virtual_delivery_status_filter</a>. These
- parameters support the same filter syntax as described here. </p>
- <p> Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup table names, separated
- by comma or whitespace. For each successful or unsuccessful delivery
- to a recipient, the tables are queried in the specified order with
- one line of text that is structured as follows: </p>
- <blockquote>
- enhanced-status-code SPACE explanatory-text
- </blockquote>
- <p> The first table match wins. The lookup result must have the
- same structure as the query, a successful status code (2.X.X) must
- be replaced with a successful status code, an unsuccessful status
- code (4.X.X or 5.X.X) must be replaced with an unsuccessful status
- code, and the explanatory text field must be non-empty. Other results
- will result in a warning. </p>
- <p> Example 1: convert specific soft TLS errors into hard errors,
- by overriding the first number in the enhanced status code. </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/smtp_dsn_filter
- </pre>
- </blockquote>
- <blockquote>
- <pre>
- /etc/postfix/smtp_dsn_filter:
- /^4(\.\d+\.\d+ TLS is required, but host \S+ refused to start TLS: .+)/
- 5$1
- /^4(\.\d+\.\d+ TLS is required, but was not offered by host .+)/
- 5$1
- # Do not change the following into hard bounces. They may
- # result from a local configuration problem.
- # 4.\d+.\d+ TLS is required, but our TLS engine is unavailable
- # 4.\d+.\d+ TLS is required, but unavailable
- # 4.\d+.\d+ Cannot start TLS: handshake failure
- </pre>
- </blockquote>
- <p> Example 2: censor the per-recipient delivery status text so
- that it does not reveal the destination command or filename
- when a remote sender requests confirmation of successful delivery.
- </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#local_delivery_status_filter">local_delivery_status_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/local_dsn_filter
- </pre>
- </blockquote>
- <blockquote>
- <pre>
- /etc/postfix/local_dsn_filter:
- /^(2\S+ delivered to file).+/ $1
- /^(2\S+ delivered to command).+/ $1
- </pre>
- </blockquote>
- <p> Notes: </p>
- <ul>
- <li> <p> This feature will NOT override the <a href="postconf.5.html#soft_bounce">soft_bounce</a> safety net. </p>
- <li> <p> This feature will change the enhanced status code and text
- that is logged to the maillog file, and that is reported to the
- sender in delivery confirmation or non-delivery notifications.
- </p>
- </ul>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
- (default: 1)</b></DT><DD>
- <p> How many pseudo-cohorts must suffer connection or handshake
- failure before a specific destination is considered unavailable
- (and further delivery is suspended). Specify zero to disable this
- feature. A destination's pseudo-cohort failure count is reset each
- time a delivery completes without connection or handshake failure
- for that specific destination. </p>
- <p> A pseudo-cohort is the number of deliveries equal to a destination's
- delivery concurrency. </p>
- <p> Use <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> to specify
- a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport. </p>
- <p> This feature is available in Postfix 2.5. The default setting
- is compatible with earlier Postfix versions. </p>
- </DD>
- <DT><b><a name="default_destination_concurrency_limit">default_destination_concurrency_limit</a>
- (default: 20)</b></DT><DD>
- <p>
- The default maximal number of parallel deliveries to the same
- destination. This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>,
- <a href="pipe.8.html">pipe(8)</a>, <a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
- With per-destination recipient limit > 1, a destination is a domain,
- otherwise it is a recipient.
- </p>
- <p> Use <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- </DD>
- <DT><b><a name="default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>
- (default: 1)</b></DT><DD>
- <p> The per-destination amount of delivery concurrency negative
- feedback, after a delivery completes with a connection or handshake
- failure. Feedback values are in the range 0..1 inclusive. With
- negative feedback, concurrency is decremented at the beginning of
- a sequence of length 1/feedback. This is unlike positive feedback,
- where concurrency is incremented at the end of a sequence of length
- 1/feedback. </p>
- <p> As of Postfix version 2.5, negative feedback cannot reduce
- delivery concurrency to zero. Instead, a destination is marked
- dead (further delivery suspended) after the failed pseudo-cohort
- count reaches $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>
- (or $<a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>).
- To make the scheduler completely immune to connection or handshake
- failures, specify a zero feedback value and a zero failed pseudo-cohort
- limit. </p>
- <p> Specify one of the following forms: </p>
- <dl>
- <dt> <b><i>number</i> </b> </dt>
- <dt> <b><i>number</i> / <i>number</i> </b> </dt>
- <dd> Constant feedback. The value must be in the range 0..1 inclusive.
- The default setting of "1" is compatible with Postfix versions
- before 2.5, where a destination's delivery concurrency is throttled
- down to zero (and further delivery suspended) after a single failed
- pseudo-cohort. </dd>
- <dt> <b><i>number</i> / concurrency </b> </dt>
- <dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
- The <i>number</i> must be in the range 0..1 inclusive. With
- <i>number</i> equal to "1", a destination's delivery concurrency
- is decremented by 1 after each failed pseudo-cohort. </dd>
- </dl>
- <p> A pseudo-cohort is the number of deliveries equal to a destination's
- delivery concurrency. </p>
- <p> Use <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
- to specify a transport-specific override, where <i>transport</i>
- is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport. </p>
- <p> This feature is available in Postfix 2.5. The default setting
- is compatible with earlier Postfix versions. </p>
- </DD>
- <DT><b><a name="default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>
- (default: 1)</b></DT><DD>
- <p> The per-destination amount of delivery concurrency positive
- feedback, after a delivery completes without connection or handshake
- failure. Feedback values are in the range 0..1 inclusive. The
- concurrency increases until it reaches the per-destination maximal
- concurrency limit. With positive feedback, concurrency is incremented
- at the end of a sequence with length 1/feedback. This is unlike
- negative feedback, where concurrency is decremented at the start
- of a sequence of length 1/feedback. </p>
- <p> Specify one of the following forms: </p>
- <dl>
- <dt> <b><i>number</i> </b> </dt>
- <dt> <b><i>number</i> / <i>number</i> </b> </dt>
- <dd> Constant feedback. The value must be in the range 0..1
- inclusive. The default setting of "1" is compatible with Postfix
- versions before 2.5, where a destination's delivery concurrency
- doubles after each successful pseudo-cohort. </dd>
- <dt> <b><i>number</i> / concurrency </b> </dt>
- <dd> Variable feedback of "<i>number</i> / (delivery concurrency)".
- The <i>number</i> must be in the range 0..1 inclusive. With
- <i>number</i> equal to "1", a destination's delivery concurrency
- is incremented by 1 after each successful pseudo-cohort. </dd>
- </dl>
- <p> A pseudo-cohort is the number of deliveries equal to a destination's
- delivery concurrency. </p>
- <p> Use <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
- to specify a transport-specific override, where <i>transport</i>
- is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="default_destination_rate_delay">default_destination_rate_delay</a>
- (default: 0s)</b></DT><DD>
- <p> The default amount of delay that is inserted between individual
- deliveries to the same destination; the resulting behavior depends
- on the value of the corresponding per-destination recipient limit.
- </p>
- <ul>
- <li> <p> With a corresponding per-destination recipient limit >
- 1, the rate delay specifies the time between deliveries to the
- <i>same domain</i>. Different domains are delivered in parallel,
- subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p>
- <li> <p> With a corresponding per-destination recipient limit equal
- to 1, the rate delay specifies the time between deliveries to the
- <i>same recipient</i>. Different recipients are delivered in
- parallel, subject to the process limits specified in <a href="master.5.html">master.cf</a>.
- </p>
- </ul>
- <p> To enable the delay, specify a non-zero time value (an integral
- value plus an optional one-letter suffix that specifies the time
- unit). </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). The default time unit is s (seconds). </p>
- <p> NOTE: the delay is enforced by the queue manager. The delay
- timer state does not survive "<b>postfix reload</b>" or "<b>postfix
- stop</b>".
- </p>
- <p> Use <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- <p> NOTE: with a non-zero _destination_rate_delay, specify a
- <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a> of 10
- or more to prevent Postfix from deferring all mail for the same
- destination after only one connection or handshake error. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="default_destination_recipient_limit">default_destination_recipient_limit</a>
- (default: 50)</b></DT><DD>
- <p>
- The default maximal number of recipients per message delivery.
- This is the default limit for delivery via the <a href="lmtp.8.html">lmtp(8)</a>, <a href="pipe.8.html">pipe(8)</a>,
- <a href="smtp.8.html">smtp(8)</a> and <a href="virtual.8.html">virtual(8)</a> delivery agents.
- </p>
- <p> Setting this parameter to a value of 1 affects email deliveries
- as follows:</p>
- <ul>
- <li> <p> It changes the meaning of the corresponding per-destination
- concurrency limit, from concurrency of deliveries to the <i>same
- domain</i> into concurrency of deliveries to the <i>same recipient</i>.
- Different recipients are delivered in parallel, subject to the
- process limits specified in <a href="master.5.html">master.cf</a>. </p>
- <li> <p> It changes the meaning of the corresponding per-destination
- rate delay, from the delay between deliveries to the <i>same
- domain</i> into the delay between deliveries to the <i>same
- recipient</i>. Again, different recipients are delivered in parallel,
- subject to the process limits specified in <a href="master.5.html">master.cf</a>. </p>
- <li> <p> It changes the meaning of other corresponding per-destination
- settings in a similar manner, from settings for delivery to the
- <i>same domain</i> into settings for delivery to the <i>same
- recipient</i>.
- </ul>
- <p> Use <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- </DD>
- <DT><b><a name="default_extra_recipient_limit">default_extra_recipient_limit</a>
- (default: 1000)</b></DT><DD>
- <p>
- The default value for the extra per-transport limit imposed on the
- number of in-memory recipients. This extra recipient space is
- reserved for the cases when the Postfix queue manager's scheduler
- preempts one message with another and suddenly needs some extra
- recipients slots for the chosen message in order to avoid performance
- degradation.
- </p>
- <p> Use <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- </DD>
- <DT><b><a name="default_filter_nexthop">default_filter_nexthop</a>
- (default: empty)</b></DT><DD>
- <p> When a <a href="postconf.5.html#content_filter">content_filter</a> or FILTER request specifies no explicit
- next-hop destination, use $<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> instead; when
- that value is empty, use the domain in the recipient address.
- Specify "<a href="postconf.5.html#default_filter_nexthop">default_filter_nexthop</a> = $<a href="postconf.5.html#myhostname">myhostname</a>" for compatibility
- with Postfix version 2.6 and earlier, or specify an explicit next-hop
- destination with each <a href="postconf.5.html#content_filter">content_filter</a> value or FILTER action. </p>
- <p> This feature is available in Postfix 2.7 and later. </p>
- </DD>
- <DT><b><a name="default_minimum_delivery_slots">default_minimum_delivery_slots</a>
- (default: 3)</b></DT><DD>
- <p>
- How many recipients a message must have in order to invoke the
- Postfix queue manager's scheduling algorithm at all. Messages
- which would never accumulate at least this many delivery slots
- (subject to slot cost parameter as well) are never preempted.
- </p>
- <p> Use <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- </DD>
- <DT><b><a name="default_privs">default_privs</a>
- (default: nobody)</b></DT><DD>
- <p>
- The default rights used by the <a href="local.8.html">local(8)</a> delivery agent for delivery
- to external file or command. These rights are used when delivery
- is requested from an <a href="aliases.5.html">aliases(5)</a> file that is owned by <b>root</b>, or
- when delivery is done on behalf of <b>root</b>. <b>DO NOT SPECIFY A
- PRIVILEGED USER OR THE POSTFIX OWNER</b>.
- </p>
- </DD>
- <DT><b><a name="default_process_limit">default_process_limit</a>
- (default: 100)</b></DT><DD>
- <p>
- The default maximal number of Postfix child processes that provide
- a given service. This limit can be overruled for specific services
- in the <a href="master.5.html">master.cf</a> file.
- </p>
- </DD>
- <DT><b><a name="default_rbl_reply">default_rbl_reply</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The default Postfix SMTP server response template for a request that is
- rejected by an RBL-based restriction. This template can be overruled
- by specific entries in the optional <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> lookup table.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- <p>
- The template is subject to exactly one level of $name substitution:
- </p>
- <dl>
- <dt><b>$client</b></dt>
- <dd>The client hostname and IP address, formatted as name[address]. </dd>
- <dt><b>$client_address</b></dt>
- <dd>The client IP address. </dd>
- <dt><b>$client_name</b></dt>
- <dd>The client hostname or "unknown". See <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a>
- for more details. </dd>
- <dt><b>$reverse_client_name</b></dt>
- <dd>The client hostname from address->name lookup, or "unknown".
- See <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a> for more details. </dd>
- <dt><b>$helo_name</b></dt>
- <dd>The hostname given in HELO or EHLO command or empty string. </dd>
- <dt><b>$rbl_class</b></dt>
- <dd>The blacklisted entity type: Client host, Helo command, Sender
- address, or Recipient address. </dd>
- <dt><b>$rbl_code</b></dt>
- <dd>The numerical SMTP response code, as specified with the
- <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> configuration parameter. Note: The numerical
- SMTP response code is required, and must appear at the start of the
- reply. With Postfix version 2.3 and later this information may be followed
- by an <a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a> enhanced status code. </dd>
- <dt><b>$rbl_domain</b></dt>
- <dd>The RBL domain where $rbl_what is blacklisted. </dd>
- <dt><b>$rbl_reason</b></dt>
- <dd>The reason why $rbl_what is blacklisted, or an empty string. </dd>
- <dt><b>$rbl_what</b></dt>
- <dd>The entity that is blacklisted (an IP address, a hostname, a domain
- name, or an email address whose domain was blacklisted). </dd>
- <dt><b>$recipient</b></dt>
- <dd>The recipient address or <> in case of the null address. </dd>
- <dt><b>$recipient_domain</b></dt>
- <dd>The recipient domain or empty string. </dd>
- <dt><b>$recipient_name</b></dt>
- <dd>The recipient address localpart or <> in case of null address. </dd>
- <dt><b>$sender</b></dt>
- <dd>The sender address or <> in case of the null address. </dd>
- <dt><b>$sender_domain</b></dt>
- <dd>The sender domain or empty string. </dd>
- <dt><b>$sender_name</b></dt>
- <dd>The sender address localpart or <> in case of the null address. </dd>
- <dt><b>${name?text}</b></dt>
- <dd>Expands to `text' if $name is not empty. </dd>
- <dt><b>${name:text}</b></dt>
- <dd>Expands to `text' if $name is empty. </dd>
- </dl>
- <p>
- Instead of $name you can also specify ${name} or $(name).
- </p>
- <p> Note: when an enhanced status code is specified in an RBL reply
- template, it is subject to modification. The following transformations
- are needed when the same RBL reply template is used for client,
- helo, sender, or recipient access restrictions. </p>
- <ul>
- <li> <p> When rejecting a sender address, the Postfix SMTP server
- will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the
- corresponding sender DSN status, and vice versa. </p>
- <li> <p> When rejecting non-address information (such as the HELO
- command argument or the client hostname/address), the Postfix SMTP
- server will transform a sender or recipient DSN status into a generic
- non-address DSN status (e.g., 4.0.0). </p>
- </ul>
- </DD>
- <DT><b><a name="default_recipient_limit">default_recipient_limit</a>
- (default: 20000)</b></DT><DD>
- <p>
- The default per-transport upper limit on the number of in-memory
- recipients. These limits take priority over the global
- <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> after the message has been assigned
- to the respective transports. See also <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
- and <a href="postconf.5.html#qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>.
- </p>
- <p> Use <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- </DD>
- <DT><b><a name="default_recipient_refill_delay">default_recipient_refill_delay</a>
- (default: 5s)</b></DT><DD>
- <p>
- The default per-transport maximum delay between recipients refills.
- When not all message recipients fit into the memory at once, keep loading
- more of them at least once every this many seconds. This is used to
- make sure the recipients are refilled in timely manner even when
- $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a> is too high for too slow deliveries.
- </p>
- <p> Use <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- <p> This feature is available in Postfix 2.4 and later. </p>
- </DD>
- <DT><b><a name="default_recipient_refill_limit">default_recipient_refill_limit</a>
- (default: 100)</b></DT><DD>
- <p>
- The default per-transport limit on the number of recipients refilled at
- once. When not all message recipients fit into the memory at once, keep
- loading more of them in batches of at least this many at a time. See also
- $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>, which may result in recipient batches
- lower than this when this limit is too high for too slow deliveries.
- </p>
- <p> Use <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> to specify a
- transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport.
- </p>
- <p> This feature is available in Postfix 2.4 and later. </p>
- </DD>
- <DT><b><a name="default_transport">default_transport</a>
- (default: smtp)</b></DT><DD>
- <p>
- The default mail delivery transport and next-hop destination for
- destinations that do not match $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>,
- $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>,
- or $<a href="postconf.5.html#relay_domains">relay_domains</a>. This information can be overruled with the
- <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> parameter and with the
- <a href="transport.5.html">transport(5)</a> table. </p>
- <p>
- In order of decreasing precedence, the nexthop destination is taken
- from $<a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, $<a href="postconf.5.html#default_transport">default_transport</a>,
- $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>, or from the recipient
- domain.
- </p>
- <p>
- Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
- is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
- The <i>:nexthop</i> destination is optional; its syntax is documented
- in the manual page of the corresponding delivery agent.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#default_transport">default_transport</a> = uucp:relayhostname
- </pre>
- </DD>
- <DT><b><a name="default_transport_rate_delay">default_transport_rate_delay</a>
- (default: 0s)</b></DT><DD>
- <p> The default amount of delay that is inserted between individual
- deliveries over the same message delivery transport, regardless of
- destination. If non-zero, all deliveries over the same message
- delivery transport will happen one at a time. </p>
- <p>Use <a href="postconf.5.html#transport_transport_rate_delay"><i>transport</i>_transport_rate_delay</a> to specify a
- transport-specific override, where the initial <i>transport</i> is
- the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
- <p> Example: throttle outbound SMTP mail to at most 3 deliveries
- per minute. </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- smtp_transport_rate_delay = 20s
- </pre>
- <p> To enable the delay, specify a non-zero time value (an integral
- value plus an optional one-letter suffix that specifies the time
- unit). </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). The default time unit is s (seconds). </p>
- <p> NOTE: the delay is enforced by the queue manager. </p>
- <p> This feature is available in Postfix 3.1 and later. </p>
- </DD>
- <DT><b><a name="default_verp_delimiters">default_verp_delimiters</a>
- (default: +=)</b></DT><DD>
- <p> The two default VERP delimiter characters. These are used when
- no explicit delimiters are specified with the SMTP XVERP command
- or with the "<b>sendmail -V</b>" command-line option. Specify
- characters that are allowed by the <a href="postconf.5.html#verp_delimiter_filter">verp_delimiter_filter</a> setting.
- </p>
- <p>
- This feature is available in Postfix 1.1 and later.
- </p>
- </DD>
- <DT><b><a name="defer_code">defer_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a remote SMTP
- client request is rejected by the "defer" restriction.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- </DD>
- <DT><b><a name="defer_service_name">defer_service_name</a>
- (default: defer)</b></DT><DD>
- <p>
- The name of the defer service. This service is implemented by the
- <a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
- of failed delivery attempts and generates non-delivery notifications.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="defer_transports">defer_transports</a>
- (default: empty)</b></DT><DD>
- <p>
- The names of message delivery transports that should not deliver mail
- unless someone issues "<b>sendmail -q</b>" or equivalent. Specify zero
- or more names of mail delivery transports names that appear in the
- first field of <a href="master.5.html">master.cf</a>.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#defer_transports">defer_transports</a> = smtp
- </pre>
- </DD>
- <DT><b><a name="delay_logging_resolution_limit">delay_logging_resolution_limit</a>
- (default: 2)</b></DT><DD>
- <p> The maximal number of digits after the decimal point when logging
- sub-second delay values. Specify a number in the range 0..6. </p>
- <p> Large delay values are rounded off to an integral number seconds;
- delay values below the <a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> are logged
- as "0", and delay values under 100s are logged with at most two-digit
- precision. </p>
- <p> The format of the "delays=a/b/c/d" logging is as follows: </p>
- <ul>
- <li> a = time from message arrival to last <a href="QSHAPE_README.html#active_queue">active queue</a> entry
- <li> b = time from last <a href="QSHAPE_README.html#active_queue">active queue</a> entry to connection setup
- <li> c = time in connection setup, including DNS, EHLO and STARTTLS
- <li> d = time in message transmission
- </ul>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="delay_notice_recipient">delay_notice_recipient</a>
- (default: postmaster)</b></DT><DD>
- <p>
- The recipient of postmaster notifications with the message headers
- of mail that cannot be delivered within $<a href="postconf.5.html#delay_warning_time">delay_warning_time</a> time
- units. </p>
- <p>
- See also: <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>.
- </p>
- </DD>
- <DT><b><a name="delay_warning_time">delay_warning_time</a>
- (default: 0h)</b></DT><DD>
- <p>
- The time after which the sender receives a copy of the message
- headers of mail that is still queued. The <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a>
- parameter controls sender notification when the delay clears up.
- </p>
- <p>
- To enable this feature, specify a non-zero time value (an integral
- value plus an optional one-letter suffix that specifies the time
- unit).
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is h (hours).
- </p>
- <p>
- See also: <a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a>, <a href="postconf.5.html#notify_classes">notify_classes</a>, <a href="postconf.5.html#confirm_delay_cleared">confirm_delay_cleared</a>.
- </p>
- </DD>
- <DT><b><a name="deliver_lock_attempts">deliver_lock_attempts</a>
- (default: 20)</b></DT><DD>
- <p>
- The maximal number of attempts to acquire an exclusive lock on a
- mailbox file or <a href="bounce.8.html">bounce(8)</a> logfile.
- </p>
- </DD>
- <DT><b><a name="deliver_lock_delay">deliver_lock_delay</a>
- (default: 1s)</b></DT><DD>
- <p>
- The time between attempts to acquire an exclusive lock on a mailbox
- file or <a href="bounce.8.html">bounce(8)</a> logfile.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="destination_concurrency_feedback_debug">destination_concurrency_feedback_debug</a>
- (default: no)</b></DT><DD>
- <p> Make the queue manager's feedback algorithm verbose for performance
- analysis purposes. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="detect_8bit_encoding_header">detect_8bit_encoding_header</a>
- (default: yes)</b></DT><DD>
- <p> Automatically detect 8BITMIME body content by looking at
- Content-Transfer-Encoding: message headers; historically, this
- behavior was hard-coded to be "always on". </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="disable_dns_lookups">disable_dns_lookups</a>
- (default: no)</b></DT><DD>
- <p>
- Disable DNS lookups in the Postfix SMTP and LMTP clients. When
- disabled, hosts are looked up with the getaddrinfo() system
- library routine which normally also looks in /etc/hosts. As of
- Postfix 2.11, this parameter is deprecated; use <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
- instead.
- </p>
- <p>
- DNS lookups are enabled by default.
- </p>
- </DD>
- <DT><b><a name="disable_mime_input_processing">disable_mime_input_processing</a>
- (default: no)</b></DT><DD>
- <p>
- Turn off MIME processing while receiving mail. This means that no
- special treatment is given to Content-Type: message headers, and
- that all text after the initial message headers is considered to
- be part of the message body.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- <p>
- Mime input processing is enabled by default, and is needed in order
- to recognize MIME headers in message content.
- </p>
- </DD>
- <DT><b><a name="disable_mime_output_conversion">disable_mime_output_conversion</a>
- (default: no)</b></DT><DD>
- <p>
- Disable the conversion of 8BITMIME format to 7BIT format. Mime
- output conversion is needed when the destination does not advertise
- 8BITMIME support.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="disable_verp_bounces">disable_verp_bounces</a>
- (default: no)</b></DT><DD>
- <p>
- Disable sending one bounce report per recipient.
- </p>
- <p>
- The default, one per recipient, is what ezmlm needs.
- </p>
- <p>
- This feature is available in Postfix 1.1 and later.
- </p>
- </DD>
- <DT><b><a name="disable_vrfy_command">disable_vrfy_command</a>
- (default: no)</b></DT><DD>
- <p>
- Disable the SMTP VRFY command. This stops some techniques used to
- harvest email addresses.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> = no
- </pre>
- </DD>
- <DT><b><a name="dns_ncache_ttl_fix_enable">dns_ncache_ttl_fix_enable</a>
- (default: no)</b></DT><DD>
- <p> Enable a workaround for future libc incompatibility. The Postfix
- implementation of <a href="http://tools.ietf.org/html/rfc2308">RFC 2308</a> negative reply caching relies on the
- promise that res_query() and res_search() invoke res_send(), which
- returns the server response in an application buffer even if the
- requested record does not exist. If this promise is broken, specify
- "yes" to enable a workaround for DNS reputation lookups. </p>
- <p>
- This feature is available in Postfix 3.1 and later.
- </p>
- </DD>
- <DT><b><a name="dnsblog_reply_delay">dnsblog_reply_delay</a>
- (default: 0s)</b></DT><DD>
- <p> A debugging aid to artificially delay DNS responses. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="dnsblog_service_name">dnsblog_service_name</a>
- (default: dnsblog)</b></DT><DD>
- <p> The name of the <a href="dnsblog.8.html">dnsblog(8)</a> service entry in <a href="master.5.html">master.cf</a>. This
- service performs DNS white/blacklist lookups. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="dont_remove">dont_remove</a>
- (default: 0)</b></DT><DD>
- <p>
- Don't remove queue files and save them to the "saved" mail queue.
- This is a debugging aid. To inspect the envelope information and
- content of a Postfix queue file, use the <a href="postcat.1.html">postcat(1)</a> command.
- </p>
- </DD>
- <DT><b><a name="double_bounce_sender">double_bounce_sender</a>
- (default: double-bounce)</b></DT><DD>
- <p> The sender address of postmaster notifications that are generated
- by the mail system. All mail to this address is silently discarded,
- in order to terminate mail bounce loops. </p>
- </DD>
- <DT><b><a name="duplicate_filter_limit">duplicate_filter_limit</a>
- (default: 1000)</b></DT><DD>
- <p> The maximal number of addresses remembered by the address
- duplicate filter for <a href="aliases.5.html">aliases(5)</a> or <a href="virtual.5.html">virtual(5)</a> alias expansion, or
- for <a href="showq.8.html">showq(8)</a> queue displays. </p>
- </DD>
- <DT><b><a name="empty_address_default_transport_maps_lookup_key">empty_address_default_transport_maps_lookup_key</a>
- (default: <>)</b></DT><DD>
- <p> The <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a> search string that
- will be used instead of the null sender address. </p>
- <p> This feature is available in Postfix 2.7 and later. </p>
- </DD>
- <DT><b><a name="empty_address_recipient">empty_address_recipient</a>
- (default: MAILER-DAEMON)</b></DT><DD>
- <p>
- The recipient of mail addressed to the null address. Postfix does
- not accept such addresses in SMTP commands, but they may still be
- created locally as the result of configuration or software error.
- </p>
- </DD>
- <DT><b><a name="empty_address_relayhost_maps_lookup_key">empty_address_relayhost_maps_lookup_key</a>
- (default: <>)</b></DT><DD>
- <p> The <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> search string that will be
- used instead of the null sender address. </p>
- <p> This feature is available in Postfix 2.5 and later. With
- earlier versions, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a> lookups were
- skipped for the null sender address. </p>
- </DD>
- <DT><b><a name="enable_errors_to">enable_errors_to</a>
- (default: no)</b></DT><DD>
- <p> Report mail delivery errors to the address specified with the
- non-standard Errors-To: message header, instead of the envelope
- sender address (this feature is removed with Postfix version 2.2, is
- turned off by default with Postfix version 2.1, and is always turned on
- with older Postfix versions). </p>
- </DD>
- <DT><b><a name="enable_idna2003_compatibility">enable_idna2003_compatibility</a>
- (default: no)</b></DT><DD>
- <p> Enable 'transitional' compatibility between IDNA2003 and IDNA2008,
- when converting UTF-8 domain names to/from the ASCII form that is
- used for DNS lookups. Specify "yes" for compatibility with Postfix
- ≤ 3.1 (not recommended). This affects the conversion of domain
- names that contain for example the German sz and the Greek zeta.
- See <a href="http://unicode.org/cldr/utility/idna.jsp">http://unicode.org/cldr/utility/idna.jsp</a> for more examples.
- </p>
- <p> This feature is available in Postfix 3.2 and later. </p>
- </DD>
- <DT><b><a name="enable_long_queue_ids">enable_long_queue_ids</a>
- (default: no)</b></DT><DD>
- <p> Enable long, non-repeating, queue IDs (queue file names). The
- benefit of non-repeating names is simpler logfile analysis and
- easier queue migration (there is no need to run "postsuper" to
- change queue file names that don't match their message file inode
- number). </p>
- <p> Note: see below for how to convert long queue file names to
- Postfix ≤ 2.8. </p>
- <p> Changing the parameter value to "yes" has the following effects:
- </p>
- <ul>
- <li> <p> Existing queue file names are not affected. </p>
- <li> <p> New queue files are created with names such as 3Pt2mN2VXxznjll.
- These are encoded in a 52-character alphabet that contains digits
- (0-9), upper-case letters (B-Z) and lower-case letters (b-z). For
- safety reasons the vowels (AEIOUaeiou) are excluded from the alphabet.
- The name format is: 6 or more characters for the time in seconds,
- 4 characters for the time in microseconds, the 'z'; the remainder
- is the file inode number encoded in the first 51 characters of the
- 52-character alphabet. </p>
- <li> <p> New messages have a Message-ID header with
- <i>queueID</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>. </p>
- <li> <p> The mailq (postqueue -p) output has a wider Queue ID column.
- The number of whitespace-separated fields is not changed. <p>
- <li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
- of the queue file creation time in microseconds, after conversion
- into hexadecimal representation. This produces the same queue hashing
- behavior as if the queue file name was created with "<a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>
- = no". </p>
- </ul>
- <p> Changing the parameter value to "no" has the following effects:
- </p>
- <ul>
- <li> <p> Existing long queue file names are renamed to the short
- form (while running "postfix reload" or "postsuper"). </p>
- <li> <p> New queue files are created with names such as C3CD21F3E90
- from a hexadecimal alphabet that contains digits (0-9) and upper-case
- letters (A-F). The name format is: 5 characters for the time in
- microseconds; the remainder is the file inode number. </p>
- <li> <p> New messages have a Message-ID header with
- <i>YYYYMMDDHHMMSS.queueid</i>@<i><a href="postconf.5.html#myhostname">myhostname</a></i>, where
- <i>YYYYMMDDHHMMSS</i> are the year, month, day, hour, minute and
- second.
- <li> <p> The mailq (postqueue -p) output has the same format as
- with Postfix ≤ 2.8. <p>
- <li> <p> The <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> algorithm uses the first characters
- of the queue file name, with the hexadecimal representation of the
- file creation time in microseconds. </p>
- </ul>
- <p> Before migration to Postfix ≤ 2.8, the following commands
- are required to convert long queue file names into short names: </p>
- <pre>
- # postfix stop
- # postconf <a href="postconf.5.html#enable_long_queue_ids">enable_long_queue_ids</a>=no
- # postsuper
- </pre>
- <p> Repeat the postsuper command until it reports no more queue file
- name changes. </p>
- <p> This feature is available in Postfix 2.9 and later. </p>
- </DD>
- <DT><b><a name="enable_original_recipient">enable_original_recipient</a>
- (default: yes)</b></DT><DD>
- <p> Enable support for the X-Original-To message header. This header
- is needed for multi-recipient mailboxes. </p>
- <p> When this parameter is set to yes, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs
- duplicate elimination on distinct pairs of (original recipient,
- rewritten recipient), and generates non-empty original recipient
- queue file records. </p>
- <p> When this parameter is set to no, the <a href="cleanup.8.html">cleanup(8)</a> daemon performs
- duplicate elimination on the rewritten recipient address only, and
- generates empty original recipient queue file records. </p>
- <p> This feature is available in Postfix 2.1 and later. With Postfix
- version 2.0, support for the X-Original-To message header is always turned
- on. Postfix versions before 2.0 have no support for the X-Original-To
- message header. </p>
- </DD>
- <DT><b><a name="error_notice_recipient">error_notice_recipient</a>
- (default: postmaster)</b></DT><DD>
- <p> The recipient of postmaster notifications about mail delivery
- problems that are caused by policy, resource, software or protocol
- errors. These notifications are enabled with the <a href="postconf.5.html#notify_classes">notify_classes</a>
- parameter. </p>
- </DD>
- <DT><b><a name="error_service_name">error_service_name</a>
- (default: error)</b></DT><DD>
- <p>
- The name of the <a href="error.8.html">error(8)</a> pseudo delivery agent. This service always
- returns mail as undeliverable.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="execution_directory_expansion_filter">execution_directory_expansion_filter</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows
- in $name expansions of $<a href="postconf.5.html#command_execution_directory">command_execution_directory</a>. Characters
- outside the allowed set are replaced by underscores. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="expand_owner_alias">expand_owner_alias</a>
- (default: no)</b></DT><DD>
- <p>
- When delivering to an alias "aliasname" that has an "owner-aliasname"
- companion alias, set the envelope sender address to the expansion
- of the "owner-aliasname" alias. Normally, Postfix sets the envelope
- sender address to the name of the "owner-aliasname" alias.
- </p>
- </DD>
- <DT><b><a name="export_environment">export_environment</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The list of environment variables that a Postfix process will export
- to non-Postfix processes. The TZ variable is needed for sane
- time keeping on System-V-ish systems.
- </p>
- <p>
- Specify a list of names and/or name=value pairs, separated by
- whitespace or comma. Specify "{ name=value }" to protect whitespace
- or comma in parameter values (whitespace after "{" and before "}"
- is ignored). The form name=value is supported with Postfix version
- 2.1 and later; the use of {} is supported with Postfix 3.0 and
- later. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#export_environment">export_environment</a> = TZ PATH=/bin:/usr/bin
- </pre>
- </DD>
- <DT><b><a name="extract_recipient_limit">extract_recipient_limit</a>
- (default: 10240)</b></DT><DD>
- <p>
- The maximal number of recipient addresses that Postfix will extract
- from message headers when mail is submitted with "<b>sendmail -t</b>".
- </p>
- <p>
- This feature was removed in Postfix version 2.1.
- </p>
- </DD>
- <DT><b><a name="fallback_relay">fallback_relay</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional list of relay hosts for SMTP destinations that can't be
- found or that are unreachable. With Postfix 2.3 this parameter
- is renamed to <a href="postconf.5.html#smtp_fallback_relay">smtp_fallback_relay</a>. </p>
- <p>
- By default, mail is returned to the sender when a destination is
- not found, and delivery is deferred when a destination is unreachable.
- </p>
- <p> The fallback relays must be SMTP destinations. Specify a domain,
- host, host:port, [host]:port, [address] or [address]:port; the form
- [host] turns off MX lookups. If you specify multiple SMTP
- destinations, Postfix will try them in the specified order. </p>
- <p> Note: before Postfix 2.2, do not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
- when relaying mail
- for a backup or primary MX domain. Mail would loop between the
- Postfix MX host and the <a href="postconf.5.html#fallback_relay">fallback_relay</a> host when the final destination
- is unavailable. </p>
- <ul>
- <li> In <a href="postconf.5.html">main.cf</a> specify "<a href="postconf.5.html#relay_transport">relay_transport</a> = relay",
- <li> In <a href="master.5.html">master.cf</a> specify "-o <a href="postconf.5.html#fallback_relay">fallback_relay</a> =" (i.e., empty) at
- the end of the <tt>relay</tt> entry.
- <li> In transport maps, specify "relay:<i>nexthop...</i>"
- as the right-hand side for backup or primary MX domain entries.
- </ul>
- <p> Postfix version 2.2 and later will not use the <a href="postconf.5.html#fallback_relay">fallback_relay</a> feature
- for destinations that it is MX host for.
- </p>
- </DD>
- <DT><b><a name="fallback_transport">fallback_transport</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
- agent should use for names that are not found in the <a href="aliases.5.html">aliases(5)</a>
- or UNIX password database.
- </p>
- <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
- is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
- <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
- <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
- </DD>
- <DT><b><a name="fallback_transport_maps">fallback_transport_maps</a>
- (default: empty)</b></DT><DD>
- <p> Optional lookup tables with per-recipient message delivery
- transports for recipients that the <a href="local.8.html">local(8)</a> delivery agent could
- not find in the <a href="aliases.5.html">aliases(5)</a> or UNIX password database. </p>
- <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
- is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
- <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
- <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
- <p> For safety reasons, this feature does not allow $number
- substitutions in regular expression maps. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="fast_flush_domains">fast_flush_domains</a>
- (default: $<a href="postconf.5.html#relay_domains">relay_domains</a>)</b></DT><DD>
- <p>
- Optional list of destinations that are eligible for per-destination
- logfiles with mail that is queued to those destinations.
- </p>
- <p>
- By default, Postfix maintains "fast flush" logfiles only for
- destinations that the Postfix SMTP server is willing to relay to
- (i.e. the default is: "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> = $<a href="postconf.5.html#relay_domains">relay_domains</a>"; see
- the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter in the <a href="postconf.5.html">postconf(5)</a> manual).
- </p>
- <p> Specify a list of hosts or domains, "/file/name" patterns or
- "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
- Continue long lines by starting the next line with whitespace. A
- "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
- lookup table is matched when the domain or its parent domain appears
- as lookup key. </p>
- <p> Pattern matching of domain names is controlled by the presence
- or absence of "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
- parameter value. </p>
- <p>
- Specify "<a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a> =" (i.e., empty) to disable the feature
- altogether.
- </p>
- </DD>
- <DT><b><a name="fast_flush_purge_time">fast_flush_purge_time</a>
- (default: 7d)</b></DT><DD>
- <p>
- The time after which an empty per-destination "fast flush" logfile
- is deleted.
- </p>
- <p>
- You can specify the time as a number, or as a number followed by
- a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
- d=days, w=weeks. The default time unit is days.
- </p>
- </DD>
- <DT><b><a name="fast_flush_refresh_time">fast_flush_refresh_time</a>
- (default: 12h)</b></DT><DD>
- <p>
- The time after which a non-empty but unread per-destination "fast
- flush" logfile needs to be refreshed. The contents of a logfile
- are refreshed by requesting delivery of all messages listed in the
- logfile.
- </p>
- <p>
- You can specify the time as a number, or as a number followed by
- a letter that indicates the time unit: s=seconds, m=minutes, h=hours,
- d=days, w=weeks. The default time unit is hours.
- </p>
- </DD>
- <DT><b><a name="fault_injection_code">fault_injection_code</a>
- (default: 0)</b></DT><DD>
- <p>
- Force specific internal tests to fail, to test the handling of
- errors that are difficult to reproduce otherwise.
- </p>
- </DD>
- <DT><b><a name="flush_service_name">flush_service_name</a>
- (default: flush)</b></DT><DD>
- <p>
- The name of the <a href="flush.8.html">flush(8)</a> service. This service maintains per-destination
- logfiles with the queue file names of mail that is queued for those
- destinations.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="fork_attempts">fork_attempts</a>
- (default: 5)</b></DT><DD>
- <p> The maximal number of attempts to fork() a child process. </p>
- </DD>
- <DT><b><a name="fork_delay">fork_delay</a>
- (default: 1s)</b></DT><DD>
- <p> The delay between attempts to fork() a child process. </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). The default time unit is s (seconds). </p>
- </DD>
- <DT><b><a name="forward_expansion_filter">forward_expansion_filter</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- Restrict the characters that the <a href="local.8.html">local(8)</a> delivery agent allows in
- $name expansions of $<a href="postconf.5.html#forward_path">forward_path</a>. Characters outside the
- allowed set are replaced by underscores.
- </p>
- </DD>
- <DT><b><a name="forward_path">forward_path</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The <a href="local.8.html">local(8)</a> delivery agent search list for finding a .forward
- file with user-specified delivery methods. The first file that is
- found is used. </p>
- <p> The following $name expansions are done on <a href="postconf.5.html#forward_path">forward_path</a> before
- the search actually happens. The result of $name expansion is
- filtered with the character set that is specified with the
- <a href="postconf.5.html#forward_expansion_filter">forward_expansion_filter</a> parameter. </p>
- <dl>
- <dt><b>$user</b></dt>
- <dd>The recipient's username. </dd>
- <dt><b>$shell</b></dt>
- <dd>The recipient's login shell pathname. </dd>
- <dt><b>$home</b></dt>
- <dd>The recipient's home directory. </dd>
- <dt><b>$recipient</b></dt>
- <dd>The full recipient address. </dd>
- <dt><b>$extension</b></dt>
- <dd>The optional recipient address extension. </dd>
- <dt><b>$domain</b></dt>
- <dd>The recipient domain. </dd>
- <dt><b>$local</b></dt>
- <dd>The entire recipient localpart. </dd>
- <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
- <dd>The address extension delimiter that was found in the recipient
- address (Postfix 2.11 and later), or the system-wide recipient
- address extension delimiter (Postfix 2.10 and earlier). </dd>
- <dt><b>${name?value}</b></dt>
- <dd>Expands to <i>value</i> when <i>$name</i> is non-empty. </dd>
- <dt><b>${name:value}</b></dt>
- <dd>Expands to <i>value</i> when <i>$name</i> is empty. </dd>
- </dl>
- <p>
- Instead of $name you can also specify ${name} or $(name).
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#forward_path">forward_path</a> = /var/forward/$user
- <a href="postconf.5.html#forward_path">forward_path</a> =
- /var/forward/$user/.forward$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>$extension,
- /var/forward/$user/.forward
- </pre>
- </DD>
- <DT><b><a name="frozen_delivered_to">frozen_delivered_to</a>
- (default: yes)</b></DT><DD>
- <p> Update the <a href="local.8.html">local(8)</a> delivery agent's idea of the Delivered-To:
- address (see <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a>) only once, at the start of
- a delivery attempt; do not update the Delivered-To: address while
- expanding aliases or .forward files. </p>
- <p> This feature is available in Postfix 2.3 and later. With older
- Postfix releases, the behavior is as if this parameter is set to
- "no". The old setting can be expensive with deeply nested aliases
- or .forward files. When an alias or .forward file changes the
- Delivered-To: address, it ties up one queue file and one cleanup
- process instance while mail is being forwarded. </p>
- </DD>
- <DT><b><a name="hash_queue_depth">hash_queue_depth</a>
- (default: 1)</b></DT><DD>
- <p>
- The number of subdirectory levels for queue directories listed with
- the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> parameter. Queue hashing is implemented by
- creating one or more levels of directories with one-character names.
- Originally, these directory names were equal to the first characters
- of the queue file name, with the hexadecimal representation of the
- file creation time in microseconds. </p>
- <p> With long queue file names, queue hashing produces the same
- results as with short names. The file creation time in microseconds
- is converted into hexadecimal form before the result is used for
- queue hashing. The base 16 encoding gives finer control over the
- number of subdirectories than is possible with the base 52 encoding
- of long queue file names. </p>
- <p>
- After changing the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> or <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> parameter,
- execute the command "<b>postfix reload</b>".
- </p>
- </DD>
- <DT><b><a name="hash_queue_names">hash_queue_names</a>
- (default: deferred, defer)</b></DT><DD>
- <p>
- The names of queue directories that are split across multiple
- subdirectory levels.
- </p>
- <p> Before Postfix version 2.2, the default list of hashed queues
- was significantly larger. Claims about improvements in file system
- technology suggest that hashing of the <a href="QSHAPE_README.html#incoming_queue">incoming</a> and <a href="QSHAPE_README.html#active_queue">active queues</a>
- is no longer needed. Fewer hashed directories speed up the time
- needed to restart Postfix. </p>
- <p>
- After changing the <a href="postconf.5.html#hash_queue_names">hash_queue_names</a> or <a href="postconf.5.html#hash_queue_depth">hash_queue_depth</a> parameter,
- execute the command "<b>postfix reload</b>".
- </p>
- </DD>
- <DT><b><a name="header_address_token_limit">header_address_token_limit</a>
- (default: 10240)</b></DT><DD>
- <p>
- The maximal number of address tokens are allowed in an address
- message header. Information that exceeds the limit is discarded.
- The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
- </p>
- </DD>
- <DT><b><a name="header_checks">header_checks</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional lookup tables for content inspection of primary non-MIME
- message headers, as specified in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
- </p>
- </DD>
- <DT><b><a name="header_size_limit">header_size_limit</a>
- (default: 102400)</b></DT><DD>
- <p>
- The maximal amount of memory in bytes for storing a message header.
- If a header is larger, the excess is discarded. The limit is
- enforced by the <a href="cleanup.8.html">cleanup(8)</a> server.
- </p>
- </DD>
- <DT><b><a name="helpful_warnings">helpful_warnings</a>
- (default: yes)</b></DT><DD>
- <p>
- Log warnings about problematic configuration settings, and provide
- helpful suggestions.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="home_mailbox">home_mailbox</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional pathname of a mailbox file relative to a <a href="local.8.html">local(8)</a> user's
- home directory.
- </p>
- <p>
- Specify a pathname ending in "/" for qmail-style delivery.
- </p>
- <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
- is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
- <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
- <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#home_mailbox">home_mailbox</a> = Mailbox
- <a href="postconf.5.html#home_mailbox">home_mailbox</a> = Maildir/
- </pre>
- </DD>
- <DT><b><a name="hopcount_limit">hopcount_limit</a>
- (default: 50)</b></DT><DD>
- <p>
- The maximal number of Received: message headers that is allowed
- in the primary message headers. A message that exceeds the limit
- is bounced, in order to stop a mailer loop.
- </p>
- </DD>
- <DT><b><a name="html_directory">html_directory</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The location of Postfix HTML files that describe how to build,
- configure or operate a specific Postfix subsystem or feature.
- </p>
- </DD>
- <DT><b><a name="ignore_mx_lookup_error">ignore_mx_lookup_error</a>
- (default: no)</b></DT><DD>
- <p> Ignore DNS MX lookups that produce no response. By default,
- the Postfix SMTP client defers delivery and tries again after some
- delay. This behavior is required by the SMTP standard. </p>
- <p>
- Specify "<a href="postconf.5.html#ignore_mx_lookup_error">ignore_mx_lookup_error</a> = yes" to force a DNS A record
- lookup instead. This violates the SMTP standard and can result in
- mis-delivery of mail.
- </p>
- </DD>
- <DT><b><a name="import_environment">import_environment</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The list of environment parameters that a privileged Postfix
- process will import from a non-Postfix parent process, or name=value
- environment overrides. Unprivileged utilities will enforce the
- name=value overrides, but otherwise will not change their process
- environment. Examples of relevant parameters: </p>
- <dl>
- <dt><b>TZ</b></dt>
- <dd>May be needed for sane time keeping on most System-V-ish systems.
- </dd>
- <dt><b>DISPLAY</b></dt>
- <dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
- <dt><b>XAUTHORITY</b></dt>
- <dd>Needed for debugging Postfix daemons with an X-windows debugger. </dd>
- <dt><b>MAIL_CONFIG</b></dt>
- <dd>Needed to make "<b>postfix -c</b>" work. </dd>
- </dl>
- <p> Specify a list of names and/or name=value pairs, separated by
- whitespace or comma. Specify "{ name=value }" to protect whitespace
- or comma in parameter values (whitespace after "{" and before "}"
- is ignored). The form name=value is supported with Postfix version
- 2.1 and later; the use of {} is supported with Postfix 3.0 and
- later. </p>
- </DD>
- <DT><b><a name="in_flow_delay">in_flow_delay</a>
- (default: 1s)</b></DT><DD>
- <p> Time to pause before accepting a new message, when the message
- arrival rate exceeds the message delivery rate. This feature is
- turned on by default (it's disabled on SCO UNIX due to an SCO bug).
- </p>
- <p>
- With the default 100 Postfix SMTP server process limit, "<a href="postconf.5.html#in_flow_delay">in_flow_delay</a>
- = 1s" limits the mail inflow to 100 messages per second above the
- number of messages delivered per second.
- </p>
- <p>
- Specify 0 to disable the feature. Valid delays are 0..10.
- </p>
- </DD>
- <DT><b><a name="inet_interfaces">inet_interfaces</a>
- (default: all)</b></DT><DD>
- <p> The network interface addresses that this mail system receives
- mail on. Specify "all" to receive mail on all network
- interfaces (default), and "loopback-only" to receive mail
- on loopback network interfaces only (Postfix version 2.2 and later). The
- parameter also controls delivery of mail to <tt>user@[ip.address]</tt>.
- </p>
- <p>
- Note 1: you need to stop and start Postfix when this parameter changes.
- </p>
- <p> Note 2: address information may be enclosed inside <tt>[]</tt>,
- but this form is not required here. </p>
- <p> When <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies just one IPv4 and/or IPv6 address
- that is not a loopback address, the Postfix SMTP client will use
- this address as the IP source address for outbound mail. Support
- for IPv6 is available in Postfix version 2.2 and later. </p>
- <p>
- On a multi-homed firewall with separate Postfix instances listening on the
- "inside" and "outside" interfaces, this can prevent each instance from
- being able to reach remote SMTP servers on the "other side" of the
- firewall. Setting
- <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> to 0.0.0.0 avoids the potential problem for
- IPv4, and setting <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> to :: solves the problem
- for IPv6. </p>
- <p>
- A better solution for multi-homed firewalls is to leave <a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
- at the default value and instead use explicit IP addresses in
- the <a href="master.5.html">master.cf</a> SMTP server definitions. This preserves the Postfix
- SMTP client's
- loop detection, by ensuring that each side of the firewall knows that the
- other IP address is still the same host. Setting $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> to a
- single IPv4 and/or IPV6 address is primarily useful with virtual
- hosting of domains on
- secondary IP addresses, when each IP address serves a different domain
- (and has a different $<a href="postconf.5.html#myhostname">myhostname</a> setting). </p>
- <p>
- See also the <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> parameter, for network addresses that
- are forwarded to Postfix by way of a proxy or address translator.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = all (DEFAULT)
- <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = loopback-only (Postfix version 2.2 and later)
- <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1
- <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 127.0.0.1, [::1] (Postfix version 2.2 and later)
- <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> = 192.168.1.2, 127.0.0.1
- </pre>
- </DD>
- <DT><b><a name="inet_protocols">inet_protocols</a>
- (default: all)</b></DT><DD>
- <p> The Internet protocols Postfix will attempt to use when making
- or accepting connections. Specify one or more of "ipv4"
- or "ipv6", separated by whitespace or commas. The form
- "all" is equivalent to "ipv4, ipv6" or "ipv4", depending
- on whether the operating system implements IPv6. </p>
- <p> With Postfix 2.8 and earlier the default is "ipv4". For backwards
- compatibility with these releases, the Postfix 2.9 and later upgrade
- procedure appends an explicit "<a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4" setting to
- <a href="postconf.5.html">main.cf</a> when no explicit setting is present. This compatibility
- workaround will be phased out as IPv6 deployment becomes more common.
- </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- <p> Note: you MUST stop and start Postfix after changing this
- parameter. </p>
- <p> On systems that pre-date IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>), an
- IPv6 server will also accept IPv4 connections, even when IPv4 is
- turned off with the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter. On systems with
- IPV6_V6ONLY support, Postfix will use separate server sockets for
- IPv6 and IPv4, and each will accept only connections for the
- corresponding protocol. </p>
- <p> When IPv4 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
- Postfix will look up DNS type A records, and will convert
- IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original
- IPv4 form (1.2.3.4). The latter is needed on hosts that pre-date
- IPV6_V6ONLY support (<a href="http://tools.ietf.org/html/rfc3493">RFC 3493</a>). </p>
- <p> When IPv6 support is enabled via the <a href="postconf.5.html#inet_protocols">inet_protocols</a> parameter,
- Postfix will do DNS type AAAA record lookups. </p>
- <p> When both IPv4 and IPv6 support are enabled, the Postfix SMTP
- client will choose the protocol as specified with the
- <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> parameter. Postfix versions before 2.8
- attempt to connect via IPv6 before attempting to use IPv4. </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4
- <a href="postconf.5.html#inet_protocols">inet_protocols</a> = all (DEFAULT)
- <a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv6
- <a href="postconf.5.html#inet_protocols">inet_protocols</a> = ipv4, ipv6
- </pre>
- </DD>
- <DT><b><a name="initial_destination_concurrency">initial_destination_concurrency</a>
- (default: 5)</b></DT><DD>
- <p>
- The initial per-destination concurrency level for parallel delivery
- to the same destination.
- With per-destination recipient limit > 1, a destination is a domain,
- otherwise it is a recipient.
- </p>
- <p> Use <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a> to specify
- a transport-specific override, where <i>transport</i> is the <a href="master.5.html">master.cf</a>
- name of the message delivery transport (Postfix 2.5 and later). </p>
- <p>
- Warning: with concurrency of 1, one bad message can be enough to
- block all mail to a site.
- </p>
- </DD>
- <DT><b><a name="internal_mail_filter_classes">internal_mail_filter_classes</a>
- (default: empty)</b></DT><DD>
- <p> What categories of Postfix-generated mail are subject to
- before-queue content inspection by <a href="postconf.5.html#non_smtpd_milters">non_smtpd_milters</a>, <a href="postconf.5.html#header_checks">header_checks</a>
- and <a href="postconf.5.html#body_checks">body_checks</a>. Specify zero or more of the following, separated
- by whitespace or comma. </p>
- <dl>
- <dt><b>bounce</b></dt> <dd> Inspect the content of delivery
- status notifications. </dd>
- <dt><b>notify</b></dt> <dd> Inspect the content of postmaster
- notifications by the <a href="smtp.8.html">smtp(8)</a> and <a href="smtpd.8.html">smtpd(8)</a> processes. </dd>
- </dl>
- <p> NOTE: It's generally not safe to enable content inspection of
- Postfix-generated email messages. The user is warned. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="invalid_hostname_reject_code">invalid_hostname_reject_code</a>
- (default: 501)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when the client
- HELO or EHLO command parameter is rejected by the <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
- restriction.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- </DD>
- <DT><b><a name="ipc_idle">ipc_idle</a>
- (default: version dependent)</b></DT><DD>
- <p>
- The time after which a client closes an idle internal communication
- channel. The purpose is to allow Postfix daemon processes to
- terminate voluntarily after they become idle. This is used, for
- example, by the Postfix address resolving and rewriting clients.
- </p>
- <p> With Postfix 2.4 the default value was reduced from 100s to 5s. </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="ipc_timeout">ipc_timeout</a>
- (default: 3600s)</b></DT><DD>
- <p>
- The time limit for sending or receiving information over an internal
- communication channel. The purpose is to break out of deadlock
- situations. If the time limit is exceeded the software aborts with a
- fatal error.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="ipc_ttl">ipc_ttl</a>
- (default: 1000s)</b></DT><DD>
- <p>
- The time after which a client closes an active internal communication
- channel. The purpose is to allow Postfix daemon processes to
- terminate voluntarily
- after reaching their client limit. This is used, for example, by
- the Postfix address resolving and rewriting clients.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="line_length_limit">line_length_limit</a>
- (default: 2048)</b></DT><DD>
- <p> Upon input, long lines are chopped up into pieces of at most
- this length; upon delivery, long lines are reconstructed. </p>
- </DD>
- <DT><b><a name="lmdb_map_size">lmdb_map_size</a>
- (default: 16777216)</b></DT><DD>
- <p>
- The initial OpenLDAP LMDB database size limit in bytes. Each time
- a database becomes full, its size limit is doubled.
- </p>
- <p>
- This feature is available in Postfix 2.11 and later.
- </p>
- </DD>
- <DT><b><a name="lmtp_address_preference">lmtp_address_preference</a>
- (default: ipv6)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="lmtp_address_verify_target">lmtp_address_verify_target</a>
- (default: rcpt)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="lmtp_assume_final">lmtp_assume_final</a>
- (default: no)</b></DT><DD>
- <p> When a remote LMTP server announces no DSN support, assume that
- the
- server performs final delivery, and send "delivered" delivery status
- notifications instead of "relayed". The default setting is backwards
- compatible to avoid the infinitesimal possibility of breaking
- existing LMTP-based content filters. </p>
- </DD>
- <DT><b><a name="lmtp_bind_address">lmtp_bind_address</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_bind_address6">lmtp_bind_address6</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_body_checks">lmtp_body_checks</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_body_checks">smtp_body_checks</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="lmtp_cache_connection">lmtp_cache_connection</a>
- (default: yes)</b></DT><DD>
- <p>
- Keep Postfix LMTP client connections open for up to $<a href="postconf.5.html#max_idle">max_idle</a>
- seconds. When the LMTP client receives a request for the same
- connection the connection is reused.
- </p>
- <p> This parameter is available in Postfix version 2.2 and earlier.
- With Postfix version 2.3 and later, see <a href="postconf.5.html#lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>,
- <a href="postconf.5.html#lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>, or <a href="postconf.5.html#lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>.
- </p>
- <p>
- The effectiveness of cached connections will be determined by the
- number of remote LMTP servers in use, and the concurrency limit specified
- for the Postfix LMTP client. Cached connections are closed under any of
- the following conditions:
- </p>
- <ul>
- <li> The Postfix LMTP client idle time limit is reached. This limit is
- specified with the Postfix <a href="postconf.5.html#max_idle">max_idle</a> configuration parameter.
- <li> A delivery request specifies a different destination than the
- one currently cached.
- <li> The per-process limit on the number of delivery requests is
- reached. This limit is specified with the Postfix <a href="postconf.5.html#max_use">max_use</a>
- configuration parameter.
- <li> Upon the onset of another delivery request, the remote LMTP server
- associated with the current session does not respond to the RSET
- command.
- </ul>
- <p>
- Most of these limitations have been with the Postfix
- a connection cache that is shared among multiple LMTP client
- programs.
- </p>
- </DD>
- <DT><b><a name="lmtp_cname_overrides_servername">lmtp_cname_overrides_servername</a>
- (default: yes)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_connect_timeout">lmtp_connect_timeout</a>
- (default: 0s)</b></DT><DD>
- <p> The Postfix LMTP client time limit for completing a TCP connection, or
- zero (use the operating system built-in time limit). When no
- connection can be made within the deadline, the LMTP client tries
- the next address on the mail exchanger list. </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#lmtp_connect_timeout">lmtp_connect_timeout</a> = 30s
- </pre>
- </DD>
- <DT><b><a name="lmtp_connection_cache_destinations">lmtp_connection_cache_destinations</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_connection_cache_on_demand">lmtp_connection_cache_on_demand</a>
- (default: yes)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_connection_cache_time_limit">lmtp_connection_cache_time_limit</a>
- (default: 2s)</b></DT><DD>
- <p> The LMTP-specific version of the
- <a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> configuration parameter.
- See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_connection_reuse_count_limit">lmtp_connection_reuse_count_limit</a>
- (default: 0)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="lmtp_connection_reuse_time_limit">lmtp_connection_reuse_time_limit</a>
- (default: 300s)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_data_done_timeout">lmtp_data_done_timeout</a>
- (default: 600s)</b></DT><DD>
- <p> The Postfix LMTP client time limit for sending the LMTP ".",
- and for receiving the remote LMTP server response. When no response
- is received within the deadline, a warning is logged that the mail
- may be delivered multiple times. </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="lmtp_data_init_timeout">lmtp_data_init_timeout</a>
- (default: 120s)</b></DT><DD>
- <p>
- The Postfix LMTP client time limit for sending the LMTP DATA command,
- and
- for receiving the remote LMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
- (default: 180s)</b></DT><DD>
- <p>
- The Postfix LMTP client time limit for sending the LMTP message
- content.
- When the connection stalls for more than $<a href="postconf.5.html#lmtp_data_xfer_timeout">lmtp_data_xfer_timeout</a>
- the LMTP client terminates the transfer.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="lmtp_defer_if_no_mx_address_found">lmtp_defer_if_no_mx_address_found</a>
- (default: no)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_delivery_status_filter">lmtp_delivery_status_filter</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_delivery_status_filter">smtp_delivery_status_filter</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a>
- (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
- <p> The maximal number of parallel deliveries to the same destination
- via the lmtp message delivery transport. This limit is enforced by
- the queue manager. The message delivery transport name is the first
- field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
- </DD>
- <DT><b><a name="lmtp_destination_recipient_limit">lmtp_destination_recipient_limit</a>
- (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
- <p> The maximal number of recipients per message for the lmtp
- message delivery transport. This limit is enforced by the queue
- manager. The message delivery transport name is the first field in
- the entry in the <a href="master.5.html">master.cf</a> file. </p>
- <p> Setting this parameter to a value of 1 changes the meaning of
- <a href="postconf.5.html#lmtp_destination_concurrency_limit">lmtp_destination_concurrency_limit</a> from concurrency per domain into
- concurrency per recipient. </p>
- </DD>
- <DT><b><a name="lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a>
- (default: empty)</b></DT><DD>
- <p> Lookup tables, indexed by the remote LMTP server address, with
- case insensitive lists of LHLO keywords (pipelining, starttls,
- auth, etc.) that the Postfix LMTP client will ignore in the LHLO
- response
- from a remote LMTP server. See <a href="postconf.5.html#lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a> for
- details. The table is not indexed by hostname for consistency with
- <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_discard_lhlo_keywords">lmtp_discard_lhlo_keywords</a>
- (default: empty)</b></DT><DD>
- <p> A case insensitive list of LHLO keywords (pipelining, starttls,
- auth, etc.) that the Postfix LMTP client will ignore in the LHLO
- response
- from a remote LMTP server. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- <p> Notes: </p>
- <ul>
- <li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
- this action from being logged. </p>
- <li> <p> Use the <a href="postconf.5.html#lmtp_discard_lhlo_keyword_address_maps">lmtp_discard_lhlo_keyword_address_maps</a> feature to
- discard LHLO keywords selectively. </p>
- </ul>
- </DD>
- <DT><b><a name="lmtp_dns_reply_filter">lmtp_dns_reply_filter</a>
- (default: empty)</b></DT><DD>
- <p> Optional filter for Postfix LMTP client DNS lookup results.
- See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="lmtp_dns_resolver_options">lmtp_dns_resolver_options</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_resolver_options">smtp_dns_resolver_options</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="lmtp_dns_support_level">lmtp_dns_support_level</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="lmtp_enforce_tls">lmtp_enforce_tls</a>
- (default: no)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_fallback_relay">lmtp_fallback_relay</a>
- (default: empty)</b></DT><DD>
- <p> Optional list of relay hosts for LMTP destinations that can't be
- found or that are unreachable. In <a href="postconf.5.html">main.cf</a> elements are separated by
- whitespace or commas. </p>
- <p> By default, mail is returned to the sender when a destination is not
- found, and delivery is deferred when a destination is unreachable. </p>
- <p> The fallback relays must be TCP destinations, specified without
- a leading "inet:" prefix. Specify a host or host:port. Since MX
- lookups do not apply with LMTP, there is no need to use the "[host]" or
- "[host]:port" forms. If you specify multiple LMTP destinations, Postfix
- will try them in the specified order. </p>
- <p>
- This feature is available in Postfix 3.1 and later.
- </p>
- </DD>
- <DT><b><a name="lmtp_generic_maps">lmtp_generic_maps</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_generic_maps">smtp_generic_maps</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_header_checks">lmtp_header_checks</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_header_checks">smtp_header_checks</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="lmtp_host_lookup">lmtp_host_lookup</a>
- (default: dns)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_lhlo_name">lmtp_lhlo_name</a>
- (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
- <p>
- The hostname to send in the LMTP LHLO command.
- </p>
- <p>
- The default value is the machine hostname. Specify a hostname or
- [ip.add.re.ss].
- </p>
- <p>
- This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all LMTP
- clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
- client, for example:
- </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="master.5.html">master.cf</a>:
- mylmtp ... lmtp -o <a href="postconf.5.html#lmtp_lhlo_name">lmtp_lhlo_name</a>=foo.bar.com
- </pre>
- </blockquote>
- <p>
- This feature is available in Postfix 2.3 and later.
- </p>
- </DD>
- <DT><b><a name="lmtp_lhlo_timeout">lmtp_lhlo_timeout</a>
- (default: 300s)</b></DT><DD>
- <p> The Postfix LMTP client time limit for sending the LHLO command,
- and for receiving the initial remote LMTP server response. </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). The default time unit is s (seconds). </p>
- </DD>
- <DT><b><a name="lmtp_line_length_limit">lmtp_line_length_limit</a>
- (default: 990)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_line_length_limit">smtp_line_length_limit</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_mail_timeout">lmtp_mail_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The Postfix LMTP client time limit for sending the MAIL FROM command,
- and for receiving the remote LMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="lmtp_mime_header_checks">lmtp_mime_header_checks</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mime_header_checks">smtp_mime_header_checks</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="lmtp_mx_address_limit">lmtp_mx_address_limit</a>
- (default: 5)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_address_limit">smtp_mx_address_limit</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_mx_session_limit">lmtp_mx_session_limit</a>
- (default: 2)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_mx_session_limit">smtp_mx_session_limit</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_nested_header_checks">lmtp_nested_header_checks</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_nested_header_checks">smtp_nested_header_checks</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="lmtp_per_record_deadline">lmtp_per_record_deadline</a>
- (default: no)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_per_record_deadline">smtp_per_record_deadline</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.9 and later. </p>
- </DD>
- <DT><b><a name="lmtp_pix_workaround_delay_time">lmtp_pix_workaround_delay_time</a>
- (default: 10s)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_pix_workaround_maps">lmtp_pix_workaround_maps</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.4 and later. </p>
- </DD>
- <DT><b><a name="lmtp_pix_workaround_threshold_time">lmtp_pix_workaround_threshold_time</a>
- (default: 500s)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_pix_workarounds">lmtp_pix_workarounds</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the smtp_pix_workaround
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.4 and later. </p>
- </DD>
- <DT><b><a name="lmtp_quit_timeout">lmtp_quit_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The Postfix LMTP client time limit for sending the QUIT command,
- and for receiving the remote LMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="lmtp_quote_rfc821_envelope">lmtp_quote_rfc821_envelope</a>
- (default: yes)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_randomize_addresses">lmtp_randomize_addresses</a>
- (default: yes)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_randomize_addresses">smtp_randomize_addresses</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_rcpt_timeout">lmtp_rcpt_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The Postfix LMTP client time limit for sending the RCPT TO command,
- and for receiving the remote LMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="lmtp_reply_filter">lmtp_reply_filter</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.7 and later. </p>
- </DD>
- <DT><b><a name="lmtp_rset_timeout">lmtp_rset_timeout</a>
- (default: 20s)</b></DT><DD>
- <p> The Postfix LMTP client time limit for sending the RSET command,
- and for receiving the remote LMTP server response. The LMTP client
- sends RSET in
- order to finish a recipient address probe, or to verify that a
- cached connection is still alive. </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="lmtp_sasl_auth_cache_name">lmtp_sasl_auth_cache_name</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="lmtp_sasl_auth_cache_time">lmtp_sasl_auth_cache_time</a>
- (default: 90d)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="lmtp_sasl_auth_enable">lmtp_sasl_auth_enable</a>
- (default: no)</b></DT><DD>
- <p>
- Enable SASL authentication in the Postfix LMTP client.
- </p>
- </DD>
- <DT><b><a name="lmtp_sasl_auth_soft_bounce">lmtp_sasl_auth_soft_bounce</a>
- (default: yes)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="lmtp_sasl_mechanism_filter">lmtp_sasl_mechanism_filter</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_sasl_password_maps">lmtp_sasl_password_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional Postfix LMTP client lookup tables with one username:password entry
- per host or domain. If a remote host or domain has no username:password
- entry, then the Postfix LMTP client will not attempt to authenticate
- to the remote host.
- </p>
- </DD>
- <DT><b><a name="lmtp_sasl_path">lmtp_sasl_path</a>
- (default: empty)</b></DT><DD>
- <p> Implementation-specific information that is passed through to
- the SASL plug-in implementation that is selected with
- <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>. Typically this specifies the name of a
- configuration file or rendezvous point. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_sasl_security_options">lmtp_sasl_security_options</a>
- (default: noplaintext, noanonymous)</b></DT><DD>
- <p> SASL security options; as of Postfix 2.3 the list of available
- features depends on the SASL client implementation that is selected
- with <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b>. </p>
- <p> The following security features are defined for the <b>cyrus</b>
- client SASL implementation: </p>
- <dl>
- <dt><b>noplaintext</b></dt>
- <dd>Disallow authentication methods that use plaintext passwords. </dd>
- <dt><b>noactive</b></dt>
- <dd>Disallow authentication methods that are vulnerable to non-dictionary
- active attacks. </dd>
- <dt><b>nodictionary</b></dt>
- <dd>Disallow authentication methods that are vulnerable to passive
- dictionary attack. </dd>
- <dt><b>noanonymous</b></dt>
- <dd>Disallow anonymous logins. </dd>
- </dl>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a> = noplaintext
- </pre>
- </DD>
- <DT><b><a name="lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>
- (default: $<a href="postconf.5.html#lmtp_sasl_security_options">lmtp_sasl_security_options</a>)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_sasl_tls_verified_security_options">lmtp_sasl_tls_verified_security_options</a>
- (default: $<a href="postconf.5.html#lmtp_sasl_tls_security_options">lmtp_sasl_tls_security_options</a>)</b></DT><DD>
- <p> The LMTP-specific version of the
- <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> configuration parameter.
- See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_sasl_type">lmtp_sasl_type</a>
- (default: cyrus)</b></DT><DD>
- <p> The SASL plug-in type that the Postfix LMTP client should use
- for authentication. The available types are listed with the
- "<b>postconf -A</b>" command. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_send_dummy_mail_auth">lmtp_send_dummy_mail_auth</a>
- (default: no)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.9 and later. </p>
- </DD>
- <DT><b><a name="lmtp_send_xforward_command">lmtp_send_xforward_command</a>
- (default: no)</b></DT><DD>
- <p>
- Send an XFORWARD command to the remote LMTP server when the LMTP LHLO
- server response announces XFORWARD support. This allows an <a href="lmtp.8.html">lmtp(8)</a>
- delivery agent, used for content filter message injection, to
- forward the name, address, protocol and HELO name of the original
- client to the content filter and downstream queuing LMTP server.
- Before you change the value to yes, it is best to make sure that
- your content filter supports this command.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="lmtp_sender_dependent_authentication">lmtp_sender_dependent_authentication</a>
- (default: no)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_skip_5xx_greeting">lmtp_skip_5xx_greeting</a>
- (default: yes)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_skip_quit_response">lmtp_skip_quit_response</a>
- (default: no)</b></DT><DD>
- <p>
- Wait for the response to the LMTP QUIT command.
- </p>
- </DD>
- <DT><b><a name="lmtp_starttls_timeout">lmtp_starttls_timeout</a>
- (default: 300s)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_starttls_timeout">smtp_starttls_timeout</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tcp_port">lmtp_tcp_port</a>
- (default: 24)</b></DT><DD>
- <p>
- The default TCP port that the Postfix LMTP client connects to.
- Specify a symbolic name (see services(5)) or a numeric port.
- </p>
- </DD>
- <DT><b><a name="lmtp_tls_CAfile">lmtp_tls_CAfile</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_CApath">lmtp_tls_CApath</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_block_early_mail_reply">lmtp_tls_block_early_mail_reply</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.7 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_cert_file">lmtp_tls_cert_file</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_ciphers">lmtp_tls_ciphers</a>
- (default: medium)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_dkey_file">lmtp_tls_dkey_file</a>
- (default: $<a href="postconf.5.html#lmtp_tls_dcert_file">lmtp_tls_dcert_file</a>)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_eccert_file">lmtp_tls_eccert_file</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.6 and later, when Postfix is
- compiled and linked with OpenSSL 1.0.0 or later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_eckey_file">lmtp_tls_eckey_file</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.6 and later, when Postfix is
- compiled and linked with OpenSSL 1.0.0 or later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_enforce_peername">lmtp_tls_enforce_peername</a>
- (default: yes)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_exclude_ciphers">lmtp_tls_exclude_ciphers</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_fingerprint_cert_match">lmtp_tls_fingerprint_cert_match</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a>
- (default: md5)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_force_insecure_host_tlsa_lookup">lmtp_tls_force_insecure_host_tlsa_lookup</a>
- (default: no)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_key_file">lmtp_tls_key_file</a>
- (default: $<a href="postconf.5.html#lmtp_tls_cert_file">lmtp_tls_cert_file</a>)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_loglevel">lmtp_tls_loglevel</a>
- (default: 0)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>
- (default: medium)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_mandatory_exclude_ciphers">lmtp_tls_mandatory_exclude_ciphers</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_mandatory_protocols">lmtp_tls_mandatory_protocols</a>
- (default: !SSLv2, !SSLv3)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_note_starttls_offer">lmtp_tls_note_starttls_offer</a>
- (default: no)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_per_site">lmtp_tls_per_site</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_policy_maps">lmtp_tls_policy_maps</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_protocols">lmtp_tls_protocols</a>
- (default: !SSLv2, !SSLv3)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_scert_verifydepth">lmtp_tls_scert_verifydepth</a>
- (default: 9)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_secure_cert_match">lmtp_tls_secure_cert_match</a>
- (default: nexthop)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_security_level">lmtp_tls_security_level</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_session_cache_timeout">lmtp_tls_session_cache_timeout</a>
- (default: 3600s)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_trust_anchor_file">lmtp_tls_trust_anchor_file</a>
- (default: empty)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="lmtp_tls_verify_cert_match">lmtp_tls_verify_cert_match</a>
- (default: hostname)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
- configuration parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_use_tls">lmtp_use_tls</a>
- (default: no)</b></DT><DD>
- <p> The LMTP-specific version of the <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a> configuration
- parameter. See there for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="lmtp_xforward_timeout">lmtp_xforward_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The Postfix LMTP client time limit for sending the XFORWARD command,
- and for receiving the remote LMTP server response.
- </p>
- <p>
- In case of problems the client does NOT try the next address on
- the mail exchanger list.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="local_command_shell">local_command_shell</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional shell program for <a href="local.8.html">local(8)</a> delivery to non-Postfix command.
- By default, non-Postfix commands are executed directly; commands
- are given to given to the default shell (typically, /bin/sh) only
- when they contain shell meta characters or shell built-in commands.
- </p>
- <p> "sendmail's restricted shell" (smrsh) is what most people will
- use in order to restrict what programs can be run from e.g. .forward
- files (smrsh is part of the Sendmail distribution). </p>
- <p> Note: when a shell program is specified, it is invoked even
- when the command contains no shell built-in commands or meta
- characters. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#local_command_shell">local_command_shell</a> = /some/where/smrsh -c
- <a href="postconf.5.html#local_command_shell">local_command_shell</a> = /bin/bash -c
- </pre>
- </DD>
- <DT><b><a name="local_delivery_status_filter">local_delivery_status_filter</a>
- (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
- <p> Optional filter for the <a href="local.8.html">local(8)</a> delivery agent to change the
- status code or explanatory text of successful or unsuccessful
- deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="local_destination_concurrency_limit">local_destination_concurrency_limit</a>
- (default: 2)</b></DT><DD>
- <p> The maximal number of parallel deliveries via the local mail
- delivery transport to the same recipient (when
- "<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> = 1") or the maximal number of
- parallel deliveries to the same <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> (when
- "<a href="postconf.5.html#local_destination_recipient_limit">local_destination_recipient_limit</a> > 1"). This limit is enforced by
- the queue manager. The message delivery transport name is the first
- field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
- <p> A low limit of 2 is recommended, just in case someone has an
- expensive shell command in a .forward file or in an alias (e.g.,
- a mailing list manager). You don't want to run lots of those at
- the same time. </p>
- </DD>
- <DT><b><a name="local_destination_recipient_limit">local_destination_recipient_limit</a>
- (default: 1)</b></DT><DD>
- <p> The maximal number of recipients per message delivery via the
- local mail delivery transport. This limit is enforced by the queue
- manager. The message delivery transport name is the first field in
- the entry in the <a href="master.5.html">master.cf</a> file. </p>
- <p> Setting this parameter to a value > 1 changes the meaning of
- <a href="postconf.5.html#local_destination_concurrency_limit">local_destination_concurrency_limit</a> from concurrency per recipient
- into concurrency per domain. </p>
- </DD>
- <DT><b><a name="local_header_rewrite_clients">local_header_rewrite_clients</a>
- (default: <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>)</b></DT><DD>
- <p> Rewrite message header addresses in mail from these clients and
- update incomplete addresses with the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or
- $<a href="postconf.5.html#mydomain">mydomain</a>; either don't rewrite message headers from other clients
- at all, or rewrite message headers and update incomplete addresses
- with the domain specified in the <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a>
- parameter. </p>
- <p> See the <a href="postconf.5.html#append_at_myorigin">append_at_myorigin</a> and <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a> parameters
- for details of how domain names are appended to incomplete addresses.
- </p>
- <p> Specify a list of zero or more of the following: </p>
- <dl>
- <dt><b><a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
- <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
- client IP address matches $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. This is enabled by
- default. </dd>
- <dt><b><a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a></b></dt>
- <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
- client IP address matches any network or network address listed in
- $<a href="postconf.5.html#mynetworks">mynetworks</a>. This setting will not prevent remote mail header
- address rewriting when mail from a remote client is forwarded by
- a neighboring system. </dd>
- <dt><b><a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> </b></dt>
- <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
- client is successfully authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH)
- protocol. </dd>
- <dt><b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> </b></dt>
- <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
- remote SMTP client TLS certificate fingerprint or public key fingerprint
- (Postfix 2.9 and later) is listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
- The fingerprint digest algorithm is configurable via the
- <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
- Postfix version 2.5). </dd>
- <dt><b><a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a> </b></dt>
- <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
- remote SMTP client TLS certificate is successfully verified, regardless of
- whether it is listed on the server, and regardless of the certifying
- authority. </dd>
- <dt><b><a name="check_address_map">check_address_map</a> <i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
- <dt><b><i><a href="DATABASE_README.html">type:table</a></i> </b></dt>
- <dd> Append the domain name in $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> when the
- client IP address matches the specified lookup table.
- The lookup result is ignored, and no subnet lookup is done. This
- is suitable for, e.g., pop-before-smtp lookup tables. </dd>
- </dl>
- <p> Examples: </p>
- <p> The Postfix < 2.2 backwards compatible setting: always rewrite
- message headers, and always append my own domain to incomplete
- header addresses. </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all
- </pre>
- </blockquote>
- <p> The purist (and default) setting: rewrite headers only in mail
- from Postfix sendmail and in SMTP mail from this machine. </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_inet_interfaces">permit_inet_interfaces</a>
- </pre>
- </blockquote>
- <p> The intermediate setting: rewrite header addresses and append
- $<a href="postconf.5.html#myorigin">myorigin</a> or $<a href="postconf.5.html#mydomain">mydomain</a> information only with mail from Postfix
- sendmail, from local clients, or from authorized SMTP clients. </p>
- <p> Note: this setting will not prevent remote mail header address
- rewriting when mail from a remote client is forwarded by a neighboring
- system. </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
- <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a> <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
- <a href="postconf.5.html#check_address_map">check_address_map</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/pop-before-smtp
- </pre>
- </blockquote>
- </DD>
- <DT><b><a name="local_recipient_maps">local_recipient_maps</a>
- (default: <a href="proxymap.8.html">proxy</a>:unix:passwd.byname $<a href="postconf.5.html#alias_maps">alias_maps</a>)</b></DT><DD>
- <p> Lookup tables with all names or addresses of local recipients:
- a recipient address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
- $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. Specify @domain as a
- wild-card for domains that do not have a valid recipient list.
- Technically, tables listed with $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> are used as
- lists: Postfix needs to know only if a lookup string is found or
- not, but it does not use the result from table lookup. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p>
- If this parameter is non-empty (the default), then the Postfix SMTP
- server will reject mail for unknown local users.
- </p>
- <p>
- To turn off local recipient checking in the Postfix SMTP server,
- specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty).
- </p>
- <p>
- The default setting assumes that you use the default Postfix local
- delivery agent for local delivery. You need to update the
- <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> setting if:
- </p>
- <ul>
- <li>You redefine the local delivery agent in <a href="master.5.html">master.cf</a>.
- <li>You redefine the "<a href="postconf.5.html#local_transport">local_transport</a>" setting in <a href="postconf.5.html">main.cf</a>.
- <li>You use the "<a href="postconf.5.html#luser_relay">luser_relay</a>", "<a href="postconf.5.html#mailbox_transport">mailbox_transport</a>", or "<a href="postconf.5.html#fallback_transport">fallback_transport</a>"
- feature of the Postfix <a href="local.8.html">local(8)</a> delivery agent.
- </ul>
- <p>
- Details are described in the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> file.
- </p>
- <p>
- Beware: if the Postfix SMTP server runs chrooted, you need to access
- the passwd file via the <a href="proxymap.8.html">proxymap(8)</a> service, in order to overcome
- chroot access restrictions. The alternative, maintaining a copy of
- the system password file in the chroot jail is not practical.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =
- </pre>
- </DD>
- <DT><b><a name="local_transport">local_transport</a>
- (default: <a href="local.8.html">local</a>:$<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
- <p> The default mail delivery transport and next-hop destination
- for final delivery to domains listed with <a href="postconf.5.html#mydestination">mydestination</a>, and for
- [ipaddress] destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
- This information can be overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
- <p>
- By default, local mail is delivered to the transport called "local",
- which is just the name of a service that is defined the <a href="master.5.html">master.cf</a> file.
- </p>
- <p>
- Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
- is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
- The <i>:nexthop</i> destination is optional; its syntax is documented
- in the manual page of the corresponding delivery agent.
- </p>
- <p>
- Beware: if you override the default local delivery agent then you
- need to review the <a href="LOCAL_RECIPIENT_README.html">LOCAL_RECIPIENT_README</a> document, otherwise the
- SMTP server may reject mail for local recipients.
- </p>
- </DD>
- <DT><b><a name="luser_relay">luser_relay</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional catch-all destination for unknown <a href="local.8.html">local(8)</a> recipients.
- By default, mail for unknown recipients in domains that match
- $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> is returned
- as undeliverable.
- </p>
- <p>
- The following $name expansions are done on <a href="postconf.5.html#luser_relay">luser_relay</a>:
- </p>
- <dl>
- <dt><b>$domain</b></dt>
- <dd>The recipient domain. </dd>
- <dt><b>$extension</b></dt>
- <dd>The recipient address extension. </dd>
- <dt><b>$home</b></dt>
- <dd>The recipient's home directory. </dd>
- <dt><b>$local</b></dt>
- <dd>The entire recipient address localpart. </dd>
- <dt><b>$recipient</b></dt>
- <dd>The full recipient address. </dd>
- <dt><b>$<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a></b></dt>
- <dd>The address extension delimiter that was found in the recipient
- address (Postfix 2.11 and later), or the system-wide recipient
- address extension delimiter (Postfix 2.10 and earlier). </dd>
- <dt><b>$shell</b></dt>
- <dd>The recipient's login shell. </dd>
- <dt><b>$user</b></dt>
- <dd>The recipient username. </dd>
- <dt><b>${name?value}</b></dt>
- <dd>Expands to <i>value</i> when <i>$name</i> has a non-empty value. </dd>
- <dt><b>${name:value}</b></dt>
- <dd>Expands to <i>value</i> when <i>$name</i> has an empty value. </dd>
- </dl>
- <p>
- Instead of $name you can also specify ${name} or $(name).
- </p>
- <p>
- Note: <a href="postconf.5.html#luser_relay">luser_relay</a> works only for the Postfix <a href="local.8.html">local(8)</a> delivery agent.
- </p>
- <p>
- Note: if you use this feature for accounts not in the UNIX password
- file, then you must specify "<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> =" (i.e. empty)
- in the <a href="postconf.5.html">main.cf</a> file, otherwise the Postfix SMTP server will reject mail
- for non-UNIX accounts with "User unknown in local recipient table".
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#luser_relay">luser_relay</a> = $user@other.host
- <a href="postconf.5.html#luser_relay">luser_relay</a> = $local@other.host
- <a href="postconf.5.html#luser_relay">luser_relay</a> = admin+$local
- </pre>
- </DD>
- <DT><b><a name="mail_name">mail_name</a>
- (default: Postfix)</b></DT><DD>
- <p>
- The mail system name that is displayed in Received: headers, in
- the SMTP greeting banner, and in bounced mail.
- </p>
- </DD>
- <DT><b><a name="mail_owner">mail_owner</a>
- (default: postfix)</b></DT><DD>
- <p>
- The UNIX system account that owns the Postfix queue and most Postfix
- daemon processes. Specify the name of an unprivileged user account
- that does not share a user or group ID with other accounts, and that
- owns no other files
- or processes on the system. In particular, don't specify nobody
- or daemon. PLEASE USE A DEDICATED USER ID AND GROUP ID.
- </p>
- <p>
- When this parameter value is changed you need to re-run "<b>postfix
- set-permissions</b>" (with Postfix version 2.0 and earlier:
- "<b>/etc/postfix/post-install set-permissions</b>".
- </p>
- </DD>
- <DT><b><a name="mail_release_date">mail_release_date</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The Postfix release date, in "YYYYMMDD" format.
- </p>
- </DD>
- <DT><b><a name="mail_spool_directory">mail_spool_directory</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The directory where <a href="local.8.html">local(8)</a> UNIX-style mailboxes are kept. The
- default setting depends on the system type. Specify a name ending
- in / for maildir-style delivery.
- </p>
- <p>
- Note: maildir delivery is done with the privileges of the recipient.
- If you use the <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> setting for maildir style
- delivery, then you must create the top-level maildir directory in
- advance. Postfix will not create it.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/mail
- <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a> = /var/spool/mail
- </pre>
- </DD>
- <DT><b><a name="mail_version">mail_version</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The version of the mail system. Stable releases are named
- <i>major</i>.<i>minor</i>.<i>patchlevel</i>. Experimental releases
- also include the release date. The version string can be used in,
- for example, the SMTP greeting banner.
- </p>
- </DD>
- <DT><b><a name="mailbox_command">mailbox_command</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional external command that the <a href="local.8.html">local(8)</a> delivery agent should
- use for mailbox delivery. The command is run with the user ID and
- the primary group ID privileges of the recipient. Exception:
- command delivery for root executes with $<a href="postconf.5.html#default_privs">default_privs</a> privileges.
- This is not a problem, because 1) mail for root should always be
- aliased to a real user and 2) don't log in as root, use "su" instead.
- </p>
- <p>
- The following environment variables are exported to the command:
- </p>
- <dl>
- <dt><b>CLIENT_ADDRESS</b></dt>
- <dd>Remote client network address. Available in Postfix version 2.2 and
- later. </dd>
- <dt><b>CLIENT_HELO</b></dt>
- <dd>Remote client EHLO command parameter. Available in Postfix version 2.2
- and later.</dd>
- <dt><b>CLIENT_HOSTNAME</b></dt>
- <dd>Remote client hostname. Available in Postfix version 2.2 and later.
- </dd>
- <dt><b>CLIENT_PROTOCOL</b></dt>
- <dd>Remote client protocol. Available in Postfix version 2.2 and later.
- </dd>
- <dt><b>DOMAIN</b></dt>
- <dd>The domain part of the recipient address. </dd>
- <dt><b>EXTENSION</b></dt>
- <dd>The optional address extension. </dd>
- <dt><b>HOME</b></dt>
- <dd>The recipient home directory. </dd>
- <dt><b>LOCAL</b></dt>
- <dd>The recipient address localpart. </dd>
- <dt><b>LOGNAME</b></dt>
- <dd>The recipient's username. </dd>
- <dt><b>ORIGINAL_RECIPIENT</b></dt>
- <dd>The entire recipient address, before any address rewriting or
- aliasing. </dd>
- <dt><b>RECIPIENT</b></dt>
- <dd>The full recipient address. </dd>
- <dt><b>SASL_METHOD</b></dt>
- <dd>SASL authentication method specified in the remote client AUTH
- command. Available in Postfix version 2.2 and later. </dd>
- <dt><b>SASL_SENDER</b></dt>
- <dd>SASL sender address specified in the remote client MAIL FROM
- command. Available in Postfix version 2.2 and later. </dd>
- <dt><b>SASL_USER</b></dt>
- <dd>SASL username specified in the remote client AUTH command.
- Available in Postfix version 2.2 and later. </dd>
- <dt><b>SENDER</b></dt>
- <dd>The full sender address. </dd>
- <dt><b>SHELL</b></dt>
- <dd>The recipient's login shell. </dd>
- <dt><b>USER</b></dt>
- <dd>The recipient username. </dd>
- </dl>
- <p>
- Unlike other Postfix configuration parameters, the <a href="postconf.5.html#mailbox_command">mailbox_command</a>
- parameter is not subjected to $name substitutions. This is to make
- it easier to specify shell syntax (see example below).
- </p>
- <p>
- If you can, avoid shell meta characters because they will force
- Postfix to run an expensive shell process. If you're delivering
- via Procmail then running a shell won't make a noticeable difference
- in the total cost.
- </p>
- <p>
- Note: if you use the <a href="postconf.5.html#mailbox_command">mailbox_command</a> feature to deliver mail
- system-wide, you must set up an alias that forwards mail for root
- to a real user.
- </p>
- <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
- is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
- <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
- <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail
- <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/procmail -a "$EXTENSION"
- <a href="postconf.5.html#mailbox_command">mailbox_command</a> = /some/where/maildrop -d "$USER"
- -f "$SENDER" "$EXTENSION"
- </pre>
- </DD>
- <DT><b><a name="mailbox_command_maps">mailbox_command_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional lookup tables with per-recipient external commands to use
- for <a href="local.8.html">local(8)</a> mailbox delivery. Behavior is as with <a href="postconf.5.html#mailbox_command">mailbox_command</a>.
- </p>
- <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
- is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
- <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
- <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- </DD>
- <DT><b><a name="mailbox_delivery_lock">mailbox_delivery_lock</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- How to lock a UNIX-style <a href="local.8.html">local(8)</a> mailbox before attempting delivery.
- For a list of available file locking methods, use the "<b>postconf
- -l</b>" command.
- </p>
- <p>
- This setting is ignored with <b>maildir</b> style delivery,
- because such deliveries are safe without explicit locks.
- </p>
- <p>
- Note: The <b>dotlock</b> method requires that the recipient UID or
- GID has write access to the parent directory of the mailbox file.
- </p>
- <p>
- Note: the default setting of this parameter is system dependent.
- </p>
- </DD>
- <DT><b><a name="mailbox_size_limit">mailbox_size_limit</a>
- (default: 51200000)</b></DT><DD>
- <p> The maximal size of any <a href="local.8.html">local(8)</a> individual mailbox or maildir
- file, or zero (no limit). In fact, this limits the size of any
- file that is written to upon local delivery, including files written
- by external commands that are executed by the <a href="local.8.html">local(8)</a> delivery
- agent. </p>
- <p>
- This limit must not be smaller than the message size limit.
- </p>
- </DD>
- <DT><b><a name="mailbox_transport">mailbox_transport</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional message delivery transport that the <a href="local.8.html">local(8)</a> delivery
- agent should use for mailbox delivery to all local recipients,
- whether or not they are found in the UNIX passwd database.
- </p>
- <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
- is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
- <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
- <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
- </DD>
- <DT><b><a name="mailbox_transport_maps">mailbox_transport_maps</a>
- (default: empty)</b></DT><DD>
- <p> Optional lookup tables with per-recipient message delivery
- transports to use for <a href="local.8.html">local(8)</a> mailbox delivery, whether or not the
- recipients are found in the UNIX passwd database. </p>
- <p> The precedence of <a href="local.8.html">local(8)</a> delivery features from high to low
- is: aliases, .forward files, <a href="postconf.5.html#mailbox_transport_maps">mailbox_transport_maps</a>, <a href="postconf.5.html#mailbox_transport">mailbox_transport</a>,
- <a href="postconf.5.html#mailbox_command_maps">mailbox_command_maps</a>, <a href="postconf.5.html#mailbox_command">mailbox_command</a>, <a href="postconf.5.html#home_mailbox">home_mailbox</a>, <a href="postconf.5.html#mail_spool_directory">mail_spool_directory</a>,
- <a href="postconf.5.html#fallback_transport_maps">fallback_transport_maps</a>, <a href="postconf.5.html#fallback_transport">fallback_transport</a> and <a href="postconf.5.html#luser_relay">luser_relay</a>. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p> For safety reasons, this feature does not allow $number
- substitutions in regular expression maps. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="mailq_path">mailq_path</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- Sendmail compatibility feature that specifies where the Postfix
- <a href="mailq.1.html">mailq(1)</a> command is installed. This command can be used to
- list the Postfix mail queue.
- </p>
- </DD>
- <DT><b><a name="manpage_directory">manpage_directory</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- Where the Postfix manual pages are installed.
- </p>
- </DD>
- <DT><b><a name="maps_rbl_domains">maps_rbl_domains</a>
- (default: empty)</b></DT><DD>
- <p>
- Obsolete feature: use the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> feature instead.
- </p>
- </DD>
- <DT><b><a name="maps_rbl_reject_code">maps_rbl_reject_code</a>
- (default: 554)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a remote SMTP
- client request is blocked by the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>, <a href="postconf.5.html#reject_rhsbl_client">reject_rhsbl_client</a>,
- <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a>, <a href="postconf.5.html#reject_rhsbl_sender">reject_rhsbl_sender</a> or
- <a href="postconf.5.html#reject_rhsbl_recipient">reject_rhsbl_recipient</a> restriction.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- </DD>
- <DT><b><a name="masquerade_classes">masquerade_classes</a>
- (default: envelope_sender, header_sender, header_recipient)</b></DT><DD>
- <p>
- What addresses are subject to address masquerading.
- </p>
- <p>
- By default, address masquerading is limited to envelope sender
- addresses, and to header sender and header recipient addresses.
- This allows you to use address masquerading on a mail gateway while
- still being able to forward mail to users on individual machines.
- </p>
- <p>
- Specify zero or more of: envelope_sender, envelope_recipient,
- header_sender, header_recipient
- </p>
- </DD>
- <DT><b><a name="masquerade_domains">masquerade_domains</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional list of domains whose subdomain structure will be stripped
- off in email addresses.
- </p>
- <p>
- The list is processed left to right, and processing stops at the
- first match. Thus,
- </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = foo.example.com example.com
- </pre>
- </blockquote>
- <p>
- strips "user@any.thing.foo.example.com" to "user@foo.example.com",
- but strips "user@any.thing.else.example.com" to "user@example.com".
- </p>
- <p>
- A domain name prefixed with ! means do not masquerade this domain
- or its subdomains. Thus,
- </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = !foo.example.com example.com
- </pre>
- </blockquote>
- <p>
- does not change "user@any.thing.foo.example.com" or "user@foo.example.com",
- but strips "user@any.thing.else.example.com" to "user@example.com".
- </p>
- <p> Note: with Postfix version 2.2, message header address masquerading
- happens only when message header address rewriting is enabled: </p>
- <ul>
- <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
- <li> The message is received from a network client that matches
- $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
- <li> The message is received from the network, and the
- <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
- </ul>
- <p> To get the behavior before Postfix version 2.2, specify
- "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#masquerade_domains">masquerade_domains</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
- </pre>
- </DD>
- <DT><b><a name="masquerade_exceptions">masquerade_exceptions</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional list of user names that are not subjected to address
- masquerading, even when their address matches $<a href="postconf.5.html#masquerade_domains">masquerade_domains</a>.
- </p>
- <p>
- By default, address masquerading makes no exceptions.
- </p>
- <p>
- Specify a list of user names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns,
- separated by commas and/or whitespace. The list is matched left to
- right, and the search stops on the first match. A "/file/name"
- pattern is replaced
- by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name
- matches a lookup key (the lookup result is ignored). Continue long
- lines by starting the next line with whitespace. Specify "!pattern"
- to exclude a name from the list. The form "!/file/name" is supported
- only in Postfix version 2.4 and later. </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root, mailer-daemon
- <a href="postconf.5.html#masquerade_exceptions">masquerade_exceptions</a> = root
- </pre>
- </DD>
- <DT><b><a name="master_service_disable">master_service_disable</a>
- (default: empty)</b></DT><DD>
- <p> Selectively disable <a href="master.8.html">master(8)</a> listener ports by service type
- or by service name and type. Specify a list of service types
- ("inet", "unix", "fifo", or "pass") or "name/type" tuples, where
- "name" is the first field of a <a href="master.5.html">master.cf</a> entry and "type" is a
- service type. As with other Postfix matchlists, a search stops at
- the first match. Specify "!pattern" to exclude a service from the
- list. By default, all <a href="master.8.html">master(8)</a> listener ports are enabled. </p>
- <p> Note: this feature does not support "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
- patterns, nor does it support wildcards such as "*" or "all". This
- is intentional. </p>
- <p> Examples: </p>
- <pre>
- # With Postfix 2.6..2.10 use '.' instead of '/'.
- # Turn on all <a href="master.8.html">master(8)</a> listener ports (the default).
- <a href="postconf.5.html#master_service_disable">master_service_disable</a> =
- # Turn off only the main SMTP listener port.
- <a href="postconf.5.html#master_service_disable">master_service_disable</a> = smtp/inet
- # Turn off all TCP/IP listener ports.
- <a href="postconf.5.html#master_service_disable">master_service_disable</a> = inet
- # Turn off all TCP/IP listener ports except "foo".
- <a href="postconf.5.html#master_service_disable">master_service_disable</a> = !foo/inet, inet
- </pre>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="max_idle">max_idle</a>
- (default: 100s)</b></DT><DD>
- <p>
- The maximum amount of time that an idle Postfix daemon process waits
- for an incoming connection before terminating voluntarily. This
- parameter
- is ignored by the Postfix queue manager and by other long-lived
- Postfix daemon processes.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="max_use">max_use</a>
- (default: 100)</b></DT><DD>
- <p>
- The maximal number of incoming connections that a Postfix daemon
- process will service before terminating voluntarily. This parameter
- is ignored by the Postfix queue
- manager and by other long-lived Postfix daemon processes.
- </p>
- </DD>
- <DT><b><a name="maximal_backoff_time">maximal_backoff_time</a>
- (default: 4000s)</b></DT><DD>
- <p>
- The maximal time between attempts to deliver a deferred message.
- </p>
- <p> This parameter should be set to a value greater than or equal
- to $<a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a>. See also $<a href="postconf.5.html#queue_run_delay">queue_run_delay</a>. </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="maximal_queue_lifetime">maximal_queue_lifetime</a>
- (default: 5d)</b></DT><DD>
- <p>
- Consider a message as undeliverable, when delivery fails with a
- temporary error, and the time in the queue has reached the
- <a href="postconf.5.html#maximal_queue_lifetime">maximal_queue_lifetime</a> limit.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is d (days).
- </p>
- <p>
- Specify 0 when mail delivery should be tried only once.
- </p>
- </DD>
- <DT><b><a name="message_drop_headers">message_drop_headers</a>
- (default: bcc, content-length, resent-bcc, return-path)</b></DT><DD>
- <p> Names of message headers that the <a href="cleanup.8.html">cleanup(8)</a> daemon will remove
- after applying <a href="header_checks.5.html">header_checks(5)</a> and before invoking Milter applications.
- The default setting is compatible with Postfix < 3.0. </p>
- <p> Specify a list of header names, separated by comma or space.
- Names are matched in a case-insensitive manner. The list of supported
- header names is limited only by available memory. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="message_reject_characters">message_reject_characters</a>
- (default: empty)</b></DT><DD>
- <p> The set of characters that Postfix will reject in message
- content. The usual C-like escape sequences are recognized: <tt>\a
- \b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
- <tt>\\</tt>. </p>
- <p> Note 1: this feature does not recognize text that requires MIME
- decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
- and <a href="postconf.5.html#body_checks">body_checks</a>. </p>
- <p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
- = <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#message_reject_characters">message_reject_characters</a> = \0
- </pre>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="message_size_limit">message_size_limit</a>
- (default: 10240000)</b></DT><DD>
- <p>
- The maximal size in bytes of a message, including envelope information.
- </p>
- <p> Note: be careful when making changes. Excessively small values
- will result in the loss of non-delivery notifications, when a bounce
- message size exceeds the local or remote MTA's message size limit.
- </p>
- </DD>
- <DT><b><a name="message_strip_characters">message_strip_characters</a>
- (default: empty)</b></DT><DD>
- <p> The set of characters that Postfix will remove from message
- content. The usual C-like escape sequences are recognized: <tt>\a
- \b \f \n \r \t \v \<i>ddd</i></tt> (up to three octal digits) and
- <tt>\\</tt>. </p>
- <p> Note 1: this feature does not recognize text that requires MIME
- decoding. It inspects raw message content, just like <a href="postconf.5.html#header_checks">header_checks</a>
- and <a href="postconf.5.html#body_checks">body_checks</a>. </p>
- <p> Note 2: this feature is disabled with "<a href="postconf.5.html#receive_override_options">receive_override_options</a>
- = <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>". </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#message_strip_characters">message_strip_characters</a> = \0
- </pre>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="meta_directory">meta_directory</a>
- (default: see 'postconf -d' output)</b></DT><DD>
- <p> The location of non-executable files that are shared among
- multiple Postfix instances, such as postfix-files, dynamicmaps.cf,
- and the multi-instance template files <a href="postconf.5.html">main.cf</a>.proto and <a href="master.5.html">master.cf</a>.proto.
- This directory should contain only Postfix-related files. Typically,
- the <a href="postconf.5.html#meta_directory">meta_directory</a> parameter has the same default as the <a href="postconf.5.html#config_directory">config_directory</a>
- parameter (/etc/postfix or /usr/local/etc/postfix). </p>
- <p> For backwards compatibility with Postfix versions 2.6..2.11,
- specify "<a href="postconf.5.html#meta_directory">meta_directory</a> = $<a href="postconf.5.html#daemon_directory">daemon_directory</a>" in <a href="postconf.5.html">main.cf</a> before
- installing or upgrading Postfix, or specify "<a href="postconf.5.html#meta_directory">meta_directory</a> =
- /path/name" on the "make makefiles", "make install" or "make upgrade"
- command line. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="milter_command_timeout">milter_command_timeout</a>
- (default: 30s)</b></DT><DD>
- <p> The time limit for sending an SMTP command to a Milter (mail
- filter) application, and for receiving the response. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). The default time unit is s (seconds). </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_connect_macros">milter_connect_macros</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The macros that are sent to Milter (mail filter) applications
- after completion of an SMTP connection. See <a href="MILTER_README.html">MILTER_README</a>
- for a list of available macro names and their meanings. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_connect_timeout">milter_connect_timeout</a>
- (default: 30s)</b></DT><DD>
- <p> The time limit for connecting to a Milter (mail filter)
- application, and for negotiating protocol options. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). The default time unit is s (seconds). </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_content_timeout">milter_content_timeout</a>
- (default: 300s)</b></DT><DD>
- <p> The time limit for sending message content to a Milter (mail
- filter) application, and for receiving the response. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). The default time unit is s (seconds). </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_data_macros">milter_data_macros</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The macros that are sent to version 4 or higher Milter (mail
- filter) applications after the SMTP DATA command. See <a href="MILTER_README.html">MILTER_README</a>
- for a list of available macro names and their meanings. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_default_action">milter_default_action</a>
- (default: tempfail)</b></DT><DD>
- <p> The default action when a Milter (mail filter) application is
- unavailable or mis-configured. Specify one of the following: </p>
- <dl compact>
- <dt>accept</dt> <dd>Proceed as if the mail filter was not present.
- </dd>
- <dt>reject</dt> <dd>Reject all further commands in this session
- with a permanent status code.</dd>
- <dt>tempfail</dt> <dd>Reject all further commands in this session
- with a temporary status code. </dd>
- <dt>quarantine</dt> <dd>Like "accept", but freeze the message in
- the "<a href="QSHAPE_README.html#hold_queue">hold" queue</a>. Available with Postfix 2.6 and later. </dd>
- </dl>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_end_of_data_macros">milter_end_of_data_macros</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The macros that are sent to Milter (mail filter) applications
- after the message end-of-data. See <a href="MILTER_README.html">MILTER_README</a> for a list of
- available macro names and their meanings. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_end_of_header_macros">milter_end_of_header_macros</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The macros that are sent to Milter (mail filter) applications
- after the end of the message header. See <a href="MILTER_README.html">MILTER_README</a> for a list
- of available macro names and their meanings. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="milter_header_checks">milter_header_checks</a>
- (default: empty)</b></DT><DD>
- <p> Optional lookup tables for content inspection of message headers
- that are produced by Milter applications. See the <a href="header_checks.5.html">header_checks(5)</a>
- manual page available actions. Currently, PREPEND is not implemented.
- </p>
- <p> The following example sends all mail that is marked as SPAM to
- a spam handling machine. Note that matches are case-insensitive
- by default. </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>
- </pre>
- <pre>
- /etc/postfix/<a href="postconf.5.html#milter_header_checks">milter_header_checks</a>:
- /^X-SPAM-FLAG:\s+YES/ FILTER mysmtp:sanitizer.example.com:25
- </pre>
- <p> The <a href="postconf.5.html#milter_header_checks">milter_header_checks</a> mechanism could also be used for
- whitelisting. For example it could be used to skip heavy content
- inspection for DKIM-signed mail from known friendly domains. </p>
- <p> This feature is available in Postfix 2.7, and as an optional
- patch for Postfix 2.6. </p>
- </DD>
- <DT><b><a name="milter_helo_macros">milter_helo_macros</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The macros that are sent to Milter (mail filter) applications
- after the SMTP HELO or EHLO command. See
- <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their meanings.
- </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_macro_daemon_name">milter_macro_daemon_name</a>
- (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
- <p> The {daemon_name} macro value for Milter (mail filter) applications.
- See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
- meanings. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_macro_defaults">milter_macro_defaults</a>
- (default: empty)</b></DT><DD>
- <p> Optional list of <i>name=value</i> pairs that specify default
- values for arbitrary macros that Postfix may send to Milter
- applications. These defaults are used when there is no corresponding
- information from the message delivery context. </p>
- <p> Specify <i>name=value</i> or <i>{name}=value</i> pairs separated
- by comma or whitespace. Enclose a pair in "{}" when a value contains
- comma or whitespace (this form ignores whitespace after the enclosing
- "{", around the "=", and before the enclosing "}"). </p>
- <p> This feature is available in Postfix 3.1 and later. </p>
- </DD>
- <DT><b><a name="milter_macro_v">milter_macro_v</a>
- (default: $<a href="postconf.5.html#mail_name">mail_name</a> $<a href="postconf.5.html#mail_version">mail_version</a>)</b></DT><DD>
- <p> The {v} macro value for Milter (mail filter) applications.
- See <a href="MILTER_README.html">MILTER_README</a> for a list of available macro names and their
- meanings. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_mail_macros">milter_mail_macros</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The macros that are sent to Milter (mail filter) applications
- after the SMTP MAIL FROM command. See <a href="MILTER_README.html">MILTER_README</a>
- for a list of available macro names and their meanings. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_protocol">milter_protocol</a>
- (default: 6)</b></DT><DD>
- <p> The mail filter protocol version and optional protocol extensions
- for communication with a Milter application; prior to Postfix 2.6
- the default protocol is 2. Postfix
- sends this version number during the initial protocol handshake.
- It should match the version number that is expected by the mail
- filter application (or by its Milter library). </p>
- <p>Protocol versions: </p>
- <dl compact>
- <dt>2</dt> <dd>Use Sendmail 8 mail filter protocol version 2 (default
- with Sendmail version 8.11 .. 8.13 and Postfix version 2.3 ..
- 2.5).</dd>
- <dt>3</dt> <dd>Use Sendmail 8 mail filter protocol version 3.</dd>
- <dt>4</dt> <dd>Use Sendmail 8 mail filter protocol version 4.</dd>
- <dt>6</dt> <dd>Use Sendmail 8 mail filter protocol version 6 (default
- with Sendmail version 8.14 and Postfix version 2.6).</dd>
- </dl>
- <p>Protocol extensions: </p>
- <dl compact>
- <dt>no_header_reply</dt> <dd> Specify this when the Milter application
- will not reply for each individual message header.</dd>
- </dl>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_rcpt_macros">milter_rcpt_macros</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The macros that are sent to Milter (mail filter) applications
- after the SMTP RCPT TO command. See <a href="MILTER_README.html">MILTER_README</a>
- for a list of available macro names and their meanings. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="milter_unknown_command_macros">milter_unknown_command_macros</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The macros that are sent to version 3 or higher Milter (mail
- filter) applications after an unknown SMTP command. See <a href="MILTER_README.html">MILTER_README</a>
- for a list of available macro names and their meanings. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="mime_boundary_length_limit">mime_boundary_length_limit</a>
- (default: 2048)</b></DT><DD>
- <p>
- The maximal length of MIME multipart boundary strings. The MIME
- processor is unable to distinguish between boundary strings that
- do not differ in the first $<a href="postconf.5.html#mime_boundary_length_limit">mime_boundary_length_limit</a> characters.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="mime_header_checks">mime_header_checks</a>
- (default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
- <p>
- Optional lookup tables for content inspection of MIME related
- message headers, as described in the <a href="header_checks.5.html">header_checks(5)</a> manual page.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="mime_nesting_limit">mime_nesting_limit</a>
- (default: 100)</b></DT><DD>
- <p>
- The maximal recursion level that the MIME processor will handle.
- Postfix refuses mail that is nested deeper than the specified limit.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="minimal_backoff_time">minimal_backoff_time</a>
- (default: 300s)</b></DT><DD>
- <p>
- The minimal time between attempts to deliver a deferred message;
- prior to Postfix 2.4 the default value was 1000s.
- </p>
- <p>
- This parameter also limits the time an unreachable destination is
- kept in the short-term, in-memory, destination status cache.
- </p>
- <p> This parameter should be set greater than or equal to
- $<a href="postconf.5.html#queue_run_delay">queue_run_delay</a>. See also $<a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a>. </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="multi_instance_directories">multi_instance_directories</a>
- (default: empty)</b></DT><DD>
- <p> An optional list of non-default Postfix configuration directories;
- these directories belong to additional Postfix instances that share
- the Postfix executable files and documentation with the default
- Postfix instance, and that are started, stopped, etc., together
- with the default Postfix instance. Specify a list of pathnames
- separated by comma or whitespace. </p>
- <p> When $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> is empty, the <a href="postfix.1.html">postfix(1)</a> command
- runs in single-instance mode and operates on a single Postfix
- instance only. Otherwise, the <a href="postfix.1.html">postfix(1)</a> command runs in multi-instance
- mode and invokes the multi-instance manager specified with the
- <a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> parameter. The multi-instance manager in
- turn executes <a href="postfix.1.html">postfix(1)</a> commands for the default instance and for
- all Postfix instances in $<a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>. </p>
- <p> Currently, this parameter setting is ignored except for the
- default <a href="postconf.5.html">main.cf</a> file. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="multi_instance_enable">multi_instance_enable</a>
- (default: no)</b></DT><DD>
- <p> Allow this Postfix instance to be started, stopped, etc., by a
- multi-instance manager. By default, new instances are created in
- a safe state that prevents them from being started inadvertently.
- This parameter is reserved for the multi-instance manager. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="multi_instance_group">multi_instance_group</a>
- (default: empty)</b></DT><DD>
- <p> The optional instance group name of this Postfix instance. A
- group identifies closely-related Postfix instances that the
- multi-instance manager can start, stop, etc., as a unit. This
- parameter is reserved for the multi-instance manager. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="multi_instance_name">multi_instance_name</a>
- (default: empty)</b></DT><DD>
- <p> The optional instance name of this Postfix instance. This name
- becomes also the default value for the <a href="postconf.5.html#syslog_name">syslog_name</a> parameter. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="multi_instance_wrapper">multi_instance_wrapper</a>
- (default: empty)</b></DT><DD>
- <p> The pathname of a multi-instance manager command that the
- <a href="postfix.1.html">postfix(1)</a> command invokes when the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a>
- parameter value is non-empty. The pathname may be followed by
- initial command arguments separated by whitespace; shell
- metacharacters such as quotes are not supported in this context.
- </p>
- <p> The <a href="postfix.1.html">postfix(1)</a> command invokes the manager command with the
- <a href="postfix.1.html">postfix(1)</a> non-option command arguments on the manager command line,
- and with all installation configuration parameters exported into
- the manager command process environment. The manager command in
- turn invokes the <a href="postfix.1.html">postfix(1)</a> command for individual Postfix instances
- as "postfix -c <i><a href="postconf.5.html#config_directory">config_directory</a></i> <i>command</i>". </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a>
- (default: 550)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a remote SMTP
- client request is blocked by the <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a>
- restriction.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="mydestination">mydestination</a>
- (default: $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b></DT><DD>
- <p> The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a>
- mail delivery transport. By default this is the Postfix <a href="local.8.html">local(8)</a>
- delivery agent which looks up all recipients in /etc/passwd and
- /etc/aliases. The SMTP server validates recipient addresses with
- $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> and rejects non-existent recipients. See also
- the <a href="ADDRESS_CLASS_README.html#local_domain_class">local domain</a> class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file.
- </p>
- <p>
- The default <a href="postconf.5.html#mydestination">mydestination</a> value specifies names for the local
- machine only. On a mail domain gateway, you should also include
- $<a href="postconf.5.html#mydomain">mydomain</a>.
- </p>
- <p>
- The $<a href="postconf.5.html#local_transport">local_transport</a> delivery method is also selected for mail
- addressed to user@[the.net.work.address] of the mail system (the
- IP addresses specified with the <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> and <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>
- parameters).
- </p>
- <p>
- Warnings:
- </p>
- <ul>
- <li><p>Do not specify the names of virtual domains - those domains
- are specified elsewhere. See <a href="VIRTUAL_README.html">VIRTUAL_README</a> for more information. </p>
- <li><p>Do not specify the names of domains that this machine is
- backup MX host for. See <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> for how to
- set up backup MX hosts. </p>
- <li><p>By default, the Postfix SMTP server rejects mail for recipients
- not listed with the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> parameter. See the
- <a href="postconf.5.html">postconf(5)</a> manual for a description of the <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>
- and <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> parameters. </p>
- </ul>
- <p>
- Specify a list of host or domain names, "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
- patterns, separated by commas and/or whitespace. A "/file/name"
- pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
- is matched when a name matches a lookup key (the lookup result is
- ignored). Continue long lines by starting the next line with
- whitespace. </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#mydestination">mydestination</a> = $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a> $<a href="postconf.5.html#mydomain">mydomain</a>
- <a href="postconf.5.html#mydestination">mydestination</a> = $<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a> www.$<a href="postconf.5.html#mydomain">mydomain</a>, ftp.$<a href="postconf.5.html#mydomain">mydomain</a>
- </pre>
- </DD>
- <DT><b><a name="mydomain">mydomain</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The internet domain name of this mail system. The default is to
- use $<a href="postconf.5.html#myhostname">myhostname</a> minus the first component, or "localdomain" (Postfix
- 2.3 and later). $<a href="postconf.5.html#mydomain">mydomain</a> is used as
- a default value for many other configuration parameters.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#mydomain">mydomain</a> = domain.tld
- </pre>
- </DD>
- <DT><b><a name="myhostname">myhostname</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The internet hostname of this mail system. The default is to use
- the fully-qualified domain name (FQDN) from gethostname(), or to
- use the non-FQDN result from gethostname() and append ".$<a href="postconf.5.html#mydomain">mydomain</a>".
- $<a href="postconf.5.html#myhostname">myhostname</a> is used as a default value for many other configuration
- parameters. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#myhostname">myhostname</a> = host.example.com
- </pre>
- </DD>
- <DT><b><a name="mynetworks">mynetworks</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The list of "trusted" remote SMTP clients that have more privileges than
- "strangers".
- </p>
- <p>
- In particular, "trusted" SMTP clients are allowed to relay mail
- through Postfix. See the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> parameter
- description in the <a href="postconf.5.html">postconf(5)</a> manual.
- </p>
- <p>
- You can specify the list of "trusted" network addresses by hand
- or you can let Postfix do it for you (which is the default).
- See the description of the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameter for more
- information.
- </p>
- <p>
- If you specify the <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand,
- Postfix ignores the <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> setting.
- </p>
- <p> Specify a list of network addresses or network/netmask patterns,
- separated by commas and/or whitespace. Continue long lines by
- starting the next line with whitespace. </p>
- <p> The netmask specifies the number of bits in the network part
- of a host address. You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>"
- patterns. A "/file/name" pattern is replaced by its contents; a
- "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry matches a
- lookup string (the lookup result is ignored). </p>
- <p> The list is matched left to right, and the search stops on the
- first match. Specify "!pattern" to exclude an address or network
- block from the list. The form "!/file/name" is supported only
- in Postfix version 2.4 and later. </p>
- <p> Note 1: Pattern matching of domain names is controlled by the
- or absence of "<a href="postconf.5.html#mynetworks">mynetworks</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
- parameter value. </p>
- <p> Note 2: IP version 6 address information must be specified inside
- <tt>[]</tt> in the <a href="postconf.5.html#mynetworks">mynetworks</a> value, and in files specified with
- "/file/name". IP version 6 addresses contain the ":" character,
- and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>" pattern. </p>
- <p> Examples: </p>
- <pre>
- <a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28
- <a href="postconf.5.html#mynetworks">mynetworks</a> = !192.168.0.1, 192.168.0.0/28
- <a href="postconf.5.html#mynetworks">mynetworks</a> = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64
- <a href="postconf.5.html#mynetworks">mynetworks</a> = $<a href="postconf.5.html#config_directory">config_directory</a>/mynetworks
- <a href="postconf.5.html#mynetworks">mynetworks</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/network_table
- </pre>
- </DD>
- <DT><b><a name="mynetworks_style">mynetworks_style</a>
- (default: Postfix ≥ 3.0: host, Postfix < 3.0: subnet)</b></DT><DD>
- <p>
- The method to generate the default value for the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter.
- This is the list of trusted networks for relay access control etc.
- </p>
- <ul>
- <li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = host" when Postfix should
- "trust" only the local machine. </p>
- <li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" when Postfix
- should "trust" remote SMTP clients in the same IP subnetworks as the local
- machine. On Linux, this works correctly only with interfaces
- specified with the "ifconfig" command. </p>
- <li><p>Specify "<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = class" when Postfix should
- "trust" remote SMTP clients in the same IP class A/B/C networks as the
- local machine. Caution: this may cause
- Postfix to "trust" your entire provider's network. Instead, specify
- an explicit <a href="postconf.5.html#mynetworks">mynetworks</a> list by hand, as described with the <a href="postconf.5.html#mynetworks">mynetworks</a>
- configuration parameter. </p>
- </ul>
- </DD>
- <DT><b><a name="myorigin">myorigin</a>
- (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
- <p>
- The domain name that locally-posted mail appears to come
- from, and that locally posted mail is delivered to. The default,
- $<a href="postconf.5.html#myhostname">myhostname</a>, is adequate for small sites. If you run a domain with
- multiple machines, you should (1) change this to $<a href="postconf.5.html#mydomain">mydomain</a> and (2)
- set up a domain-wide alias database that aliases each user to
- user@that.users.mailhost.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#myorigin">myorigin</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
- </pre>
- </DD>
- <DT><b><a name="nested_header_checks">nested_header_checks</a>
- (default: $<a href="postconf.5.html#header_checks">header_checks</a>)</b></DT><DD>
- <p>
- Optional lookup tables for content inspection of non-MIME message
- headers in attached messages, as described in the <a href="header_checks.5.html">header_checks(5)</a>
- manual page.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="newaliases_path">newaliases_path</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- Sendmail compatibility feature that specifies the location of the
- <a href="newaliases.1.html">newaliases(1)</a> command. This command can be used to rebuild the
- <a href="local.8.html">local(8)</a> <a href="aliases.5.html">aliases(5)</a> database.
- </p>
- </DD>
- <DT><b><a name="non_fqdn_reject_code">non_fqdn_reject_code</a>
- (default: 504)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server reply code when a client request
- is rejected by the <a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a>, <a href="postconf.5.html#reject_non_fqdn_sender">reject_non_fqdn_sender</a>
- or <a href="postconf.5.html#reject_non_fqdn_recipient">reject_non_fqdn_recipient</a> restriction.
- </p>
- </DD>
- <DT><b><a name="non_smtpd_milters">non_smtpd_milters</a>
- (default: empty)</b></DT><DD>
- <p> A list of Milter (mail filter) applications for new mail that
- does not arrive via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. This includes local
- submission via the <a href="sendmail.1.html">sendmail(1)</a> command line, new mail that arrives
- via the Postfix <a href="qmqpd.8.html">qmqpd(8)</a> server, and old mail that is re-injected
- into the queue with "postsuper -r". Specify space or comma as
- separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="notify_classes">notify_classes</a>
- (default: resource, software)</b></DT><DD>
- <p>
- The list of error classes that are reported to the postmaster. The
- default is to report only the most serious problems. The paranoid
- may wish to turn on the policy (UCE and mail relaying) and protocol
- error (broken mail software) reports.
- </p>
- <p> NOTE: postmaster notifications may contain confidential information
- such as SASL passwords or message content. It is the system
- administrator's responsibility to treat such information with care.
- </p>
- <p>
- The error classes are:
- </p>
- <dl>
- <dt><b>bounce</b> (also implies <b>2bounce</b>)</dt>
- <dd>Send the postmaster copies of the headers of bounced mail, and
- send transcripts of SMTP sessions when Postfix rejects mail. The
- notification is sent to the address specified with the
- <a href="postconf.5.html#bounce_notice_recipient">bounce_notice_recipient</a> configuration parameter (default: postmaster).
- </dd>
- <dt><b>2bounce</b></dt>
- <dd>Send undeliverable bounced mail to the postmaster. The notification
- is sent to the address specified with the <a href="postconf.5.html#2bounce_notice_recipient">2bounce_notice_recipient</a>
- configuration parameter (default: postmaster). </dd>
- <dt><b>data</b></dt>
- <dd>Send the postmaster a transcript of the SMTP session with an
- error because a critical data file was unavailable. The notification
- is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
- configuration parameter (default: postmaster). <br> This feature
- is available in Postfix 2.9 and later. </dd>
- <dt><b>delay</b></dt>
- <dd>Send the postmaster copies of the headers of delayed mail (see
- <a href="postconf.5.html#delay_warning_time">delay_warning_time</a>). The
- notification is sent to the address specified with the
- <a href="postconf.5.html#delay_notice_recipient">delay_notice_recipient</a> configuration parameter (default: postmaster).
- </dd>
- <dt><b>policy</b></dt>
- <dd>Send the postmaster a transcript of the SMTP session when a
- client request was rejected because of (UCE) policy. The notification
- is sent to the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a>
- configuration parameter (default: postmaster). </dd>
- <dt><b>protocol</b></dt>
- <dd>Send the postmaster a transcript of the SMTP session in case
- of client or server protocol errors. The notification is sent to
- the address specified with the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration
- parameter (default: postmaster). </dd>
- <dt><b>resource</b></dt>
- <dd>Inform the postmaster of mail not delivered due to resource
- problems. The notification is sent to the address specified with
- the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
- postmaster). </dd>
- <dt><b>software</b></dt>
- <dd>Inform the postmaster of mail not delivered due to software
- problems. The notification is sent to the address specified with
- the <a href="postconf.5.html#error_notice_recipient">error_notice_recipient</a> configuration parameter (default:
- postmaster). </dd>
- </dl>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#notify_classes">notify_classes</a> = bounce, delay, policy, protocol, resource, software
- <a href="postconf.5.html#notify_classes">notify_classes</a> = 2bounce, resource, software
- </pre>
- </DD>
- <DT><b><a name="nullmx_reject_code">nullmx_reject_code</a>
- (default: 556)</b></DT><DD>
- <p> The numerical reply code when the Postfix SMTP server rejects
- a sender or recipient address because its domain has a nullmx DNS
- record (an MX record with an empty hostname). This is one of the
- possible replies from the restrictions <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
- and <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="openssl_path">openssl_path</a>
- (default: openssl)</b></DT><DD>
- <p>
- The location of the OpenSSL command line program openssl(1). This
- is used by the "<b><a href="postfix-tls.1.html">postfix tls</a></b>" command to create private keys,
- certificate signing requests, self-signed certificates, and to
- compute public key digests for DANE TLSA records. In multi-instance
- environments, this parameter is always determined from the configuration
- of the default Postfix instance.
- </p>
- <p> Example: </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- # NetBSD pkgsrc:
- <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/pkg/bin/openssl
- # Local build:
- <a href="postconf.5.html#openssl_path">openssl_path</a> = /usr/local/bin/openssl
- </pre>
- </blockquote>
- <p>
- This feature is available in Postfix 3.1 and later.
- </p>
- </DD>
- <DT><b><a name="owner_request_special">owner_request_special</a>
- (default: yes)</b></DT><DD>
- <p>
- Give special treatment to owner-listname and listname-request
- address localparts: don't split such addresses when the
- <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is set to "-". This feature is useful for
- mailing lists.
- </p>
- </DD>
- <DT><b><a name="parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- A list of Postfix features where the pattern "example.com" also
- matches subdomains of example.com,
- instead of requiring an explicit ".example.com" pattern. This is
- planned backwards compatibility: eventually, all Postfix features
- are expected to require explicit ".example.com" style patterns when
- you really want to match subdomains.
- </p>
- <p> The following Postfix feature names are supported. </p>
- <dl>
- <dt> Postfix version 1.0 and later</dt>
- <dd>
- <a href="postconf.5.html#debug_peer_list">debug_peer_list</a>,
- <a href="postconf.5.html#fast_flush_domains">fast_flush_domains</a>,
- <a href="postconf.5.html#mynetworks">mynetworks</a>,
- <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>,
- <a href="postconf.5.html#relay_domains">relay_domains</a>,
- <a href="postconf.5.html#transport_maps">transport_maps</a>
- </dd>
- <dt> Postfix version 1.1 and later</dt>
- <dd>
- <a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>,
- smtpd_access_maps,
- </dd>
- <dt> Postfix version 2.8 and later </dt>
- <dd>
- <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>
- </dd>
- <dt> Postfix version 3.0 and later </dt>
- <dd>
- <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
- </dd>
- </dl>
- </DD>
- <DT><b><a name="permit_mx_backup_networks">permit_mx_backup_networks</a>
- (default: empty)</b></DT><DD>
- <p>
- Restrict the use of the <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> SMTP access feature to
- only domains whose primary MX hosts match the listed networks.
- The parameter value syntax is the same as with the <a href="postconf.5.html#mynetworks">mynetworks</a>
- parameter; note, however, that the default value is empty. </p>
- <p> Pattern matching of domain names is controlled by the presence
- or absence of "<a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>" in the
- <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </p>
- </DD>
- <DT><b><a name="pickup_service_name">pickup_service_name</a>
- (default: pickup)</b></DT><DD>
- <p>
- The name of the <a href="pickup.8.html">pickup(8)</a> service. This service picks up local mail
- submissions from the Postfix <a href="QSHAPE_README.html#maildrop_queue">maildrop queue</a>.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="pipe_delivery_status_filter">pipe_delivery_status_filter</a>
- (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
- <p> Optional filter for the <a href="pipe.8.html">pipe(8)</a> delivery agent to change the
- delivery status code or explanatory text of successful or unsuccessful
- deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="plaintext_reject_code">plaintext_reject_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a request
- is rejected by the <b><a href="postconf.5.html#reject_plaintext_session">reject_plaintext_session</a></b> restriction.
- </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="postmulti_control_commands">postmulti_control_commands</a>
- (default: reload flush)</b></DT><DD>
- <p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager
- treats as "control" commands, that operate on running instances. For
- these commands, disabled instances are skipped. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="postmulti_start_commands">postmulti_start_commands</a>
- (default: start)</b></DT><DD>
- <p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
- as "start" commands. For these commands, disabled instances are "checked"
- rather than "started", and failure to "start" a member instance of an
- instance group will abort the start-up of later instances. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="postmulti_stop_commands">postmulti_stop_commands</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The <a href="postfix.1.html">postfix(1)</a> commands that the <a href="postmulti.1.html">postmulti(1)</a> instance manager treats
- as "stop" commands. For these commands, disabled instances are skipped,
- and enabled instances are processed in reverse order. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="postscreen_access_list">postscreen_access_list</a>
- (default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>)</b></DT><DD>
- <p> Permanent white/blacklist for remote SMTP client IP addresses.
- <a href="postscreen.8.html">postscreen(8)</a> searches this list immediately after a remote SMTP
- client connects. Specify a comma- or whitespace-separated list of
- commands (in upper or lower case) or lookup tables. The search stops
- upon the first command that fires for the client IP address. </p>
- <dl>
- <dt> <b> <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> </b> </dt> <dd> Whitelist the client and
- terminate the search if the client IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>.
- Do not subject the client to any before/after 220 greeting tests.
- Pass the connection immediately to a Postfix SMTP server process.
- <br> Pattern matching of domain names is controlled by the presence
- or absence of "<a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a>" in the
- <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </dd>
- <dt> <b> <a href="DATABASE_README.html">type:table</a> </b> </dt> <dd> Query the specified lookup
- table. Each table lookup result is an access list, except that
- access lists inside a table cannot specify <a href="DATABASE_README.html">type:table</a> entries. <br>
- To discourage the use of hash, btree, etc. tables, there is no
- support for substring matching like <a href="smtpd.8.html">smtpd(8)</a>. Use CIDR tables
- instead. </dd>
- <dt> <b> permit </b> </dt> <dd> Whitelist the client and terminate
- the search. Do not subject the client to any before/after 220
- greeting tests. Pass the connection immediately to a Postfix SMTP
- server process. </dd>
- <dt> <b> reject </b> </dt> <dd> Blacklist the client and terminate
- the search. Subject the client to the action configured with the
- <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> configuration parameter. </dd>
- <dt> <b> dunno </b> </dt> <dd> All <a href="postscreen.8.html">postscreen(8)</a> access lists
- implicitly have this command at the end. <br> When <b> dunno </b>
- is executed inside a lookup table, return from the lookup table and
- evaluate the next command. <br> When <b> dunno </b> is executed
- outside a lookup table, terminate the search, and subject the client
- to the configured before/after 220 greeting tests. </dd>
- </dl>
- <p> Example: </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>,
- <a href="cidr_table.5.html">cidr</a>:/etc/postfix/postscreen_access.cidr
- <a href="postconf.5.html#postscreen_blacklist_action">postscreen_blacklist_action</a> = enforce
- </pre>
- <pre>
- /etc/postfix/postscreen_access.<a href="cidr_table.5.html">cidr</a>:
- # Rules are evaluated in the order as specified.
- # Blacklist 192.168.* except 192.168.0.1.
- 192.168.0.1 dunno
- 192.168.0.0/16 reject
- </pre>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_bare_newline_action">postscreen_bare_newline_action</a>
- (default: ignore)</b></DT><DD>
- <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
- a bare newline character, that is, a newline not preceded by carriage
- return. Specify one of the following: </p>
- <dl>
- <dt> <b>ignore</b> </dt>
- <dd> Ignore the failure of this test. Allow other tests to complete.
- Do <i>not</i> repeat this test before some the result from some
- other test expires.
- This option is useful for testing and collecting statistics
- without blocking mail permanently. </dd>
- <dt> <b>enforce</b> </dt>
- <dd> Allow other tests to complete. Reject attempts to deliver mail
- with a 550 SMTP reply, and log the helo/sender/recipient information.
- Repeat this test the next time the client connects. </dd>
- <dt> <b>drop</b> </dt>
- <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
- this test the next time the client connects. </dd>
- </dl>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_bare_newline_enable">postscreen_bare_newline_enable</a>
- (default: no)</b></DT><DD>
- <p> Enable "bare newline" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
- server. These tests are expensive: a remote SMTP client must
- disconnect after
- it passes the test, before it can talk to a real Postfix SMTP server.
- </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_bare_newline_ttl">postscreen_bare_newline_ttl</a>
- (default: 30d)</b></DT><DD>
- <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
- a successful "bare newline" SMTP protocol test. During this
- time, the client IP address is excluded from this test. The default
- is long because a remote SMTP client must disconnect after it passes
- the test,
- before it can talk to a real Postfix SMTP server. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). Time units: s
- (seconds), m (minutes), h (hours), d (days), w (weeks). </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_blacklist_action">postscreen_blacklist_action</a>
- (default: ignore)</b></DT><DD>
- <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client is
- permanently blacklisted with the <a href="postconf.5.html#postscreen_access_list">postscreen_access_list</a> parameter.
- Specify one of the following: </p>
- <dl>
- <dt> <b>ignore</b> (default) </dt>
- <dd> Ignore this result. Allow other tests to complete. Repeat
- this test the next time the client connects.
- This option is useful for testing and collecting statistics
- without blocking mail. </dd>
- <dt> <b>enforce</b> </dt>
- <dd> Allow other tests to complete. Reject attempts to deliver mail
- with a 550 SMTP reply, and log the helo/sender/recipient information.
- Repeat this test the next time the client connects. </dd>
- <dt> <b>drop</b> </dt>
- <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
- this test the next time the client connects. </dd>
- </dl>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_cache_cleanup_interval">postscreen_cache_cleanup_interval</a>
- (default: 12h)</b></DT><DD>
- <p> The amount of time between <a href="postscreen.8.html">postscreen(8)</a> cache cleanup runs.
- Cache cleanup increases the load on the cache database and should
- therefore not be run frequently. This feature requires that the
- cache database supports the "delete" and "sequence" operators.
- Specify a zero interval to disable cache cleanup. </p>
- <p> After each cache cleanup run, the <a href="postscreen.8.html">postscreen(8)</a> daemon logs the
- number of entries that were retained and dropped. A cleanup run is
- logged as "partial" when the daemon terminates early after "<b>postfix
- reload</b>", "<b>postfix stop</b>", or no requests for $<a href="postconf.5.html#max_idle">max_idle</a>
- seconds. </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_cache_map">postscreen_cache_map</a>
- (default: <a href="DATABASE_README.html#types">btree</a>:$<a href="postconf.5.html#data_directory">data_directory</a>/postscreen_cache)</b></DT><DD>
- <p> Persistent storage for the <a href="postscreen.8.html">postscreen(8)</a> server decisions. </p>
- <p> To share a <a href="postscreen.8.html">postscreen(8)</a> cache between multiple <a href="postscreen.8.html">postscreen(8)</a>
- instances, use "<a href="postconf.5.html#postscreen_cache_map">postscreen_cache_map</a> = <a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/path/to/file".
- This requires Postfix version 2.9 or later; earlier <a href="proxymap.8.html">proxymap(8)</a>
- implementations don't support cache cleanup. For an alternative
- approach see the <a href="memcache_table.5.html">memcache_table(5)</a> manpage. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_cache_retention_time">postscreen_cache_retention_time</a>
- (default: 7d)</b></DT><DD>
- <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will cache an expired
- temporary whitelist entry before it is removed. This prevents clients
- from being logged as "NEW" just because their cache entry expired
- an hour ago. It also prevents the cache from filling up with clients
- that passed some deep protocol test once and never came back. </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_client_connection_count_limit">postscreen_client_connection_count_limit</a>
- (default: $<a href="postconf.5.html#smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>)</b></DT><DD>
- <p> How many simultaneous connections any remote SMTP client is
- allowed to have
- with the <a href="postscreen.8.html">postscreen(8)</a> daemon. By default, this limit is the same
- as with the Postfix SMTP server. Note that the triage process can
- take several seconds, with the time spent in <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
- delay, and with the time spent talking to the <a href="postscreen.8.html">postscreen(8)</a> built-in
- dummy SMTP protocol engine. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_command_count_limit">postscreen_command_count_limit</a>
- (default: 20)</b></DT><DD>
- <p> The limit on the total number of commands per SMTP session for
- <a href="postscreen.8.html">postscreen(8)</a>'s built-in SMTP protocol engine. This SMTP engine
- defers or rejects all attempts to deliver mail, therefore there is
- no need to enforce separate limits on the number of junk commands
- and error commands. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_command_filter">postscreen_command_filter</a>
- (default: $<a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>)</b></DT><DD>
- <p> A mechanism to transform commands from remote SMTP clients.
- See <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="postscreen_command_time_limit">postscreen_command_time_limit</a>
- (default: normal: 300s, overload: 10s)</b></DT><DD>
- <p> The time limit to read an entire command line with <a href="postscreen.8.html">postscreen(8)</a>'s
- built-in SMTP protocol engine. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_disable_vrfy_command">postscreen_disable_vrfy_command</a>
- (default: $<a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a>)</b></DT><DD>
- <p> Disable the SMTP VRFY command in the <a href="postscreen.8.html">postscreen(8)</a> daemon. See
- <a href="postconf.5.html#disable_vrfy_command">disable_vrfy_command</a> for details. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_discard_ehlo_keyword_address_maps">postscreen_discard_ehlo_keyword_address_maps</a>
- (default: $<a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>)</b></DT><DD>
- <p> Lookup tables, indexed by the remote SMTP client address, with
- case insensitive lists of EHLO keywords (pipelining, starttls, auth,
- etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO response
- to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
- The table is not searched by hostname for robustness reasons. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="postscreen_discard_ehlo_keywords">postscreen_discard_ehlo_keywords</a>
- (default: $<a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>)</b></DT><DD>
- <p> A case insensitive list of EHLO keywords (pipelining, starttls,
- auth, etc.) that the <a href="postscreen.8.html">postscreen(8)</a> server will not send in the EHLO
- response to a remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
- for details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="postscreen_dnsbl_action">postscreen_dnsbl_action</a>
- (default: ignore)</b></DT><DD>
- <p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client's combined
- DNSBL score is equal to or greater than a threshold (as defined
- with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> and <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>
- parameters). Specify one of the following: </p>
- <dl>
- <dt> <b>ignore</b> (default) </dt>
- <dd> Ignore the failure of this test. Allow other tests to complete.
- Repeat this test the next time the client connects.
- This option is useful for testing and collecting statistics
- without blocking mail. </dd>
- <dt> <b>enforce</b> </dt>
- <dd> Allow other tests to complete. Reject attempts to deliver mail
- with a 550 SMTP reply, and log the helo/sender/recipient information.
- Repeat this test the next time the client connects. </dd>
- <dt> <b>drop</b> </dt>
- <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
- this test the next time the client connects. </dd>
- </dl>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>
- (default: ${<a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>?{$<a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>}:{1}}h)</b></DT><DD>
- <p> The maximum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the
- result from a successful DNS-based reputation test before a
- client IP address is required to pass that test again. If the DNS
- reply specifies a shorter TTL value, that value will be used unless
- it would be smaller than <a href="postconf.5.html#postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). Time units: s
- (seconds), m (minutes), h (hours), d (days), w (weeks). </p>
- <p> This feature is available in Postfix 3.1. The default setting
- is backwards-compatible with older Postfix versions. </p>
- </DD>
- <DT><b><a name="postscreen_dnsbl_min_ttl">postscreen_dnsbl_min_ttl</a>
- (default: 60s)</b></DT><DD>
- <p> The minimum amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the
- result from a successful DNS-based reputation test before a
- client IP address is required to pass that test again. If the DNS
- reply specifies a larger TTL value, that value will be used unless
- it would be larger than <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a>. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). Time units: s
- (seconds), m (minutes), h (hours), d (days), w (weeks). </p>
- <p> This feature is available in Postfix 3.1. </p>
- </DD>
- <DT><b><a name="postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a>
- (default: empty)</b></DT><DD>
- <p> A mapping from actual DNSBL domain name which includes a secret
- password, to the DNSBL domain name that postscreen will reply with
- when it rejects mail. When no mapping is found, the actual DNSBL
- domain will be used. </p>
- <p> For maximal stability it is best to use a file that is read
- into memory such as <a href="pcre_table.5.html">pcre</a>:, <a href="regexp_table.5.html">regexp</a>: or <a href="DATABASE_README.html#types">texthash</a>: (<a href="DATABASE_README.html#types">texthash</a>: is similar
- to <a href="DATABASE_README.html#types">hash</a>:, except a) there is no need to run <a href="postmap.1.html">postmap(1)</a> before the
- file can be used, and b) <a href="DATABASE_README.html#types">texthash</a>: does not detect changes after
- the file is read). </p>
- <p> Example: </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> = <a href="DATABASE_README.html#types">texthash</a>:/etc/postfix/dnsbl_reply
- </pre>
- <pre>
- /etc/postfix/dnsbl_reply:
- secret.zen.spamhaus.org zen.spamhaus.org
- </pre>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
- (default: empty)</b></DT><DD>
- <p>Optional list of DNS white/blacklist domains, filters and weight
- factors. When the list is non-empty, the <a href="dnsblog.8.html">dnsblog(8)</a> daemon will
- query these domains with the IP addresses of remote SMTP clients,
- and <a href="postscreen.8.html">postscreen(8)</a> will update an SMTP client's DNSBL score with
- each non-error reply. </p>
- <p> Caution: when postscreen rejects mail, it replies with the DNSBL
- domain name. Use the <a href="postconf.5.html#postscreen_dnsbl_reply_map">postscreen_dnsbl_reply_map</a> feature to hide
- "password" information in DNSBL domain names. </p>
- <p> When a client's score is equal to or greater than the threshold
- specified with <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>, <a href="postscreen.8.html">postscreen(8)</a> can drop
- the connection with the remote SMTP client. </p>
- <p> Specify a list of domain=filter*weight entries, separated by
- comma or whitespace. </p>
- <ul>
- <li> <p> When no "=filter" is specified, <a href="postscreen.8.html">postscreen(8)</a> will use any
- non-error DNSBL reply. Otherwise, <a href="postscreen.8.html">postscreen(8)</a> uses only DNSBL
- replies that match the filter. The filter has the form d.d.d.d,
- where each d is a number, or a pattern inside [] that contains one
- or more ";"-separated numbers or number..number ranges. </p>
- <li> <p> When no "*weight" is specified, <a href="postscreen.8.html">postscreen(8)</a> increments
- the remote SMTP client's DNSBL score by 1. Otherwise, the weight must be
- an integral number, and <a href="postscreen.8.html">postscreen(8)</a> adds the specified weight to
- the remote SMTP client's DNSBL score. Specify a negative number for
- whitelisting. </p>
- <li> <p> When one <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> entry produces multiple
- DNSBL responses, <a href="postscreen.8.html">postscreen(8)</a> applies the weight at most once.
- </p>
- </ul>
- <p> Examples: </p>
- <p> To use example.com as a high-confidence blocklist, and to
- block mail with example.net and example.org only when both agree:
- </p>
- <pre>
- <a href="postconf.5.html#postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a> = 2
- <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com*2, example.net, example.org
- </pre>
- <p> To filter only DNSBL replies containing 127.0.0.4: </p>
- <pre>
- <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> = example.com=127.0.0.4
- </pre>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_dnsbl_threshold">postscreen_dnsbl_threshold</a>
- (default: 1)</b></DT><DD>
- <p> The inclusive lower bound for blocking a remote SMTP client, based on
- its combined DNSBL score as defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a>
- parameter. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_dnsbl_timeout">postscreen_dnsbl_timeout</a>
- (default: 10s)</b></DT><DD>
- <p> The time limit for DNSBL or DNSWL lookups. This is separate from
- the timeouts in the <a href="dnsblog.8.html">dnsblog(8)</a> daemon which are defined by system
- resolver(3) routines. </p>
- <p> This feature is available in Postfix 3.0. </p>
- </DD>
- <DT><b><a name="postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>
- (default: 1h)</b></DT><DD>
- <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
- a successful DNS-based reputation test before a client
- IP address is required to pass that test again. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). Time units: s
- (seconds), m (minutes), h (hours), d (days), w (weeks). </p>
- <p> This feature is available in Postfix 2.8-3.0. It was
- replaced by <a href="postconf.5.html#postscreen_dnsbl_max_ttl">postscreen_dnsbl_max_ttl</a> in Postfix 3.1. </p>
- </DD>
- <DT><b><a name="postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a>
- (default: 0)</b></DT><DD>
- <p> Allow a remote SMTP client to skip "before" and "after 220
- greeting" protocol tests, based on its combined DNSBL score as
- defined with the <a href="postconf.5.html#postscreen_dnsbl_sites">postscreen_dnsbl_sites</a> parameter. </p>
- <p> Specify a negative value to enable this feature. When a client
- passes the <a href="postconf.5.html#postscreen_dnsbl_whitelist_threshold">postscreen_dnsbl_whitelist_threshold</a> without having
- failed other tests, all pending or disabled tests are flagged as
- completed with a time-to-live value equal to <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>.
- When a test was already completed, its time-to-live value is updated
- if it was less than <a href="postconf.5.html#postscreen_dnsbl_ttl">postscreen_dnsbl_ttl</a>. </p>
- <p> This feature is available in Postfix 2.11. </p>
- </DD>
- <DT><b><a name="postscreen_enforce_tls">postscreen_enforce_tls</a>
- (default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
- <p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
- require that clients use TLS encryption. See smtpd_postscreen_enforce_tls
- for details. </p>
- <p> This feature is available in Postfix 2.8 and later.
- Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
- </DD>
- <DT><b><a name="postscreen_expansion_filter">postscreen_expansion_filter</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> List of characters that are permitted in <a href="postconf.5.html#postscreen_reject_footer">postscreen_reject_footer</a>
- attribute expansions. See <a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> for further
- details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="postscreen_forbidden_commands">postscreen_forbidden_commands</a>
- (default: $<a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>)</b></DT><DD>
- <p> List of commands that the <a href="postscreen.8.html">postscreen(8)</a> server considers in
- violation of the SMTP protocol. See <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a> for
- syntax, and <a href="postconf.5.html#postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a> for possible actions.
- </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_greet_action">postscreen_greet_action</a>
- (default: ignore)</b></DT><DD>
- <p>The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client speaks
- before its turn within the time specified with the <a href="postconf.5.html#postscreen_greet_wait">postscreen_greet_wait</a>
- parameter. Specify one of the following: </p>
- <dl>
- <dt> <b>ignore</b> (default) </dt>
- <dd> Ignore the failure of this test. Allow other tests to complete.
- Repeat this test the next time the client connects.
- This option is useful for testing and collecting statistics
- without blocking mail. </dd>
- <dt> <b>enforce</b> </dt>
- <dd> Allow other tests to complete. Reject attempts to deliver mail
- with a 550 SMTP reply, and log the helo/sender/recipient information.
- Repeat this test the next time the client connects. </dd>
- <dt> <b>drop</b> </dt>
- <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
- this test the next time the client connects. </dd>
- </dl>
- <p> In either case, <a href="postscreen.8.html">postscreen(8)</a> will not whitelist the remote SMTP client
- IP address. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_greet_banner">postscreen_greet_banner</a>
- (default: $<a href="postconf.5.html#smtpd_banner">smtpd_banner</a>)</b></DT><DD>
- <p> The <i>text</i> in the optional "220-<i>text</i>..." server
- response that
- <a href="postscreen.8.html">postscreen(8)</a> sends ahead of the real Postfix SMTP server's "220
- text..." response, in an attempt to confuse bad SMTP clients so
- that they speak before their turn (pre-greet). Specify an empty
- value to disable this feature. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_greet_ttl">postscreen_greet_ttl</a>
- (default: 1d)</b></DT><DD>
- <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
- a successful PREGREET test. During this time, the client IP address
- is excluded from this test. The default is relatively short, because
- a good client can immediately talk to a real Postfix SMTP server. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). Time units: s
- (seconds), m (minutes), h (hours), d (days), w (weeks). </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_greet_wait">postscreen_greet_wait</a>
- (default: normal: 6s, overload: 2s)</b></DT><DD>
- <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will wait for an SMTP
- client to send a command before its turn, and for DNS blocklist
- lookup results to arrive (default: up to 2 seconds under stress,
- up to 6 seconds otherwise). <p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). </p>
- <p> Time units: s (seconds), m (minutes), h (hours), d (days), w
- (weeks). </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_helo_required">postscreen_helo_required</a>
- (default: $<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a>)</b></DT><DD>
- <p> Require that a remote SMTP client sends HELO or EHLO before
- commencing a MAIL transaction. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_non_smtp_command_action">postscreen_non_smtp_command_action</a>
- (default: drop)</b></DT><DD>
- <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client sends
- non-SMTP commands as specified with the <a href="postconf.5.html#postscreen_forbidden_commands">postscreen_forbidden_commands</a>
- parameter. Specify one of the following: </p>
- <dl>
- <dt> <b>ignore</b> </dt>
- <dd> Ignore the failure of this test. Allow other tests to complete.
- Do <i>not</i> repeat this test before some the result from some
- other test expires.
- This option is useful for testing and collecting statistics
- without blocking mail permanently. </dd>
- <dt> <b>enforce</b> </dt>
- <dd> Allow other tests to complete. Reject attempts to deliver mail
- with a 550 SMTP reply, and log the helo/sender/recipient information.
- Repeat this test the next time the client connects. </dd>
- <dt> <b>drop</b> </dt>
- <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
- this test the next time the client connects. This action is the
- same as with the Postfix SMTP server's <a href="postconf.5.html#smtpd_forbidden_commands">smtpd_forbidden_commands</a>
- feature. </dd>
- </dl>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_non_smtp_command_enable">postscreen_non_smtp_command_enable</a>
- (default: no)</b></DT><DD>
- <p> Enable "non-SMTP command" tests in the <a href="postscreen.8.html">postscreen(8)</a> server. These
- tests are expensive: a client must disconnect after it passes the
- test, before it can talk to a real Postfix SMTP server. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_non_smtp_command_ttl">postscreen_non_smtp_command_ttl</a>
- (default: 30d)</b></DT><DD>
- <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
- a successful "non_smtp_command" SMTP protocol test. During this
- time, the client IP address is excluded from this test. The default
- is long because a client must disconnect after it passes the test,
- before it can talk to a real Postfix SMTP server. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). Time units: s
- (seconds), m (minutes), h (hours), d (days), w (weeks). </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_pipelining_action">postscreen_pipelining_action</a>
- (default: enforce)</b></DT><DD>
- <p> The action that <a href="postscreen.8.html">postscreen(8)</a> takes when a remote SMTP client
- sends
- multiple commands instead of sending one command and waiting for
- the server to respond. Specify one of the following: </p>
- <dl>
- <dt> <b>ignore</b> </dt>
- <dd> Ignore the failure of this test. Allow other tests to complete.
- Do <i>not</i> repeat this test before some the result from some
- other test expires.
- This option is useful for testing and collecting statistics
- without blocking mail permanently. </dd>
- <dt> <b>enforce</b> </dt>
- <dd> Allow other tests to complete. Reject attempts to deliver mail
- with a 550 SMTP reply, and log the helo/sender/recipient information.
- Repeat this test the next time the client connects. </dd>
- <dt> <b>drop</b> </dt>
- <dd> Drop the connection immediately with a 521 SMTP reply. Repeat
- this test the next time the client connects. </dd>
- </dl>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_pipelining_enable">postscreen_pipelining_enable</a>
- (default: no)</b></DT><DD>
- <p> Enable "pipelining" SMTP protocol tests in the <a href="postscreen.8.html">postscreen(8)</a>
- server. These tests are expensive: a good client must disconnect
- after it passes the test, before it can talk to a real Postfix SMTP
- server. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_pipelining_ttl">postscreen_pipelining_ttl</a>
- (default: 30d)</b></DT><DD>
- <p> The amount of time that <a href="postscreen.8.html">postscreen(8)</a> will use the result from
- a successful "pipelining" SMTP protocol test. During this time, the
- client IP address is excluded from this test. The default is
- long because a good client must disconnect after it passes the test,
- before it can talk to a real Postfix SMTP server. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). Time units: s
- (seconds), m (minutes), h (hours), d (days), w (weeks). </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_post_queue_limit">postscreen_post_queue_limit</a>
- (default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
- <p> The number of clients that can be waiting for service from a
- real Postfix SMTP server process. When this queue is full, all
- clients will
- receive a 421 response. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_pre_queue_limit">postscreen_pre_queue_limit</a>
- (default: $<a href="postconf.5.html#default_process_limit">default_process_limit</a>)</b></DT><DD>
- <p> The number of non-whitelisted clients that can be waiting for
- a decision whether they will receive service from a real Postfix
- SMTP server
- process. When this queue is full, all non-whitelisted clients will
- receive a 421 response. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_reject_footer">postscreen_reject_footer</a>
- (default: $<a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a>)</b></DT><DD>
- <p> Optional information that is appended after a 4XX or 5XX
- <a href="postscreen.8.html">postscreen(8)</a> server
- response. See <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="postscreen_tls_security_level">postscreen_tls_security_level</a>
- (default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
- <p> The SMTP TLS security level for the <a href="postscreen.8.html">postscreen(8)</a> server; when
- a non-empty value is specified, this overrides the obsolete parameters
- <a href="postconf.5.html#postscreen_use_tls">postscreen_use_tls</a> and <a href="postconf.5.html#postscreen_enforce_tls">postscreen_enforce_tls</a>. See <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>
- for details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a>
- (default: empty)</b></DT><DD>
- <p> The name of the proxy protocol used by an optional before-postscreen
- proxy agent. When a proxy agent is used, this protocol conveys local
- and remote address and port information. Specify
- "<a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
- protocol. <p>
- <p> This feature is available in Postfix 2.10 and later. </p>
- </DD>
- <DT><b><a name="postscreen_upstream_proxy_timeout">postscreen_upstream_proxy_timeout</a>
- (default: 5s)</b></DT><DD>
- <p> The time limit for the proxy protocol specified with the
- <a href="postconf.5.html#postscreen_upstream_proxy_protocol">postscreen_upstream_proxy_protocol</a> parameter. </p>
- <p> This feature is available in Postfix 2.10 and later. </p>
- </DD>
- <DT><b><a name="postscreen_use_tls">postscreen_use_tls</a>
- (default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
- <p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
- but do not require that clients use TLS encryption. </p>
- <p> This feature is available in Postfix 2.8 and later.
- Preferably, use <a href="postconf.5.html#postscreen_tls_security_level">postscreen_tls_security_level</a> instead. </p>
- </DD>
- <DT><b><a name="postscreen_watchdog_timeout">postscreen_watchdog_timeout</a>
- (default: 10s)</b></DT><DD>
- <p> How much time a <a href="postscreen.8.html">postscreen(8)</a> process may take to respond to
- a remote SMTP client command or to perform a cache operation before it
- is terminated by a built-in watchdog timer. This is a safety
- mechanism that prevents <a href="postscreen.8.html">postscreen(8)</a> from becoming non-responsive
- due to a bug in Postfix itself or in system software. To avoid
- false alarms and unnecessary cache corruption this limit cannot be
- set under 10s. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). Time units: s
- (seconds), m (minutes), h (hours), d (days), w (weeks). </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a>
- (default: <a href="DATABASE_README.html#types">static</a>:all)</b></DT><DD>
- <p> A list of local <a href="postscreen.8.html">postscreen(8)</a> server IP addresses where a
- non-whitelisted remote SMTP client can obtain <a href="postscreen.8.html">postscreen(8)</a>'s temporary
- whitelist status. This status is required before the client can
- talk to a Postfix SMTP server process. By default, a client can
- obtain <a href="postscreen.8.html">postscreen(8)</a>'s whitelist status on any local <a href="postscreen.8.html">postscreen(8)</a>
- server IP address. </p>
- <p> When <a href="postscreen.8.html">postscreen(8)</a> listens on both primary and backup MX
- addresses, the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> parameter can be
- configured to give the temporary whitelist status only when a client
- connects to a primary MX address. Once a client is whitelisted it
- can talk to a Postfix SMTP server on any address. Thus, clients
- that connect only to backup MX addresses will never become whitelisted,
- and will never be allowed to talk to a Postfix SMTP server process.
- </p>
- <p> Specify a list of network addresses or network/netmask patterns,
- separated by commas and/or whitespace. The netmask specifies the
- number of bits in the network part of a host address. Continue long
- lines by starting the next line with whitespace. </p>
- <p> You can also specify "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A
- "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
- lookup table is matched when a table entry matches a lookup string
- (the lookup result is ignored). </p>
- <p> The list is matched left to right, and the search stops on the
- first match. Specify "!pattern" to exclude an address or network
- block from the list. </p>
- <p> Note: IP version 6 address information must be specified inside
- [] in the <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> value, and in files
- specified with "/file/name". IP version 6 addresses contain the
- ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
- pattern. </p>
- <p> Example: </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- # Don't whitelist connections to the backup IP address.
- <a href="postconf.5.html#postscreen_whitelist_interfaces">postscreen_whitelist_interfaces</a> = !168.100.189.8, <a href="DATABASE_README.html#types">static</a>:all
- </pre>
- <p> This feature is available in Postfix 2.9 and later. </p>
- </DD>
- <DT><b><a name="prepend_delivered_header">prepend_delivered_header</a>
- (default: command, file, forward)</b></DT><DD>
- <p> The message delivery contexts where the Postfix <a href="local.8.html">local(8)</a> delivery
- agent prepends a Delivered-To: message header with the address
- that the mail was delivered to. This information is used for mail
- delivery loop detection. </p>
- <p>
- By default, the Postfix local delivery agent prepends a Delivered-To:
- header when forwarding mail and when delivering to file (mailbox)
- and command. Turning off the Delivered-To: header when forwarding
- mail is not recommended.
- </p>
- <p>
- Specify zero or more of <b>forward</b>, <b>file</b>, or <b>command</b>.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#prepend_delivered_header">prepend_delivered_header</a> = forward
- </pre>
- </DD>
- <DT><b><a name="process_id">process_id</a>
- (read-only)</b></DT><DD>
- <p>
- The process ID of a Postfix command or daemon process.
- </p>
- </DD>
- <DT><b><a name="process_id_directory">process_id_directory</a>
- (default: pid)</b></DT><DD>
- <p>
- The location of Postfix PID files relative to $<a href="postconf.5.html#queue_directory">queue_directory</a>.
- This is a read-only parameter.
- </p>
- </DD>
- <DT><b><a name="process_name">process_name</a>
- (read-only)</b></DT><DD>
- <p>
- The process name of a Postfix command or daemon process.
- </p>
- </DD>
- <DT><b><a name="propagate_unmatched_extensions">propagate_unmatched_extensions</a>
- (default: canonical, virtual)</b></DT><DD>
- <p>
- What address lookup tables copy an address extension from the lookup
- key to the lookup result.
- </p>
- <p>
- For example, with a <a href="virtual.5.html">virtual(5)</a> mapping of "<i>joe@example.com =>
- joe.user@example.net</i>", the address "<i>joe+foo@example.com</i>"
- would rewrite to "<i>joe.user+foo@example.net</i>".
- </p>
- <p>
- Specify zero or more of <b>canonical</b>, <b>virtual</b>, <b>alias</b>,
- <b>forward</b>, <b>include</b> or <b>generic</b>. These cause
- address extension
- propagation with <a href="canonical.5.html">canonical(5)</a>, <a href="virtual.5.html">virtual(5)</a>, and <a href="aliases.5.html">aliases(5)</a> maps,
- with <a href="local.8.html">local(8)</a> .forward and :include: file lookups, and with <a href="smtp.8.html">smtp(8)</a>
- generic maps, respectively. </p>
- <p>
- Note: enabling this feature for types other than <b>canonical</b>
- and <b>virtual</b> is likely to cause problems when mail is forwarded
- to other sites, especially with mail that is sent to a mailing list
- exploder address.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual, alias,
- forward, include
- <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> = canonical, virtual
- </pre>
- </DD>
- <DT><b><a name="proxy_interfaces">proxy_interfaces</a>
- (default: empty)</b></DT><DD>
- <p>
- The network interface addresses that this mail system receives mail
- on by way of a proxy or network address translation unit.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- <p> You must specify your "outside" proxy/NAT addresses when your
- system is a backup MX host for other domains, otherwise mail delivery
- loops will happen when the primary MX host is down. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> = 1.2.3.4
- </pre>
- </DD>
- <DT><b><a name="proxy_read_maps">proxy_read_maps</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
- access for the read-only service.
- </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma.
- Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="proxy_write_maps">proxy_write_maps</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The lookup tables that the <a href="proxymap.8.html">proxymap(8)</a> server is allowed to
- access for the read-write service. Postfix-owned local database
- files should be stored under the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>.
- Table references that don't begin with <a href="proxymap.8.html">proxy</a>: are ignored. </p>
- <p>
- This feature is available in Postfix 2.5 and later.
- </p>
- </DD>
- <DT><b><a name="proxymap_service_name">proxymap_service_name</a>
- (default: proxymap)</b></DT><DD>
- <p> The name of the proxymap read-only table lookup service. This
- service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="proxywrite_service_name">proxywrite_service_name</a>
- (default: proxywrite)</b></DT><DD>
- <p> The name of the proxywrite read-write table lookup service.
- This service is normally implemented by the <a href="proxymap.8.html">proxymap(8)</a> daemon.
- </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="qmgr_clog_warn_time">qmgr_clog_warn_time</a>
- (default: 300s)</b></DT><DD>
- <p>
- The minimal delay between warnings that a specific destination is
- clogging up the Postfix <a href="QSHAPE_README.html#active_queue">active queue</a>. Specify 0 to disable.
- </p>
- <p>
- This feature is enabled with the <a href="postconf.5.html#helpful_warnings">helpful_warnings</a> parameter.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="qmgr_daemon_timeout">qmgr_daemon_timeout</a>
- (default: 1000s)</b></DT><DD>
- <p> How much time a Postfix queue manager process may take to handle
- a request before it is terminated by a built-in watchdog timer.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="qmgr_fudge_factor">qmgr_fudge_factor</a>
- (default: 100)</b></DT><DD>
- <p>
- Obsolete feature: the percentage of delivery resources that a busy
- mail system will use up for delivery of a large mailing list
- message.
- </p>
- <p>
- This feature exists only in the <a href="qmgr.8.html">oqmgr(8)</a> old queue manager. The
- current queue manager solves the problem in a better way.
- </p>
- </DD>
- <DT><b><a name="qmgr_ipc_timeout">qmgr_ipc_timeout</a>
- (default: 60s)</b></DT><DD>
- <p> The time limit for the queue manager to send or receive information
- over an internal communication channel. The purpose is to break
- out of deadlock situations. If the time limit is exceeded the
- software either retries or aborts the operation. </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="qmgr_message_active_limit">qmgr_message_active_limit</a>
- (default: 20000)</b></DT><DD>
- <p>
- The maximal number of messages in the <a href="QSHAPE_README.html#active_queue">active queue</a>.
- </p>
- </DD>
- <DT><b><a name="qmgr_message_recipient_limit">qmgr_message_recipient_limit</a>
- (default: 20000)</b></DT><DD>
- <p> The maximal number of recipients held in memory by the Postfix
- queue manager, and the maximal size of the short-term,
- in-memory "dead" destination status cache. </p>
- </DD>
- <DT><b><a name="qmgr_message_recipient_minimum">qmgr_message_recipient_minimum</a>
- (default: 10)</b></DT><DD>
- <p>
- The minimal number of in-memory recipients for any message. This
- takes priority over any other in-memory recipient limits (i.e.,
- the global <a href="postconf.5.html#qmgr_message_recipient_limit">qmgr_message_recipient_limit</a> and the per transport
- _recipient_limit) if necessary. The minimum value allowed for this
- parameter is 1.
- </p>
- </DD>
- <DT><b><a name="qmqpd_authorized_clients">qmqpd_authorized_clients</a>
- (default: empty)</b></DT><DD>
- <p>
- What remote QMQP clients are allowed to connect to the Postfix QMQP
- server port.
- </p>
- <p>
- By default, no client is allowed to use the service. This is
- because the QMQP server will relay mail to any destination.
- </p>
- <p>
- Specify a list of client patterns. A list pattern specifies a host
- name, a domain name, an internet address, or a network/mask pattern,
- where the mask specifies the number of bits in the network part.
- When a pattern specifies a file name, its contents are substituted
- for the file name; when a pattern is a "<a href="DATABASE_README.html">type:table</a>" table specification,
- table lookup is used instead. </p>
- <p>
- Patterns are separated by whitespace and/or commas. In order to
- reverse the result, precede a pattern with an
- exclamation point (!). The form "!/file/name" is supported only
- in Postfix version 2.4 and later.
- </p>
- <p> Pattern matching of domain names is controlled by the presence
- or absence of "<a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a>" in the
- <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#qmqpd_authorized_clients">qmqpd_authorized_clients</a> = !192.168.0.1, 192.168.0.0/24
- </pre>
- </DD>
- <DT><b><a name="qmqpd_client_port_logging">qmqpd_client_port_logging</a>
- (default: no)</b></DT><DD>
- <p> Enable logging of the remote QMQP client port in addition to
- the hostname and IP address. The logging format is "host[address]:port".
- </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="qmqpd_error_delay">qmqpd_error_delay</a>
- (default: 1s)</b></DT><DD>
- <p>
- How long the Postfix QMQP server will pause before sending a negative
- reply to the remote QMQP client. The purpose is to slow down confused
- or malicious clients.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="qmqpd_timeout">qmqpd_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The time limit for sending or receiving information over the network.
- If a read or write operation blocks for more than $<a href="postconf.5.html#qmqpd_timeout">qmqpd_timeout</a>
- seconds the Postfix QMQP server gives up and disconnects.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="queue_directory">queue_directory</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The location of the Postfix top-level queue directory. This is the
- root directory of Postfix daemon processes that run chrooted.
- </p>
- </DD>
- <DT><b><a name="queue_file_attribute_count_limit">queue_file_attribute_count_limit</a>
- (default: 100)</b></DT><DD>
- <p>
- The maximal number of (name=value) attributes that may be stored
- in a Postfix queue file. The limit is enforced by the <a href="cleanup.8.html">cleanup(8)</a>
- server.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="queue_minfree">queue_minfree</a>
- (default: 0)</b></DT><DD>
- <p>
- The minimal amount of free space in bytes in the queue file system
- that is needed to receive mail. This is currently used by the
- Postfix SMTP server to decide if it will accept any mail at all.
- </p>
- <p>
- By default, the Postfix SMTP server rejects MAIL FROM commands when
- the amount of free space is less than 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>
- (Postfix version 2.1 and later).
- To specify a higher minimum free space limit, specify a <a href="postconf.5.html#queue_minfree">queue_minfree</a>
- value that is at least 1.5*$<a href="postconf.5.html#message_size_limit">message_size_limit</a>.
- </p>
- <p>
- With Postfix versions 2.0 and earlier, a <a href="postconf.5.html#queue_minfree">queue_minfree</a> value of
- zero means there is no minimum required amount of free space.
- </p>
- </DD>
- <DT><b><a name="queue_run_delay">queue_run_delay</a>
- (default: 300s)</b></DT><DD>
- <p>
- The time between <a href="QSHAPE_README.html#deferred_queue">deferred queue</a> scans by the queue manager;
- prior to Postfix 2.4 the default value was 1000s.
- </p>
- <p> This parameter should be set less than or equal to
- $<a href="postconf.5.html#minimal_backoff_time">minimal_backoff_time</a>. See also $<a href="postconf.5.html#maximal_backoff_time">maximal_backoff_time</a>. </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="queue_service_name">queue_service_name</a>
- (default: qmgr)</b></DT><DD>
- <p>
- The name of the <a href="qmgr.8.html">qmgr(8)</a> service. This service manages the Postfix
- queue and schedules delivery requests.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="rbl_reply_maps">rbl_reply_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional lookup tables with RBL response templates. The tables are
- indexed by the RBL domain name. By default, Postfix uses the default
- template as specified with the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> configuration
- parameter. See there for a discussion of the syntax of RBL reply
- templates.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="readme_directory">readme_directory</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- The location of Postfix README files that describe how to build,
- configure or operate a specific Postfix subsystem or feature.
- </p>
- </DD>
- <DT><b><a name="receive_override_options">receive_override_options</a>
- (default: empty)</b></DT><DD>
- <p> Enable or disable recipient validation, built-in content
- filtering, or address mapping. Typically, these are specified in
- <a href="master.5.html">master.cf</a> as command-line arguments for the <a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a> or
- <a href="pickup.8.html">pickup(8)</a> daemons. </p>
- <p> Specify zero or more of the following options. The options
- override <a href="postconf.5.html">main.cf</a> settings and are either implemented by <a href="smtpd.8.html">smtpd(8)</a>,
- <a href="qmqpd.8.html">qmqpd(8)</a>, or <a href="pickup.8.html">pickup(8)</a> themselves, or they are forwarded to the
- cleanup server. </p>
- <dl>
- <dt><b><a name="no_unknown_recipient_checks">no_unknown_recipient_checks</a></b></dt>
- <dd>Do not try to reject unknown recipients (SMTP server only).
- This is typically specified AFTER an external content filter.
- </dd>
- <dt><b><a name="no_address_mappings">no_address_mappings</a></b></dt>
- <dd>Disable canonical address mapping, virtual alias map expansion,
- address masquerading, and automatic BCC (blind carbon-copy)
- recipients. This is typically specified BEFORE an external content
- filter. </dd>
- <dt><b><a name="no_header_body_checks">no_header_body_checks</a></b></dt>
- <dd>Disable header/body_checks. This is typically specified AFTER
- an external content filter. </dd>
- <dt><b><a name="no_milters">no_milters</a></b></dt>
- <dd>Disable Milter (mail filter) applications. This is typically
- specified AFTER an external content filter. </dd>
- </dl>
- <p>
- Note: when the "BEFORE content filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a>
- setting is specified in the <a href="postconf.5.html">main.cf</a> file, specify the "AFTER content
- filter" <a href="postconf.5.html#receive_override_options">receive_override_options</a> setting in <a href="master.5.html">master.cf</a> (and vice
- versa).
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#receive_override_options">receive_override_options</a> =
- <a href="postconf.5.html#no_unknown_recipient_checks">no_unknown_recipient_checks</a>, <a href="postconf.5.html#no_header_body_checks">no_header_body_checks</a>
- <a href="postconf.5.html#receive_override_options">receive_override_options</a> = <a href="postconf.5.html#no_address_mappings">no_address_mappings</a>
- </pre>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="recipient_bcc_maps">recipient_bcc_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional BCC (blind carbon-copy) address lookup tables, indexed by
- recipient address. The BCC address (multiple results are not
- supported) is added when mail enters from outside of Postfix.
- </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p>
- The table search order is as follows:
- </p>
- <ul>
- <li> Look up the "user+extension@domain.tld" address including the
- optional address extension.
- <li> Look up the "user@domain.tld" address without the optional
- address extension.
- <li> Look up the "user+extension" address local part when the
- recipient domain equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
- or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
- <li> Look up the "user" address local part when the recipient domain
- equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
- <li> Look up the "@domain.tld" part.
- </ul>
- <p>
- Note: with Postfix 2.3 and later the BCC address is added as if it
- was specified with NOTIFY=NONE. The sender will not be notified
- when the BCC address is undeliverable, as long as all down-stream
- software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
- </p>
- <p>
- Note: with Postfix 2.2 and earlier the sender will unconditionally
- be notified when the BCC address is undeliverable.
- </p>
- <p> Note: automatic BCC recipients are produced only for new mail.
- To avoid mailer loops, automatic BCC recipients are not generated
- after Postfix forwards mail internally, or after Postfix generates
- mail itself. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#recipient_bcc_maps">recipient_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_bcc
- </pre>
- <p>
- After a change, run "<b>postmap /etc/postfix/recipient_bcc</b>".
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="recipient_canonical_classes">recipient_canonical_classes</a>
- (default: envelope_recipient, header_recipient)</b></DT><DD>
- <p> What addresses are subject to <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address
- mapping. By default, <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> address mapping is
- applied to envelope recipient addresses, and to header recipient
- addresses. </p>
- <p> Specify one or more of: envelope_recipient, header_recipient
- </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="recipient_canonical_maps">recipient_canonical_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional address mapping lookup tables for envelope and header
- recipient addresses.
- The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
- </p>
- <p>
- Note: $<a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> is processed before $<a href="postconf.5.html#canonical_maps">canonical_maps</a>.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#recipient_canonical_maps">recipient_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/recipient_canonical
- </pre>
- </DD>
- <DT><b><a name="recipient_delimiter">recipient_delimiter</a>
- (default: empty)</b></DT><DD>
- <p> The set of characters that can separate a user name from its
- extension (example: user+foo), or a .forward file name from its
- extension (example: .forward+foo). Basically, the software tries
- user+foo and .forward+foo before trying user and .forward. This
- implementation recognizes one delimiter character and one extension
- per email address or .forward file name. </p>
- <p> When the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set contains multiple characters
- (Postfix 2.11 and later), a user name or .forward file name is
- separated from its extension by the first character that matches
- the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> set. </p>
- <p> See <a href="canonical.5.html">canonical(5)</a>, <a href="local.8.html">local(8)</a>, <a href="relocated.5.html">relocated(5)</a> and <a href="virtual.5.html">virtual(5)</a> for the
- effects of <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> on lookups in aliases, canonical,
- virtual, and relocated maps, and see the <a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a>
- parameter for propagating an extension from one email address to
- another. </p>
- <p> When used in <a href="postconf.5.html#command_execution_directory">command_execution_directory</a>, <a href="postconf.5.html#forward_path">forward_path</a>, or
- <a href="postconf.5.html#luser_relay">luser_relay</a>, ${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>} is replaced with the actual
- recipient delimiter that was found in the recipient email address
- (Postfix 2.11 and later), or it is replaced with the <a href="postconf.5.html">main.cf</a>
- <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> parameter value (Postfix 2.10 and earlier).
- </p>
- <p> The <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is not applied to the mailer-daemon
- address, the postmaster address, or the double-bounce address. With
- the default "<a href="postconf.5.html#owner_request_special">owner_request_special</a> = yes" setting, the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>
- is also not applied to addresses with the special "owner-" prefix
- or the special "-request" suffix. </p>
- <p>
- Examples:
- </p>
- <pre>
- # Handle Postfix-style extensions.
- <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +
- </pre>
- <pre>
- # Handle both Postfix and qmail extensions (Postfix 2.11 and later).
- <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> = +-
- </pre>
- <pre>
- # Use .forward for mail without address extension, and for mail with
- # an unrecognized address extension.
- <a href="postconf.5.html#forward_path">forward_path</a> = $home/.forward${<a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a>}${extension},
- $home/.forward
- </pre>
- </DD>
- <DT><b><a name="reject_code">reject_code</a>
- (default: 554)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a remote SMTP
- client request is rejected by the "reject" restriction.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- </DD>
- <DT><b><a name="reject_tempfail_action">reject_tempfail_action</a>
- (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>)</b></DT><DD>
- <p> The Postfix SMTP server's action when a reject-type restriction
- fails due to a temporary error condition. Specify "defer" to defer
- the remote SMTP client request immediately. With the default
- "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
- for opportunities to reject mail, and defers the client request
- only if it would otherwise be accepted. </p>
- <p> For finer control, see: <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>,
- <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>, <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a>,
- and <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="relay_clientcerts">relay_clientcerts</a>
- (default: empty)</b></DT><DD>
- <p> List of tables with remote SMTP client-certificate fingerprints or
- public key fingerprints (Postfix 2.9 and later) for which the Postfix
- SMTP server will allow access with the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
- feature. The fingerprint digest algorithm is configurable via the
- <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
- Postfix version 2.5). </p>
- <p> Postfix lookup tables are in the form of (key, value) pairs.
- Since we only need the key, the value can be chosen freely, e.g.
- the name of the user or host:
- D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_clientcerts
- </pre>
- <p>For more fine-grained control, use <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> to select
- an appropriate <a href="access.5.html">access(5)</a> policy for each client.
- See <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a>.</p>
- <p> <b>Note:</b> Postfix 2.9.0–2.9.5 computed the public key
- fingerprint incorrectly. To use public-key fingerprints, upgrade
- to Postfix 2.9.6 or later. </p>
- <p>This feature is available with Postfix version 2.2.</p>
- </DD>
- <DT><b><a name="relay_destination_concurrency_limit">relay_destination_concurrency_limit</a>
- (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
- <p> The maximal number of parallel deliveries to the same destination
- via the relay message delivery transport. This limit is enforced
- by the queue manager. The message delivery transport name is the
- first field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
- <p> This feature is available in Postfix 2.0 and later. </p>
- </DD>
- <DT><b><a name="relay_destination_recipient_limit">relay_destination_recipient_limit</a>
- (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
- <p> The maximal number of recipients per message for the relay
- message delivery transport. This limit is enforced by the queue
- manager. The message delivery transport name is the first field in
- the entry in the <a href="master.5.html">master.cf</a> file. </p>
- <p> Setting this parameter to a value of 1 changes the meaning of
- <a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> from concurrency per domain
- into concurrency per recipient. </p>
- <p> This feature is available in Postfix 2.0 and later. </p>
- </DD>
- <DT><b><a name="relay_domains">relay_domains</a>
- (default: Postfix ≥ 3.0: empty, Postfix < 3.0: $<a href="postconf.5.html#mydestination">mydestination</a>)</b></DT><DD>
- <p> What destination domains (and subdomains thereof) this system
- will relay mail to. For details about how
- the <a href="postconf.5.html#relay_domains">relay_domains</a> value is used, see the description of the
- <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> and <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> SMTP recipient
- restrictions. </p>
- <p> Domains that match $<a href="postconf.5.html#relay_domains">relay_domains</a> are delivered with the
- $<a href="postconf.5.html#relay_transport">relay_transport</a> mail delivery transport. The SMTP server validates
- recipient addresses with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> and rejects non-existent
- recipients. See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the
- <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file. </p>
- <p> Note: Postfix will not automatically forward mail for domains
- that list this system as their primary or backup MX host. See the
- <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> restriction in the <a href="postconf.5.html">postconf(5)</a> manual page. </p>
- <p> Specify a list of host or domain names, "/file/name" patterns
- or "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by commas and/or whitespace.
- Continue long lines by starting the next line with whitespace. A
- "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
- lookup table is matched when a (parent) domain appears as lookup
- key. Specify "!pattern" to exclude a domain from the list. The form
- "!/file/name" is supported only in Postfix version 2.4 and later.
- </p>
- <p> Pattern matching of domain names is controlled by the presence
- or absence of "<a href="postconf.5.html#relay_domains">relay_domains</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
- parameter value. </p>
- </DD>
- <DT><b><a name="relay_domains_reject_code">relay_domains_reject_code</a>
- (default: 554)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a client
- request is rejected by the <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a> recipient
- restriction.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- </DD>
- <DT><b><a name="relay_recipient_maps">relay_recipient_maps</a>
- (default: empty)</b></DT><DD>
- <p> Optional lookup tables with all valid addresses in the domains
- that match $<a href="postconf.5.html#relay_domains">relay_domains</a>. Specify @domain as a wild-card for
- domains that have no valid recipient list, and become a source of
- backscatter mail: Postfix accepts spam for non-existent recipients
- and then floods innocent people with undeliverable mail. Technically,
- tables
- listed with $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> are used as lists: Postfix needs
- to know only if a lookup string is found or not, but it does not
- use the result from table lookup. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p>
- If this parameter is non-empty, then the Postfix SMTP server will reject
- mail to unknown relay users. This feature is off by default.
- </p>
- <p>
- See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a>
- file.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relay_recipients
- </pre>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="relay_transport">relay_transport</a>
- (default: relay)</b></DT><DD>
- <p>
- The default mail delivery transport and next-hop destination for
- remote delivery to domains listed with $<a href="postconf.5.html#relay_domains">relay_domains</a>. In order of
- decreasing precedence, the nexthop destination is taken from
- $<a href="postconf.5.html#relay_transport">relay_transport</a>, $<a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>, $<a href="postconf.5.html#relayhost">relayhost</a>, or
- from the recipient domain. This information can be overruled with
- the <a href="transport.5.html">transport(5)</a> table.
- </p>
- <p>
- Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
- is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
- The <i>:nexthop</i> destination is optional; its syntax is documented
- in the manual page of the corresponding delivery agent.
- </p>
- <p>
- See also the <a href="ADDRESS_CLASS_README.html#relay_domain_class">relay domains</a> address class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a>
- file.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="relayhost">relayhost</a>
- (default: empty)</b></DT><DD>
- <p>
- The next-hop destination of non-local mail; overrides non-local
- domains in recipient addresses. This information is overruled with
- <a href="postconf.5.html#relay_transport">relay_transport</a>, <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>,
- <a href="postconf.5.html#default_transport">default_transport</a>, <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
- and with the <a href="transport.5.html">transport(5)</a> table.
- </p>
- <p>
- On an intranet, specify the organizational domain name. If your
- internal DNS uses no MX records, specify the name of the intranet
- gateway host instead.
- </p>
- <p>
- In the case of SMTP, specify a domain name, hostname, hostname:port,
- [hostname]:port, [hostaddress] or [hostaddress]:port. The form
- [hostname] turns off MX lookups.
- </p>
- <p>
- If you're connected via UUCP, see the <a href="UUCP_README.html">UUCP_README</a> file for useful
- information.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#relayhost">relayhost</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
- <a href="postconf.5.html#relayhost">relayhost</a> = [gateway.example.com]
- <a href="postconf.5.html#relayhost">relayhost</a> = uucphost
- <a href="postconf.5.html#relayhost">relayhost</a> = [an.ip.add.ress]
- </pre>
- </DD>
- <DT><b><a name="relocated_maps">relocated_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional lookup tables with new contact information for users or
- domains that no longer exist. The table format and lookups are
- documented in <a href="relocated.5.html">relocated(5)</a>.
- </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p>
- If you use this feature, run "<b>postmap /etc/postfix/relocated</b>" to
- build the necessary DBM or DB file after change, then "<b>postfix
- reload</b>" to make the changes visible.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/relocated
- <a href="postconf.5.html#relocated_maps">relocated_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/relocated
- </pre>
- </DD>
- <DT><b><a name="remote_header_rewrite_domain">remote_header_rewrite_domain</a>
- (default: empty)</b></DT><DD>
- <p> Don't rewrite message headers from remote clients at all when
- this parameter is empty; otherwise, rewrite message headers and
- append the specified domain name to incomplete addresses. The
- <a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> parameter controls what clients Postfix
- considers local. </p>
- <p> Examples: </p>
- <p> The safe setting: append "domain.invalid" to incomplete header
- addresses from remote SMTP clients, so that those addresses cannot
- be confused with local addresses. </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> = domain.invalid
- </pre>
- </blockquote>
- <p> The default, purist, setting: don't rewrite headers from remote
- clients at all. </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> =
- </pre>
- </blockquote>
- </DD>
- <DT><b><a name="require_home_directory">require_home_directory</a>
- (default: no)</b></DT><DD>
- <p>
- Require that a <a href="local.8.html">local(8)</a> recipient's home directory exists
- before mail delivery is attempted. By default this test is disabled.
- It can be useful for environments that import home directories to
- the mail server (IMPORTING HOME DIRECTORIES IS NOT RECOMMENDED).
- </p>
- </DD>
- <DT><b><a name="reset_owner_alias">reset_owner_alias</a>
- (default: no)</b></DT><DD>
- <p> Reset the <a href="local.8.html">local(8)</a> delivery agent's idea of the owner-alias
- attribute, when delivering mail to a child alias that does not have
- its own owner alias. </p>
- <p> This feature is available in Postfix 2.8 and later. With older
- Postfix releases, the behavior is as if this parameter is set to
- "yes". </p>
- <p> As documented in <a href="aliases.5.html">aliases(5)</a>, when an alias <i>name</i> has a
- companion alias named owner-<i>name</i>, delivery errors will be
- reported to the owner alias instead of the sender. This configuration
- is recommended for mailing lists. <p>
- <p> A less known property of the owner alias is that it also forces
- the <a href="local.8.html">local(8)</a> delivery agent to write local and remote addresses
- from alias expansion to a new queue file, instead of attempting to
- deliver mail to local addresses as soon as they come out of alias
- expansion. </p>
- <p> Writing local addresses from alias expansion to a new queue
- file allows for robust handling of temporary delivery errors: errors
- with one local member have no effect on deliveries to other members
- of the list. On the other hand, delivery to local addresses as
- soon as they come out of alias expansion is fragile: a temporary
- error with one local address from alias expansion will cause the
- entire alias to be expanded repeatedly until the error goes away,
- or until the message expires in the queue. In that case, a problem
- with one list member results in multiple message deliveries to other
- list members. </p>
- <p> The default behavior of Postfix 2.8 and later is to keep the
- owner-alias attribute of the parent alias, when delivering mail to
- a child alias that does not have its own owner alias. Then, local
- addresses from that child alias will be written to a new queue file,
- and a temporary error with one local address will not affect delivery
- to other mailing list members. </p>
- <p> Unfortunately, older Postfix releases reset the owner-alias
- attribute when delivering mail to a child alias that does not have
- its own owner alias. The <a href="local.8.html">local(8)</a> delivery agent then attempts to
- deliver local addresses as soon as they come out of child alias
- expansion. If delivery to any address from child alias expansion
- fails with a temporary error condition, the entire mailing list may
- be expanded repeatedly until the mail expires in the queue, resulting
- in multiple deliveries of the same message to mailing list members.
- </p>
- </DD>
- <DT><b><a name="resolve_dequoted_address">resolve_dequoted_address</a>
- (default: yes)</b></DT><DD>
- <p> Resolve a recipient address safely instead of correctly, by
- looking inside quotes. </p>
- <p> By default, the Postfix address resolver does not quote the
- address localpart as per <a href="http://tools.ietf.org/html/rfc822">RFC 822</a>, so that additional @ or % or !
- operators remain visible. This behavior is safe but it is also
- technically incorrect. </p>
- <p> If you specify "<a href="postconf.5.html#resolve_dequoted_address">resolve_dequoted_address</a> = no", then
- the Postfix
- resolver will not know about additional @ etc. operators in the
- address localpart. This opens opportunities for obscure mail relay
- attacks with user@domain@domain addresses when Postfix provides
- backup MX service for Sendmail systems. </p>
- </DD>
- <DT><b><a name="resolve_null_domain">resolve_null_domain</a>
- (default: no)</b></DT><DD>
- <p> Resolve an address that ends in the "@" null domain as if the
- local hostname were specified, instead of rejecting the address as
- invalid. </p>
- <p> This feature is available in Postfix 2.1 and later.
- Earlier versions always resolve the null domain as the local
- hostname. </p>
- <p> The Postfix SMTP server uses this feature to reject mail from
- or to addresses that end in the "@" null domain, and from addresses
- that rewrite into a form that ends in the "@" null domain. </p>
- </DD>
- <DT><b><a name="resolve_numeric_domain">resolve_numeric_domain</a>
- (default: no)</b></DT><DD>
- <p> Resolve "user@ipaddress" as "user@[ipaddress]", instead of
- rejecting the address as invalid. </p>
- <p> This feature is available in Postfix 2.3 and later.
- </DD>
- <DT><b><a name="rewrite_service_name">rewrite_service_name</a>
- (default: rewrite)</b></DT><DD>
- <p>
- The name of the address rewriting service. This service rewrites
- addresses to standard form and resolves them to a (delivery method,
- next-hop host, recipient) triple.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="sample_directory">sample_directory</a>
- (default: /etc/postfix)</b></DT><DD>
- <p>
- The name of the directory with example Postfix configuration files.
- Starting with Postfix 2.1, these files have been replaced with the
- <a href="postconf.5.html">postconf(5)</a> manual page.
- </p>
- </DD>
- <DT><b><a name="send_cyrus_sasl_authzid">send_cyrus_sasl_authzid</a>
- (default: no)</b></DT><DD>
- <p> When authenticating to a remote SMTP or LMTP server with the
- default setting "no", send no SASL authoriZation ID (authzid); send
- only the SASL authentiCation ID (authcid) plus the authcid's password.
- </p>
- <p> The non-default setting "yes" enables the behavior of older
- Postfix versions. These always send a SASL authzid that is equal
- to the SASL authcid, but this causes interoperability problems
- with some SMTP servers. </p>
- <p> This feature is available in Postfix 2.4.4 and later. </p>
- </DD>
- <DT><b><a name="sender_based_routing">sender_based_routing</a>
- (default: no)</b></DT><DD>
- <p>
- This parameter should not be used. It was replaced by <a href="postconf.5.html#sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
- in Postfix version 2.3.
- </p>
- </DD>
- <DT><b><a name="sender_bcc_maps">sender_bcc_maps</a>
- (default: empty)</b></DT><DD>
- <p> Optional BCC (blind carbon-copy) address lookup tables, indexed
- by sender address. The BCC address (multiple results are not
- supported) is added when mail enters from outside of Postfix. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p>
- The table search order is as follows:
- </p>
- <ul>
- <li> Look up the "user+extension@domain.tld" address including the
- optional address extension.
- <li> Look up the "user@domain.tld" address without the optional
- address extension.
- <li> Look up the "user+extension" address local part when the
- sender domain equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
- or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
- <li> Look up the "user" address local part when the sender domain
- equals $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>.
- <li> Look up the "@domain.tld" part.
- </ul>
- <p>
- Note: with Postfix 2.3 and later the BCC address is added as if it
- was specified with NOTIFY=NONE. The sender will not be notified
- when the BCC address is undeliverable, as long as all down-stream
- software implements <a href="http://tools.ietf.org/html/rfc3461">RFC 3461</a>.
- </p>
- <p>
- Note: with Postfix 2.2 and earlier the sender will be notified
- when the BCC address is undeliverable.
- </p>
- <p> Note: automatic BCC recipients are produced only for new mail.
- To avoid mailer loops, automatic BCC recipients are not generated
- after Postfix forwards mail internally, or after Postfix generates
- mail itself. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#sender_bcc_maps">sender_bcc_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_bcc
- </pre>
- <p>
- After a change, run "<b>postmap /etc/postfix/sender_bcc</b>".
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="sender_canonical_classes">sender_canonical_classes</a>
- (default: envelope_sender, header_sender)</b></DT><DD>
- <p> What addresses are subject to <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address
- mapping. By default, <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> address mapping is
- applied to envelope sender addresses, and to header sender addresses.
- </p>
- <p> Specify one or more of: envelope_sender, header_sender </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="sender_canonical_maps">sender_canonical_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional address mapping lookup tables for envelope and header
- sender addresses.
- The table format and lookups are documented in <a href="canonical.5.html">canonical(5)</a>.
- </p>
- <p>
- Example: you want to rewrite the SENDER address "user@ugly.domain"
- to "user@pretty.domain", while still being able to send mail to
- the RECIPIENT address "user@ugly.domain".
- </p>
- <p>
- Note: $<a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> is processed before $<a href="postconf.5.html#canonical_maps">canonical_maps</a>.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#sender_canonical_maps">sender_canonical_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/sender_canonical
- </pre>
- </DD>
- <DT><b><a name="sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>
- (default: empty)</b></DT><DD>
- <p> A sender-dependent override for the global <a href="postconf.5.html#default_transport">default_transport</a>
- parameter setting. The tables are searched by the envelope sender
- address and @domain. A lookup result of DUNNO terminates the search
- without overriding the global <a href="postconf.5.html#default_transport">default_transport</a> parameter setting.
- This information is overruled with the <a href="transport.5.html">transport(5)</a> table. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p> Note: this overrides <a href="postconf.5.html#default_transport">default_transport</a>, not <a href="postconf.5.html#transport_maps">transport_maps</a>, and
- therefore the expected syntax is that of <a href="postconf.5.html#default_transport">default_transport</a>, not the
- syntax of <a href="postconf.5.html#transport_maps">transport_maps</a>. Specifically, this does not support the
- <a href="postconf.5.html#transport_maps">transport_maps</a> syntax for null transport, null nexthop, or null
- email addresses. </p>
- <p> For safety reasons, this feature does not allow $number
- substitutions in regular expression maps. </p>
- <p> This feature is available in Postfix 2.7 and later. </p>
- </DD>
- <DT><b><a name="sender_dependent_relayhost_maps">sender_dependent_relayhost_maps</a>
- (default: empty)</b></DT><DD>
- <p> A sender-dependent override for the global <a href="postconf.5.html#relayhost">relayhost</a> parameter
- setting. The tables are searched by the envelope sender address and
- @domain. A lookup result of DUNNO terminates the search without
- overriding the global <a href="postconf.5.html#relayhost">relayhost</a> parameter setting (Postfix 2.6 and
- later). This information is overruled with <a href="postconf.5.html#relay_transport">relay_transport</a>,
- <a href="postconf.5.html#sender_dependent_default_transport_maps">sender_dependent_default_transport_maps</a>, <a href="postconf.5.html#default_transport">default_transport</a> and with
- the <a href="transport.5.html">transport(5)</a> table. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p> For safety reasons, this feature does not allow $number
- substitutions in regular expression maps. </p>
- <p>
- This feature is available in Postfix 2.3 and later.
- </p>
- </DD>
- <DT><b><a name="sendmail_fix_line_endings">sendmail_fix_line_endings</a>
- (default: always)</b></DT><DD>
- <p> Controls how the Postfix sendmail command converts email message
- line endings from <CR><LF> into UNIX format (<LF>).
- </p>
- <dl>
- <dt> <b>always</b> </dt> <dd> Always convert message lines ending
- in <CR><LF>. This setting is the default with Postfix
- 2.9 and later. </dd>
- <dt> <b>strict</b> </dt> <dd> Convert message lines ending in
- <CR><LF> only if the first input line ends in
- <CR><LF>. This setting is backwards-compatible with
- Postfix 2.8 and earlier. </dd>
- <dt> <b>never</b> </dt> <dd> Never convert message lines ending in
- <CR><LF>. This setting exists for completeness only.
- </dd>
- </dl>
- <p> This feature is available in Postfix 2.9 and later. </p>
- </DD>
- <DT><b><a name="sendmail_path">sendmail_path</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- A Sendmail compatibility feature that specifies the location of
- the Postfix <a href="sendmail.1.html">sendmail(1)</a> command. This command can be used to
- submit mail into the Postfix queue.
- </p>
- </DD>
- <DT><b><a name="service_throttle_time">service_throttle_time</a>
- (default: 60s)</b></DT><DD>
- <p>
- How long the Postfix <a href="master.8.html">master(8)</a> waits before forking a server that
- appears to be malfunctioning.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="setgid_group">setgid_group</a>
- (default: postdrop)</b></DT><DD>
- <p>
- The group ownership of set-gid Postfix commands and of group-writable
- Postfix directories. When this parameter value is changed you need
- to re-run "<b>postfix set-permissions</b>" (with Postfix version 2.0 and
- earlier: "<b>/etc/postfix/post-install set-permissions</b>".
- </p>
- </DD>
- <DT><b><a name="shlib_directory">shlib_directory</a>
- (default: see 'postconf -d' output)</b></DT><DD>
- <p> The location of Postfix dynamically-linked libraries
- (libpostfix-*.so), and the default location of Postfix database
- plugins (postfix-*.so) that have a relative pathname in the
- dynamicmaps.cf file. The <a href="postconf.5.html#shlib_directory">shlib_directory</a> parameter defaults to
- "no" when Postfix dynamically-linked libraries and database plugins
- are disabled at compile time, otherwise it typically defaults to
- /usr/lib/postfix or /usr/local/lib/postfix. </p>
- <p> Notes: </p>
- <ul>
- <li> <p> The directory specified with <a href="postconf.5.html#shlib_directory">shlib_directory</a> should contain
- only Postfix-related files. Postfix dynamically-linked libraries
- and database plugins should not be installed in a "public" system
- directory such as /usr/lib or /usr/local/lib. Linking Postfix
- dynamically-linked library files or database plugins into non-Postfix
- programs is not supported. Postfix dynamically-linked libraries
- and database plugins implement a Postfix-internal API that changes
- without maintaining compatibility. </p>
- <li> <p> You can change the <a href="postconf.5.html#shlib_directory">shlib_directory</a> value after Postfix is
- built. However, you may have to run ldconfig or equivalent to prevent
- Postfix programs from failing because the libpostfix-*.so files are
- not found. No ldconfig command is needed if you keep the libpostfix-*.so
- files in the compiled-in default $<a href="postconf.5.html#shlib_directory">shlib_directory</a> location. </p>
- </ul>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="show_user_unknown_table_name">show_user_unknown_table_name</a>
- (default: yes)</b></DT><DD>
- <p>
- Display the name of the recipient table in the "User unknown"
- responses. The extra detail makes trouble shooting easier but also
- reveals information that is nobody elses business.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="showq_service_name">showq_service_name</a>
- (default: showq)</b></DT><DD>
- <p>
- The name of the <a href="showq.8.html">showq(8)</a> service. This service produces mail queue
- status reports.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="smtp_address_preference">smtp_address_preference</a>
- (default: any)</b></DT><DD>
- <p> The address type ("ipv6", "ipv4" or "any") that the Postfix
- SMTP client will try first, when a destination has IPv6 and IPv4
- addresses with equal MX preference. This feature has no effect
- unless the <a href="postconf.5.html#inet_protocols">inet_protocols</a> setting enables both IPv4 and IPv6. </p>
- <p> Postfix SMTP client address preference has evolved. With Postfix
- 2.8 the default is "ipv6"; earlier implementations are hard-coded
- to prefer IPv6 over IPv4. </p>
- <p> Notes for mail delivery between sites that have both IPv4 and
- IPv6 connectivity: </p>
- <ul>
- <li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = ipv6" is unsafe.
- It can fail to deliver mail when there is an outage that affects
- IPv6, while the destination is still reachable over IPv4. </p>
- <li> <p> The setting "<a href="postconf.5.html#smtp_address_preference">smtp_address_preference</a> = any" is safe. With
- this, mail will eventually be delivered even if there is an outage
- that affects IPv6 or IPv4, as long as it does not affect both. </p>
- </ul>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="smtp_address_verify_target">smtp_address_verify_target</a>
- (default: rcpt)</b></DT><DD>
- <p> In the context of email address verification, the SMTP protocol
- stage that determines whether an email address is deliverable.
- Specify one of "rcpt" or "data". The latter is needed with remote
- SMTP servers that reject recipients after the DATA command. Use
- <a href="postconf.5.html#transport_maps">transport_maps</a> to apply this feature selectively: </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
- </pre>
- </blockquote>
- <blockquote>
- <pre>
- /etc/postfix/transport:
- smtp-domain-that-verifies-after-data smtp-data-target:
- lmtp-domain-that-verifies-after-data lmtp-data-target:
- </pre>
- </blockquote>
- <blockquote>
- <pre>
- /etc/postfix/<a href="master.5.html">master.cf</a>:
- smtp-data-target unix - - n - - smtp
- -o <a href="postconf.5.html#smtp_address_verify_target">smtp_address_verify_target</a>=data
- lmtp-data-target unix - - n - - lmtp
- -o <a href="postconf.5.html#lmtp_address_verify_target">lmtp_address_verify_target</a>=data
- </pre>
- </blockquote>
- <p> Unselective use of the "data" target does no harm, but will
- result in unnecessary "lost connection after DATA" events at remote
- SMTP/LMTP servers. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="smtp_always_send_ehlo">smtp_always_send_ehlo</a>
- (default: yes)</b></DT><DD>
- <p>
- Always send EHLO at the start of an SMTP session.
- </p>
- <p>
- With "<a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> = no", the Postfix SMTP client sends
- EHLO only when
- the word "ESMTP" appears in the server greeting banner (example:
- 220 spike.porcupine.org ESMTP Postfix).
- </p>
- </DD>
- <DT><b><a name="smtp_bind_address">smtp_bind_address</a>
- (default: empty)</b></DT><DD>
- <p>
- An optional numerical network address that the Postfix SMTP client
- should bind to when making an IPv4 connection.
- </p>
- <p>
- This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
- it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
- for example:
- </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="master.5.html">master.cf</a>:
- smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>=11.22.33.44
- </pre>
- </blockquote>
- <p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv4
- address, and that address is a non-loopback address, it is
- automatically used as the <a href="postconf.5.html#smtp_bind_address">smtp_bind_address</a>. This supports virtual
- IP hosting, but can be a problem on multi-homed firewalls. See the
- <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
- <p> Note 2: address information may be enclosed inside <tt>[]</tt>,
- but this form is not required here. </p>
- </DD>
- <DT><b><a name="smtp_bind_address6">smtp_bind_address6</a>
- (default: empty)</b></DT><DD>
- <p>
- An optional numerical network address that the Postfix SMTP client
- should bind to when making an IPv6 connection.
- </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- <p>
- This can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP clients, or
- it can be specified in the <a href="master.5.html">master.cf</a> file for a specific client,
- for example:
- </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="master.5.html">master.cf</a>:
- smtp ... smtp -o <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>=1:2:3:4:5:6:7:8
- </pre>
- </blockquote>
- <p> Note 1: when <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> specifies no more than one IPv6
- address, and that address is a non-loopback address, it is
- automatically used as the <a href="postconf.5.html#smtp_bind_address6">smtp_bind_address6</a>. This supports virtual
- IP hosting, but can be a problem on multi-homed firewalls. See the
- <a href="postconf.5.html#inet_interfaces">inet_interfaces</a> documentation for more detail. </p>
- <p> Note 2: address information may be enclosed inside <tt>[]</tt>,
- but this form is not recommended here. </p>
- </DD>
- <DT><b><a name="smtp_body_checks">smtp_body_checks</a>
- (default: empty)</b></DT><DD>
- <p> Restricted <a href="header_checks.5.html">body_checks(5)</a> tables for the Postfix SMTP client.
- These tables are searched while mail is being delivered. Actions
- that change the delivery time or destination are not available.
- </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtp_cname_overrides_servername">smtp_cname_overrides_servername</a>
- (default: version dependent)</b></DT><DD>
- <p> When the remote SMTP servername is a DNS CNAME, replace the
- servername with the result from CNAME expansion for the purpose of
- logging, SASL password lookup, TLS
- policy decisions, or TLS certificate verification. The value "no"
- hardens Postfix <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> hostname-based policies against
- false hostname information in DNS CNAME records, and makes SASL
- password file lookups more predictable. This is the default setting
- as of Postfix 2.3. </p>
- <p> When DNS CNAME records are validated with secure DNS lookups
- (<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> = dnssec), they are always allowed to
- override the above servername (Postfix 2.11 and later). </p>
- <p> This feature is available in Postfix 2.2.9 and later. </p>
- </DD>
- <DT><b><a name="smtp_connect_timeout">smtp_connect_timeout</a>
- (default: 30s)</b></DT><DD>
- <p>
- The Postfix SMTP client time limit for completing a TCP connection, or
- zero (use the operating system built-in time limit).
- </p>
- <p>
- When no connection can be made within the deadline, the Postfix
- SMTP client
- tries the next address on the mail exchanger list. Specify 0 to
- disable the time limit (i.e. use whatever timeout is implemented by
- the operating system).
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="smtp_connection_cache_destinations">smtp_connection_cache_destinations</a>
- (default: empty)</b></DT><DD>
- <p> Permanently enable SMTP connection caching for the specified
- destinations. With SMTP connection caching, a connection is not
- closed immediately after completion of a mail transaction. Instead,
- the connection is kept open for up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
- seconds. This allows connections to be reused for other deliveries,
- and can improve mail delivery performance. </p>
- <p> Specify a comma or white space separated list of destinations
- or pseudo-destinations: </p>
- <ul>
- <li> if mail is sent without a <a href="postconf.5.html#relayhost">relay host</a>: a domain name (the
- right-hand side of an email address, without the [] around a numeric
- IP address),
- <li> if mail is sent via a <a href="postconf.5.html#relayhost">relay host</a>: a <a href="postconf.5.html#relayhost">relay host</a> name (without
- [] or non-default TCP port), as specified in <a href="postconf.5.html">main.cf</a> or in the
- transport map,
- <li> if mail is sent via a UNIX-domain socket: a pathname (without
- the unix: prefix),
- <li> a /file/name with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names as
- defined above,
- <li> a "<a href="DATABASE_README.html">type:table</a>" with domain names and/or <a href="postconf.5.html#relayhost">relay host</a> names on
- the left-hand side. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>"
- lookups is ignored.
- </ul>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_connection_cache_on_demand">smtp_connection_cache_on_demand</a>
- (default: yes)</b></DT><DD>
- <p> Temporarily enable SMTP connection caching while a destination
- has a high volume of mail in the <a href="QSHAPE_README.html#active_queue">active queue</a>. With SMTP connection
- caching, a connection is not closed immediately after completion
- of a mail transaction. Instead, the connection is kept open for
- up to $<a href="postconf.5.html#smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a> seconds. This allows
- connections to be reused for other deliveries, and can improve mail
- delivery performance. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_connection_cache_time_limit">smtp_connection_cache_time_limit</a>
- (default: 2s)</b></DT><DD>
- <p> When SMTP connection caching is enabled, the amount of time that
- an unused SMTP client socket is kept open before it is closed. Do
- not specify larger values without permission from the remote sites.
- </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_connection_reuse_count_limit">smtp_connection_reuse_count_limit</a>
- (default: 0)</b></DT><DD>
- <p> When SMTP connection caching is enabled, the number of times
- that an SMTP session may be reused before it is closed, or zero (no
- limit). With a reuse count limit of N, a connection is used up to
- N+1 times. </p>
- <p> NOTE: This feature is unsafe. When a high-volume destination
- has multiple inbound MTAs, then the slowest inbound MTA will attract
- the most connections to that destination. This limitation does not
- exist with the <a href="postconf.5.html#smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a> feature. </p>
- <p> This feature is available in Postfix 2.11. </p>
- </DD>
- <DT><b><a name="smtp_connection_reuse_time_limit">smtp_connection_reuse_time_limit</a>
- (default: 300s)</b></DT><DD>
- <p> The amount of time during which Postfix will use an SMTP
- connection repeatedly. The timer starts when the connection is
- initiated (i.e. it includes the connect, greeting and helo latency,
- in addition to the latencies of subsequent mail delivery transactions).
- </p>
- <p> This feature addresses a performance stability problem with
- remote SMTP servers. This problem is not specific to Postfix: it
- can happen when any MTA sends large amounts of SMTP email to a site
- that has multiple MX hosts. </p>
- <p> The problem starts when one of a set of MX hosts becomes slower
- than the rest. Even though SMTP clients connect to fast and slow
- MX hosts with equal probability, the slow MX host ends up with more
- simultaneous inbound connections than the faster MX hosts, because
- the slow MX host needs more time to serve each client request. </p>
- <p> The slow MX host becomes a connection attractor. If one MX
- host becomes N times slower than the rest, it dominates mail delivery
- latency unless there are more than N fast MX hosts to counter the
- effect. And if the number of MX hosts is smaller than N, the mail
- delivery latency becomes effectively that of the slowest MX host
- divided by the total number of MX hosts. </p>
- <p> The solution uses connection caching in a way that differs from
- Postfix version 2.2. By limiting the amount of time during which a connection
- can be used repeatedly (instead of limiting the number of deliveries
- over that connection), Postfix not only restores fairness in the
- distribution of simultaneous connections across a set of MX hosts,
- it also favors deliveries over connections that perform well, which
- is exactly what we want. </p>
- <p> The default reuse time limit, 300s, is comparable to the various
- smtp transaction timeouts which are fair estimates of maximum excess
- latency for a slow delivery. Note that hosts may accept thousands
- of messages over a single connection within the default connection
- reuse time limit. This number is much larger than the default Postfix
- version 2.2 limit of 10 messages per cached connection. It may prove necessary
- to lower the limit to avoid interoperability issues with MTAs that
- exhibit bugs when many messages are delivered via a single connection.
- A lower reuse time limit risks losing the benefit of connection
- reuse when the average connection and mail delivery latency exceeds
- the reuse time limit. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_data_done_timeout">smtp_data_done_timeout</a>
- (default: 600s)</b></DT><DD>
- <p>
- The Postfix SMTP client time limit for sending the SMTP ".", and
- for receiving the remote SMTP server response.
- </p>
- <p>
- When no response is received within the deadline, a warning is
- logged that the mail may be delivered multiple times.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="smtp_data_init_timeout">smtp_data_init_timeout</a>
- (default: 120s)</b></DT><DD>
- <p>
- The Postfix SMTP client time limit for sending the SMTP DATA command,
- and for receiving the remote SMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
- (default: 180s)</b></DT><DD>
- <p>
- The Postfix SMTP client time limit for sending the SMTP message content.
- When the connection makes no progress for more than $<a href="postconf.5.html#smtp_data_xfer_timeout">smtp_data_xfer_timeout</a>
- seconds the Postfix SMTP client terminates the transfer.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="smtp_defer_if_no_mx_address_found">smtp_defer_if_no_mx_address_found</a>
- (default: no)</b></DT><DD>
- <p>
- Defer mail delivery when no MX record resolves to an IP address.
- </p>
- <p>
- The default (no) is to return the mail as undeliverable. With older
- Postfix versions the default was to keep trying to deliver the mail
- until someone fixed the MX record or until the mail was too old.
- </p>
- <p>
- Note: the Postfix SMTP client always ignores MX records with equal
- or worse preference
- than the local MTA itself.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtp_delivery_status_filter">smtp_delivery_status_filter</a>
- (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
- <p> Optional filter for the <a href="smtp.8.html">smtp(8)</a> delivery agent to change the
- delivery status code or explanatory text of successful or unsuccessful
- deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p>
- <p> NOTE: This feature modifies Postfix SMTP client error or non-error
- messages that may or may not be derived from remote SMTP server
- responses. In contrast, the <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> feature modifies
- remote SMTP server responses only. </p>
- </DD>
- <DT><b><a name="smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a>
- (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
- <p> The maximal number of parallel deliveries to the same destination
- via the smtp message delivery transport. This limit is enforced by
- the queue manager. The message delivery transport name is the first
- field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
- </DD>
- <DT><b><a name="smtp_destination_recipient_limit">smtp_destination_recipient_limit</a>
- (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
- <p> The maximal number of recipients per message for the smtp
- message delivery transport. This limit is enforced by the queue
- manager. The message delivery transport name is the first field in
- the entry in the <a href="master.5.html">master.cf</a> file. </p>
- <p> Setting this parameter to a value of 1 changes the meaning of
- <a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> from concurrency per domain
- into concurrency per recipient. </p>
- </DD>
- <DT><b><a name="smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>
- (default: empty)</b></DT><DD>
- <p> Lookup tables, indexed by the remote SMTP server address, with
- case insensitive lists of EHLO keywords (pipelining, starttls, auth,
- etc.) that the Postfix SMTP client will ignore in the EHLO response from a
- remote SMTP server. See <a href="postconf.5.html#smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a> for details. The
- table is not indexed by hostname for consistency with
- <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_discard_ehlo_keywords">smtp_discard_ehlo_keywords</a>
- (default: empty)</b></DT><DD>
- <p> A case insensitive list of EHLO keywords (pipelining, starttls,
- auth, etc.) that the Postfix SMTP client will ignore in the EHLO
- response from a remote SMTP server. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- <p> Notes: </p>
- <ul>
- <li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
- this action from being logged. </p>
- <li> <p> Use the <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a> feature to
- discard EHLO keywords selectively. </p>
- </ul>
- </DD>
- <DT><b><a name="smtp_dns_reply_filter">smtp_dns_reply_filter</a>
- (default: empty)</b></DT><DD>
- <p> Optional filter for Postfix SMTP client DNS lookup results.
- Specify zero or more lookup tables. The lookup tables are searched
- in the given order for a match with the DNS lookup result, converted
- to the following form: </p>
- <pre>
- <i>name ttl class type preference value</i>
- </pre>
- <p> The <i>class</i> field is always "IN", the <i>preference</i>
- field exists only for MX records, the names of hosts, domains, etc.
- end in ".", and those names are in ASCII form (xn--mumble form in
- the case of UTF8 names). </p>
- <p> When a match is found, the table lookup result specifies an
- action. By default, the table query and the action name are
- case-insensitive. Currently, only the <b>IGNORE</b> action is
- implemented. </p>
- <p> Notes: </p>
- <ul>
- <li> <p> Postfix DNS reply filters have no effect on implicit DNS
- lookups through nsswitch.conf or equivalent mechanisms. </p>
- <li> <p> The Postfix SMTP/LMTP client uses <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a>
- and <a href="postconf.5.html#lmtp_dns_reply_filter">lmtp_dns_reply_filter</a> only to discover a remote SMTP or LMTP
- service (record types MX, A, AAAAA, and TLSA). These lookups are
- also made to implement the features <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> and
- <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. </p>
- <li> <p> The Postfix SMTP/LMTP client defers mail delivery when
- a filter removes all lookup results from a successful query. </p>
- <li> <p> Postfix SMTP server uses <a href="postconf.5.html#smtpd_dns_reply_filter">smtpd_dns_reply_filter</a> only to
- look up MX, A, AAAAA, and TXT records to implement the features
- <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>, <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>,
- <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>, reject_rbl_*, and reject_rhsbl_*.
- </p>
- <li> <p> The Postfix SMTP server logs a warning or defers mail
- delivery when a filter removes all lookup results from a successful
- query. </p>
- </ul>
- <p> Example: ignore Google AAAA records in Postfix SMTP client DNS
- lookups, because Google sometimes hard-rejects mail from IPv6 clients
- with valid PTR etc. records. </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/smtp_dns_reply_filter
- </pre>
- <pre>
- /etc/postfix/smtp_dns_reply_filter:
- # /domain ttl IN AAAA address/ action, all case-insensitive.
- # Note: the domain name ends in ".".
- /^\S+\.google\.com\.\s+\S+\s+\S+\s+AAAA\s+/ IGNORE
- </pre>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="smtp_dns_resolver_options">smtp_dns_resolver_options</a>
- (default: empty)</b></DT><DD>
- <p> DNS Resolver options for the Postfix SMTP client. Specify zero
- or more of the following options, separated by comma or whitespace.
- Option names are case-sensitive. Some options refer to domain names
- that are specified in the file /etc/resolv.conf or equivalent. </p>
- <dl>
- <dt><b>res_defnames</b></dt>
- <dd> Append the current domain name to single-component names (those
- that do not contain a "." character). This can produce incorrect
- results, and is the hard-coded behavior prior to Postfix 2.8. </dd>
- <dt><b>res_dnsrch</b></dt>
- <dd> Search for host names in the current domain and in parent
- domains. This can produce incorrect results and is therefore not
- recommended. </dd>
- </dl>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="smtp_dns_support_level">smtp_dns_support_level</a>
- (default: empty)</b></DT><DD>
- <p> Level of DNS support in the Postfix SMTP client. With
- "<a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>" left at its empty default value, the legacy
- "<a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a>" parameter controls whether DNS is enabled in
- the Postfix SMTP client, otherwise the legacy parameter is ignored.
- </p>
- <p> Specify one of the following: </p>
- <dl>
- <dt><b>disabled</b></dt>
- <dd>Disable DNS lookups. No MX lookups are performed and hostname
- to address lookups are unconditionally "native". This setting is
- not appropriate for hosts that deliver mail to the public Internet.
- Some obsolete how-to documents recommend disabling DNS lookups in
- some configurations with content_filters. This is no longer required
- and strongly discouraged. </dd>
- <dt><b>enabled</b></dt>
- <dd>Enable DNS lookups. Nexthop destination domains not enclosed
- in "[]" will be subject to MX lookups. If "dns" and "native" are
- included in the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter value, DNS will be
- queried first to resolve MX-host A records, followed by "native"
- lookups if no answer is found in DNS. </dd>
- <dt><b>dnssec</b></dt>
- <dd>Enable <a href="https://tools.ietf.org/html/rfc4033">DNSSEC</a>
- lookups. The "dnssec" setting differs from the "enabled" setting
- above in the following ways: <ul> <li>Any MX lookups will set
- RES_USE_DNSSEC and RES_USE_EDNS0 to request DNSSEC-validated
- responses. If the MX response is DNSSEC-validated the corresponding
- hostnames are considered validated. <li> The address lookups of
- validated hostnames are also validated, (provided of course
- "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" includes "dns", see below). <li>Temporary
- failures in DNSSEC-enabled hostname-to-address resolution block any
- "native" lookups. Additional "native" lookups only happen when
- DNSSEC lookups hard-fail (NODATA or NXDOMAIN). </ul> </dd>
- </dl>
- <p> The Postfix SMTP client considers non-MX "[nexthop]" and
- "[nexthop]:port" destinations equivalent to statically-validated
- MX records of the form "nexthop. IN MX 0 nexthop." Therefore,
- with "dnssec" support turned on, validated hostname-to-address
- lookups apply to the nexthop domain of any "[nexthop]" or
- "[nexthop]:port" destination. This is also true for LMTP "inet:host"
- and "inet:host:port" destinations, as LMTP hostnames are never
- subject to MX lookups. </p>
- <p>The "dnssec" setting is recommended only if you plan to use the
- <a href="TLS_README.html#client_tls_dane">dane</a> or <a
- href="TLS_README.html#client_tls_dane">dane-only</a> TLS security
- level, otherwise enabling DNSSEC support in Postfix offers no
- additional security. Postfix DNSSEC support relies on an upstream
- recursive nameserver that validates DNSSEC signatures. Such a DNS
- server will always filter out forged DNS responses, even when Postfix
- itself is not configured to use DNSSEC. </p>
- <p> When using Postfix DANE support the "<a href="postconf.5.html#smtp_host_lookup">smtp_host_lookup</a>" parameter
- should include "dns", as <a
- href="https://tools.ietf.org/html/rfc7672">DANE</a> is not applicable
- to hosts resolved via "native" lookups. </p>
- <p> As mentioned above, Postfix is not a validating <a
- href="https://tools.ietf.org/html/rfc4035#section-4.9">stub
- resolver</a>; it relies on the system's configured DNSSEC-validating
- <a href="https://tools.ietf.org/html/rfc4035#section-3.2">recursive
- nameserver</a> to perform all DNSSEC validation. Since this
- nameserver's DNSSEC-validated responses will be fully trusted, it
- is strongly recommended that the MTA host have a local DNSSEC-validating
- recursive caching nameserver listening on a loopback address, and
- be configured to use only this nameserver for all lookups. Otherwise,
- Postfix may remain subject to man-in-the-middle attacks that forge
- responses from the recursive nameserver</p>
- <p>DNSSEC support requires a version of Postfix compiled against a
- reasonably-modern DNS resolver(3) library that implements the
- RES_USE_DNSSEC and RES_USE_EDNS0 resolver options. </p>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="smtp_enforce_tls">smtp_enforce_tls</a>
- (default: no)</b></DT><DD>
- <p> Enforcement mode: require that remote SMTP servers use TLS
- encryption, and never send mail in the clear. This also requires
- that the remote SMTP server hostname matches the information in
- the remote server certificate, and that the remote SMTP server
- certificate was issued by a CA that is trusted by the Postfix SMTP
- client. If the certificate doesn't verify or the hostname doesn't
- match, delivery is deferred and mail stays in the queue. </p>
- <p> The server hostname is matched against all names provided as
- dNSNames in the SubjectAlternativeName. If no dNSNames are specified,
- the CommonName is checked. The behavior may be changed with the
- <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> option. </p>
- <p> This option is useful only if you are definitely sure that you
- will only connect to servers that support <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> _and_ that
- provide valid server certificates. Typical use is for clients that
- send all their email to a dedicated mailhub. </p>
- <p> This feature is available in Postfix 2.2 and later. With
- Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
- </DD>
- <DT><b><a name="smtp_fallback_relay">smtp_fallback_relay</a>
- (default: $<a href="postconf.5.html#fallback_relay">fallback_relay</a>)</b></DT><DD>
- <p>
- Optional list of relay hosts for SMTP destinations that can't be
- found or that are unreachable. With Postfix 2.2 and earlier this
- parameter is called <a href="postconf.5.html#fallback_relay">fallback_relay</a>. </p>
- <p>
- By default, mail is returned to the sender when a destination is
- not found, and delivery is deferred when a destination is unreachable.
- </p>
- <p> With bulk email deliveries, it can be beneficial to run the
- fallback relay MTA on the same host, so that it can reuse the sender
- IP address. This speeds up deliveries that are delayed by IP-based
- reputation systems (greylist, etc.). </p>
- <p> The fallback relays must be SMTP destinations. Specify a domain,
- host, host:port, [host]:port, [address] or [address]:port; the form
- [host] turns off MX lookups. If you specify multiple SMTP
- destinations, Postfix will try them in the specified order. </p>
- <p> To prevent mailer loops between MX hosts and fall-back hosts,
- Postfix version 2.2 and later will not use the fallback relays for
- destinations that it is MX host for (assuming DNS lookup is turned on).
- </p>
- </DD>
- <DT><b><a name="smtp_generic_maps">smtp_generic_maps</a>
- (default: empty)</b></DT><DD>
- <p> Optional lookup tables that perform address rewriting in the
- Postfix SMTP client, typically to transform a locally valid address into
- a globally valid address when sending mail across the Internet.
- This is needed when the local machine does not have its own Internet
- domain name, but uses something like <i>localdomain.local</i>
- instead. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p> The table format and lookups are documented in <a href="generic.5.html">generic(5)</a>;
- examples are shown in the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> and
- <a href="STANDARD_CONFIGURATION_README.html">STANDARD_CONFIGURATION_README</a> documents. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_header_checks">smtp_header_checks</a>
- (default: empty)</b></DT><DD>
- <p> Restricted <a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP client.
- These tables are searched while mail is being delivered. Actions
- that change the delivery time or destination are not available.
- </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtp_helo_name">smtp_helo_name</a>
- (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
- <p>
- The hostname to send in the SMTP HELO or EHLO command.
- </p>
- <p>
- The default value is the machine hostname. Specify a hostname or
- [ip.add.re.ss].
- </p>
- <p>
- This information can be specified in the <a href="postconf.5.html">main.cf</a> file for all SMTP
- clients, or it can be specified in the <a href="master.5.html">master.cf</a> file for a specific
- client, for example:
- </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="master.5.html">master.cf</a>:
- mysmtp ... smtp -o <a href="postconf.5.html#smtp_helo_name">smtp_helo_name</a>=foo.bar.com
- </pre>
- </blockquote>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="smtp_helo_timeout">smtp_helo_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The Postfix SMTP client time limit for sending the HELO or EHLO command,
- and for receiving the initial remote SMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="smtp_host_lookup">smtp_host_lookup</a>
- (default: dns)</b></DT><DD>
- <p>
- What mechanisms the Postfix SMTP client uses to look up a host's
- IP address. This parameter is ignored when DNS lookups are disabled
- (see: <a href="postconf.5.html#disable_dns_lookups">disable_dns_lookups</a> and <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a>). The "dns"
- mechanism is always tried before "native" if both are listed.
- </p>
- <p>
- Specify one of the following:
- </p>
- <dl>
- <dt><b>dns</b></dt>
- <dd>Hosts can be found in the DNS (preferred). </dd>
- <dt><b>native</b></dt>
- <dd>Use the native naming service only (nsswitch.conf, or equivalent
- mechanism). </dd>
- <dt><b>dns, native</b></dt>
- <dd>Use the native service for hosts not found in the DNS. </dd>
- </dl>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtp_line_length_limit">smtp_line_length_limit</a>
- (default: 998)</b></DT><DD>
- <p>
- The maximal length of message header and body lines that Postfix
- will send via SMTP. This limit does not include the <CR><LF>
- at the end of each line. Longer lines are broken by inserting
- "<CR><LF><SPACE>", to minimize the damage to MIME
- formatted mail.
- </p>
- <p>
- The Postfix limit of 998 characters not including <CR><LF>
- is consistent with the SMTP limit of 1000 characters including
- <CR><LF>. The Postfix limit was 990 with Postfix 2.8
- and earlier.
- </p>
- </DD>
- <DT><b><a name="smtp_mail_timeout">smtp_mail_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The Postfix SMTP client time limit for sending the MAIL FROM command,
- and for receiving the remote SMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="smtp_mime_header_checks">smtp_mime_header_checks</a>
- (default: empty)</b></DT><DD>
- <p> Restricted mime_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
- client. These tables are searched while mail is being delivered.
- Actions that change the delivery time or destination are not
- available. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtp_mx_address_limit">smtp_mx_address_limit</a>
- (default: 5)</b></DT><DD>
- <p>
- The maximal number of MX (mail exchanger) IP addresses that can
- result from Postfix SMTP client mail exchanger lookups, or zero (no
- limit). Prior to
- Postfix version 2.3, this limit was disabled by default.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtp_mx_session_limit">smtp_mx_session_limit</a>
- (default: 2)</b></DT><DD>
- <p> The maximal number of SMTP sessions per delivery request before
- the Postfix SMTP client
- gives up or delivers to a fall-back <a href="postconf.5.html#relayhost">relay host</a>, or zero (no
- limit). This restriction ignores sessions that fail to complete the
- SMTP initial handshake (Postfix version 2.2 and earlier) or that fail to
- complete the EHLO and TLS handshake (Postfix version 2.3 and later). </p>
- <p> This feature is available in Postfix 2.1 and later. </p>
- </DD>
- <DT><b><a name="smtp_nested_header_checks">smtp_nested_header_checks</a>
- (default: empty)</b></DT><DD>
- <p> Restricted nested_<a href="header_checks.5.html">header_checks(5)</a> tables for the Postfix SMTP
- client. These tables are searched while mail is being delivered.
- Actions that change the delivery time or destination are not
- available. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtp_never_send_ehlo">smtp_never_send_ehlo</a>
- (default: no)</b></DT><DD>
- <p> Never send EHLO at the start of an SMTP session. See also the
- <a href="postconf.5.html#smtp_always_send_ehlo">smtp_always_send_ehlo</a> parameter. </p>
- </DD>
- <DT><b><a name="smtp_per_record_deadline">smtp_per_record_deadline</a>
- (default: no)</b></DT><DD>
- <p> Change the behavior of the smtp_*_timeout time limits, from a
- time limit per read or write system call, to a time limit to send
- or receive a complete record (an SMTP command line, SMTP response
- line, SMTP message content line, or TLS protocol message). This
- limits the impact from hostile peers that trickle data one byte at
- a time. </p>
- <p> Note: when per-record deadlines are enabled, a short timeout
- may cause problems with TLS over very slow network connections.
- The reasons are that a TLS protocol message can be up to 16 kbytes
- long (with TLSv1), and that an entire TLS protocol message must be
- sent or received within the per-record deadline. </p>
- <p> This feature is available in Postfix 2.9 and later. With older
- Postfix releases, the behavior is as if this parameter is set to
- "no". </p>
- </DD>
- <DT><b><a name="smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a>
- (default: 10s)</b></DT><DD>
- <p>
- How long the Postfix SMTP client pauses before sending
- ".<CR><LF>" in order to work around the PIX firewall
- "<CR><LF>.<CR><LF>" bug.
- </p>
- <p>
- Choosing a too short time makes this workaround ineffective when
- sending large messages over slow network connections.
- </p>
- </DD>
- <DT><b><a name="smtp_pix_workaround_maps">smtp_pix_workaround_maps</a>
- (default: empty)</b></DT><DD>
- <p> Lookup tables, indexed by the remote SMTP server address, with
- per-destination workarounds for CISCO PIX firewall bugs. The table
- is not indexed by hostname for consistency with
- <a href="postconf.5.html#smtp_discard_ehlo_keyword_address_maps">smtp_discard_ehlo_keyword_address_maps</a>. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p> This feature is available in Postfix 2.4 and later. </p>
- </DD>
- <DT><b><a name="smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a>
- (default: 500s)</b></DT><DD>
- <p> How long a message must be queued before the Postfix SMTP client
- turns on the PIX firewall "<CR><LF>.<CR><LF>"
- bug workaround for delivery through firewalls with "smtp fixup"
- mode turned on. </p>
- <p>
- By default, the workaround is turned off for mail that is queued
- for less than 500 seconds. In other words, the workaround is normally
- turned off for the first delivery attempt.
- </p>
- <p>
- Specify 0 to enable the PIX firewall
- "<CR><LF>.<CR><LF>" bug workaround upon the
- first delivery attempt.
- </p>
- </DD>
- <DT><b><a name="smtp_pix_workarounds">smtp_pix_workarounds</a>
- (default: disable_esmtp, delay_dotcrlf)</b></DT><DD>
- <p> A list that specifies zero or more workarounds for CISCO PIX
- firewall bugs. These workarounds are implemented by the Postfix
- SMTP client. Workaround names are separated by comma or space, and
- are case insensitive. This parameter setting can be overruled with
- per-destination <a href="postconf.5.html#smtp_pix_workaround_maps">smtp_pix_workaround_maps</a> settings. </p>
- <dl>
- <dt><b>delay_dotcrlf</b><dd> Insert a delay before sending
- ".<CR><LF>" after the end of the message content. The
- delay is subject to the <a href="postconf.5.html#smtp_pix_workaround_delay_time">smtp_pix_workaround_delay_time</a> and
- <a href="postconf.5.html#smtp_pix_workaround_threshold_time">smtp_pix_workaround_threshold_time</a> parameter settings. </dd>
- <dt><b>disable_esmtp</b><dd> Disable all extended SMTP commands:
- send HELO instead of EHLO. </dd>
- </dl>
- <p> This feature is available in Postfix 2.4 and later. The default
- settings are backwards compatible with earlier Postfix versions.
- </p>
- </DD>
- <DT><b><a name="smtp_quit_timeout">smtp_quit_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The Postfix SMTP client time limit for sending the QUIT command,
- and for receiving the remote SMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>
- (default: yes)</b></DT><DD>
- <p>
- Quote addresses in Postfix SMTP client MAIL FROM and RCPT TO commands
- as required
- by <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. This includes putting quotes around an address localpart
- that ends in ".".
- </p>
- <p>
- The default is to comply with <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>. If you have to send mail to
- a broken SMTP server, configure a special SMTP client in <a href="master.5.html">master.cf</a>:
- </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="master.5.html">master.cf</a>:
- broken-smtp . . . smtp -o <a href="postconf.5.html#smtp_quote_rfc821_envelope">smtp_quote_rfc821_envelope</a>=no
- </pre>
- </blockquote>
- <p>
- and route mail for the destination in question to the "broken-smtp"
- message delivery with a <a href="transport.5.html">transport(5)</a> table.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtp_randomize_addresses">smtp_randomize_addresses</a>
- (default: yes)</b></DT><DD>
- <p>
- Randomize the order of equal-preference MX host addresses. This
- is a performance feature of the Postfix SMTP client.
- </p>
- </DD>
- <DT><b><a name="smtp_rcpt_timeout">smtp_rcpt_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The Postfix SMTP client time limit for sending the SMTP RCPT TO
- command, and for receiving the remote SMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="smtp_reply_filter">smtp_reply_filter</a>
- (default: empty)</b></DT><DD>
- <p> A mechanism to transform replies from remote SMTP servers one
- line at a time. This is a last-resort tool to work around server
- replies that break interoperability with the Postfix SMTP client.
- Other uses involve fault injection to test Postfix's handling of
- invalid responses. </p>
- <p> Notes: </p>
- <ul>
- <li> <p> In the case of a multi-line reply, the Postfix SMTP client
- uses the final reply line's numerical SMTP reply code and enhanced
- status code. </p>
- <li> <p> The numerical SMTP reply code (XYZ) takes precedence over
- the enhanced status code (X.Y.Z). When the enhanced status code
- initial digit differs from the SMTP reply code initial digit, or
- when no enhanced status code is present, the Postfix SMTP client
- uses a generic enhanced status code (X.0.0) instead. </p>
- </ul>
- <p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
- string is a single SMTP reply line as received from the remote SMTP
- server, except that the trailing <CR><LF> are removed.
- When the lookup succeeds, the result replaces the single SMTP reply
- line. </p>
- <p> Examples: </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtp_reply_filter">smtp_reply_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/reply_filter
- </pre>
- <pre>
- /etc/postfix/reply_filter:
- # Transform garbage into "250-filler..." so that it looks like
- # one line from a multi-line reply. It does not matter what we
- # substitute here as long it has the right syntax. The Postfix
- # SMTP client will use the final line's numerical SMTP reply
- # code and enhanced status code.
- !/^([2-5][0-9][0-9]($|[- ]))/ 250-filler for garbage
- </pre>
- <p> This feature is available in Postfix 2.7. </p>
- </DD>
- <DT><b><a name="smtp_rset_timeout">smtp_rset_timeout</a>
- (default: 20s)</b></DT><DD>
- <p> The Postfix SMTP client time limit for sending the RSET command,
- and for receiving the remote SMTP server response. The SMTP client
- sends RSET in
- order to finish a recipient address probe, or to verify that a
- cached session is still usable. </p>
- <p> This feature is available in Postfix 2.1 and later. </p>
- </DD>
- <DT><b><a name="smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
- (default: empty)</b></DT><DD>
- <p> An optional table to prevent repeated SASL authentication
- failures with the same remote SMTP server hostname, username and
- password. Each table (key, value) pair contains a server name, a
- username and password, and the full server response. This information
- is stored when a remote SMTP server rejects an authentication attempt
- with a 535 reply code. As long as the <a href="postconf.5.html#smtp_sasl_password_maps">smtp_sasl_password_maps</a>
- information does no change, and as long as the <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a>
- information does not expire (see <a href="postconf.5.html#smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>) the
- Postfix SMTP client avoids SASL authentication attempts with the
- same server, username and password, and instead bounces or defers
- mail as controlled with the <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> configuration
- parameter. </p>
- <p> Use a per-destination delivery concurrency of 1 (for example,
- "<a href="postconf.5.html#smtp_destination_concurrency_limit">smtp_destination_concurrency_limit</a> = 1",
- "<a href="postconf.5.html#relay_destination_concurrency_limit">relay_destination_concurrency_limit</a> = 1", etc.), otherwise multiple
- delivery agents may experience a login failure at the same time.
- </p>
- <p> The table must be accessed via the proxywrite service, i.e. the
- map name must start with "<a href="proxymap.8.html">proxy</a>:". The table should be stored under
- the directory specified with the <a href="postconf.5.html#data_directory">data_directory</a> parameter. </p>
- <p> This feature uses cryptographic hashing to protect plain-text
- passwords, and requires that Postfix is compiled with TLS support.
- </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> = <a href="proxymap.8.html">proxy</a>:<a href="DATABASE_README.html#types">btree</a>:/var/lib/postfix/sasl_auth_cache
- </pre>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtp_sasl_auth_cache_time">smtp_sasl_auth_cache_time</a>
- (default: 90d)</b></DT><DD>
- <p> The maximal age of an <a href="postconf.5.html#smtp_sasl_auth_cache_name">smtp_sasl_auth_cache_name</a> entry before it
- is removed. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtp_sasl_auth_enable">smtp_sasl_auth_enable</a>
- (default: no)</b></DT><DD>
- <p>
- Enable SASL authentication in the Postfix SMTP client. By default,
- the Postfix SMTP client uses no authentication.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtp_sasl_auth_enable">smtp_sasl_auth_enable</a> = yes
- </pre>
- </DD>
- <DT><b><a name="smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a>
- (default: yes)</b></DT><DD>
- <p> When a remote SMTP server rejects a SASL authentication request
- with a 535 reply code, defer mail delivery instead of returning
- mail as undeliverable. The latter behavior was hard-coded prior to
- Postfix version 2.5. </p>
- <p> Note: the setting "yes" overrides the global <a href="postconf.5.html#soft_bounce">soft_bounce</a>
- parameter, but the setting "no" does not. </p>
- <p> Example: </p>
- <pre>
- # Default as of Postfix 2.5
- <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = yes
- # The old hard-coded default
- <a href="postconf.5.html#smtp_sasl_auth_soft_bounce">smtp_sasl_auth_soft_bounce</a> = no
- </pre>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a>
- (default: empty)</b></DT><DD>
- <p>
- If non-empty, a Postfix SMTP client filter for the remote SMTP
- server's list of offered SASL mechanisms. Different client and
- server implementations may support different mechanism lists; by
- default, the Postfix SMTP client will use the intersection of the
- two. <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> specifies an optional third mechanism
- list to intersect with. </p>
- <p> Specify mechanism names, "/file/name" patterns or "<a href="DATABASE_README.html">type:table</a>"
- lookup tables. The right-hand side result from "<a href="DATABASE_README.html">type:table</a>" lookups
- is ignored. Specify "!pattern" to exclude a mechanism name from the
- list. The form "!/file/name" is supported only in Postfix version
- 2.4 and later. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = plain, login
- <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = /etc/postfix/smtp_mechs
- <a href="postconf.5.html#smtp_sasl_mechanism_filter">smtp_sasl_mechanism_filter</a> = !gssapi, !login, <a href="DATABASE_README.html#types">static</a>:rest
- </pre>
- </DD>
- <DT><b><a name="smtp_sasl_password_maps">smtp_sasl_password_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional Postfix SMTP client lookup tables with one username:password
- entry per sender, remote hostname or next-hop domain. Per-sender
- lookup is done only when sender-dependent authentication is enabled.
- If no username:password entry is found, then the Postfix SMTP client
- will not attempt to authenticate to the remote host.
- </p>
- <p>
- The Postfix SMTP client opens the lookup table before going to
- chroot jail, so you can leave the password file in /etc/postfix.
- </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- </DD>
- <DT><b><a name="smtp_sasl_path">smtp_sasl_path</a>
- (default: empty)</b></DT><DD>
- <p> Implementation-specific information that the Postfix SMTP client
- passes through to
- the SASL plug-in implementation that is selected with
- <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>. Typically this specifies the name of a
- configuration file or rendezvous point. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_sasl_security_options">smtp_sasl_security_options</a>
- (default: noplaintext, noanonymous)</b></DT><DD>
- <p> Postfix SMTP client SASL security options; as of Postfix 2.3
- the list of available
- features depends on the SASL client implementation that is selected
- with <b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b>. </p>
- <p> The following security features are defined for the <b>cyrus</b>
- client SASL implementation: </p>
- <p>
- Specify zero or more of the following:
- </p>
- <dl>
- <dt><b>noplaintext</b></dt>
- <dd>Disallow methods that use plaintext passwords. </dd>
- <dt><b>noactive</b></dt>
- <dd>Disallow methods subject to active (non-dictionary) attack.
- </dd>
- <dt><b>nodictionary</b></dt>
- <dd>Disallow methods subject to passive (dictionary) attack. </dd>
- <dt><b>noanonymous</b></dt>
- <dd>Disallow methods that allow anonymous authentication. </dd>
- <dt><b>mutual_auth</b></dt>
- <dd>Only allow methods that provide mutual authentication (not
- available with SASL version 1). </dd>
- </dl>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a> = noplaintext
- </pre>
- </DD>
- <DT><b><a name="smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>
- (default: $<a href="postconf.5.html#smtp_sasl_security_options">smtp_sasl_security_options</a>)</b></DT><DD>
- <p> The SASL authentication security options that the Postfix SMTP
- client uses for TLS encrypted SMTP sessions. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a>
- (default: $<a href="postconf.5.html#smtp_sasl_tls_security_options">smtp_sasl_tls_security_options</a>)</b></DT><DD>
- <p> The SASL authentication security options that the Postfix SMTP
- client uses for TLS encrypted SMTP sessions with a verified server
- certificate. </p>
- <p> When mail is sent to the public MX host for the recipient's
- domain, server certificates are by default optional, and delivery
- proceeds even if certificate verification fails. For delivery via
- a submission service that requires SASL authentication, it may be
- appropriate to send plaintext passwords only when the connection
- to the server is strongly encrypted <b>and</b> the server identity
- is verified. </p>
- <p> The <a href="postconf.5.html#smtp_sasl_tls_verified_security_options">smtp_sasl_tls_verified_security_options</a> parameter makes it
- possible to only enable plaintext mechanisms when a secure connection
- to the server is available. Submission servers subject to this
- policy must either have verifiable certificates or offer suitable
- non-plaintext SASL mechanisms. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="smtp_sasl_type">smtp_sasl_type</a>
- (default: cyrus)</b></DT><DD>
- <p> The SASL plug-in type that the Postfix SMTP client should use
- for authentication. The available types are listed with the
- "<b>postconf -A</b>" command. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
- (default: no)</b></DT><DD>
- <p> Whether or not to append the "AUTH=<>" option to the MAIL
- FROM command in SASL-authenticated SMTP sessions. The default is
- not to send this, to avoid problems with broken remote SMTP servers.
- Before Postfix 2.9 the behavior is as if "<a href="postconf.5.html#smtp_send_dummy_mail_auth">smtp_send_dummy_mail_auth</a>
- = yes".
- <p> This feature is available in Postfix 2.9 and later. </p>
- </DD>
- <DT><b><a name="smtp_send_xforward_command">smtp_send_xforward_command</a>
- (default: no)</b></DT><DD>
- <p>
- Send the non-standard XFORWARD command when the Postfix SMTP server
- EHLO response announces XFORWARD support.
- </p>
- <p>
- This allows a Postfix SMTP delivery agent, used for injecting mail
- into
- a content filter, to forward the name, address, protocol and HELO
- name of the original client to the content filter and downstream
- queuing SMTP server. This can produce more useful logging than
- localhost[127.0.0.1] etc.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtp_sender_dependent_authentication">smtp_sender_dependent_authentication</a>
- (default: no)</b></DT><DD>
- <p>
- Enable sender-dependent authentication in the Postfix SMTP client; this is
- available only with SASL authentication, and disables SMTP connection
- caching to ensure that mail from different senders will use the
- appropriate credentials. </p>
- <p>
- This feature is available in Postfix 2.3 and later.
- </p>
- </DD>
- <DT><b><a name="smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a>
- (default: yes)</b></DT><DD>
- <p>
- Skip SMTP servers that greet with a 4XX status code (go away, try
- again later).
- </p>
- <p>
- By default, the Postfix SMTP client moves on the next mail exchanger.
- Specify
- "<a href="postconf.5.html#smtp_skip_4xx_greeting">smtp_skip_4xx_greeting</a> = no" if Postfix should defer delivery
- immediately.
- </p>
- <p> This feature is available in Postfix 2.0 and earlier.
- Later Postfix versions always skip remote SMTP servers that greet
- with a
- 4XX status code. </p>
- </DD>
- <DT><b><a name="smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a>
- (default: yes)</b></DT><DD>
- <p>
- Skip remote SMTP servers that greet with a 5XX status code.
- </p>
- <p> By default, the Postfix SMTP client moves on the next mail
- exchanger. Specify "<a href="postconf.5.html#smtp_skip_5xx_greeting">smtp_skip_5xx_greeting</a> = no" if Postfix should
- bounce the mail immediately. Caution: the latter behavior appears
- to contradict <a href="http://tools.ietf.org/html/rfc2821">RFC 2821</a>. </p>
- </DD>
- <DT><b><a name="smtp_skip_quit_response">smtp_skip_quit_response</a>
- (default: yes)</b></DT><DD>
- <p>
- Do not wait for the response to the SMTP QUIT command.
- </p>
- </DD>
- <DT><b><a name="smtp_starttls_timeout">smtp_starttls_timeout</a>
- (default: 300s)</b></DT><DD>
- <p> Time limit for Postfix SMTP client write and read operations
- during TLS startup and shutdown handshake procedures. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tcp_port">smtp_tcp_port</a>
- (default: smtp)</b></DT><DD>
- <p>
- The default TCP port that the Postfix SMTP client connects to.
- Specify a symbolic name (see services(5)) or a numeric port.
- </p>
- </DD>
- <DT><b><a name="smtp_tls_CAfile">smtp_tls_CAfile</a>
- (default: empty)</b></DT><DD>
- <p> A file containing CA certificates of root CAs trusted to sign
- either remote SMTP server certificates or intermediate CA certificates.
- These are loaded into memory before the <a href="smtp.8.html">smtp(8)</a> client enters the
- chroot jail. If the number of trusted roots is large, consider using
- <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> instead, but note that the latter directory must be
- present in the chroot jail if the <a href="smtp.8.html">smtp(8)</a> client is chrooted. This
- file may also be used to augment the client certificate trust chain,
- but it is best to include all the required certificates directly in
- $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. </p>
- <p> Specify "<a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /path/to/system_CA_file" to use
- ONLY the system-supplied default Certification Authority certificates.
- </p>
- <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
- appending the system-supplied default CAs and trusting third-party
- certificates. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a> = /etc/postfix/CAcert.pem
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_CApath">smtp_tls_CApath</a>
- (default: empty)</b></DT><DD>
- <p> Directory with PEM format Certification Authority certificates
- that the Postfix SMTP client uses to verify a remote SMTP server
- certificate. Don't forget to create the necessary "hash" links
- with, for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs".
- </p>
- <p> To use this option in chroot mode, this directory (or a copy)
- must be inside the chroot jail. </p>
- <p> Specify "<a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /path/to/system_CA_directory" to
- use ONLY the system-supplied default Certification Authority certificates.
- </p>
- <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
- appending the system-supplied default CAs and trusting third-party
- certificates. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtp_tls_CApath">smtp_tls_CApath</a> = /etc/postfix/certs
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_block_early_mail_reply">smtp_tls_block_early_mail_reply</a>
- (default: no)</b></DT><DD>
- <p> Try to detect a mail hijacking attack based on a TLS protocol
- vulnerability (CVE-2009-3555), where an attacker prepends malicious
- HELO, MAIL, RCPT, DATA commands to a Postfix SMTP client TLS session.
- The attack would succeed with non-Postfix SMTP servers that reply
- to the malicious HELO, MAIL, RCPT, DATA commands after negotiating
- the Postfix SMTP client TLS session. </p>
- <p> This feature is available in Postfix 2.7. </p>
- </DD>
- <DT><b><a name="smtp_tls_cert_file">smtp_tls_cert_file</a>
- (default: empty)</b></DT><DD>
- <p> File with the Postfix SMTP client RSA certificate in PEM format.
- This file may also contain the Postfix SMTP client private RSA key,
- and these may be the same as the Postfix SMTP server RSA certificate and key
- file. </p>
- <p> Do not configure client certificates unless you <b>must</b> present
- client TLS certificates to one or more servers. Client certificates are
- not usually needed, and can cause problems in configurations that work
- well without them. The recommended setting is to let the defaults stand: </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> =
- <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> =
- <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> =
- <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> =
- <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> =
- <a href="postconf.5.html#smtp_tls_eckey_file">smtp_tls_eckey_file</a> =
- </pre>
- </blockquote>
- <p> The best way to use the default settings is to comment out the above
- parameters in <a href="postconf.5.html">main.cf</a> if present. </p>
- <p> To enable remote SMTP servers to verify the Postfix SMTP client
- certificate, the issuing CA certificates must be made available to the
- server. You should include the required certificates in the client
- certificate file, the client certificate first, then the issuing
- CA(s) (bottom-up order). </p>
- <p> Example: the certificate for "client.example.com" was issued by
- "intermediate CA" which itself has a certificate issued by "root CA".
- Create the client.pem file with "cat client_cert.pem intermediate_CA.pem
- root_CA.pem > client.pem". </p>
- <p> If you also want to verify remote SMTP server certificates issued by
- these CAs, you can add the CA certificates to the <a href="postconf.5.html#smtp_tls_CAfile">smtp_tls_CAfile</a>, in
- which case it is not necessary to have them in the <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>,
- <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> or <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p>
- <p> A certificate supplied here must be usable as an SSL client certificate
- and hence pass the "openssl verify -purpose sslclient ..." test. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> = /etc/postfix/client.pem
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_cipherlist">smtp_tls_cipherlist</a>
- (default: empty)</b></DT><DD>
- <p> Obsolete Postfix < 2.3 control for the Postfix SMTP client TLS
- cipher list. As this feature applies to all TLS security levels, it is easy
- to create interoperability problems by choosing a non-default cipher
- list. Do not use a non-default TLS cipher list on hosts that deliver email
- to the public Internet: you will be unable to send email to servers that
- only support the ciphers you exclude. Using a restricted cipher list
- may be more appropriate for an internal MTA, where one can exert some
- control over the TLS software and settings of the peer servers. </p>
- <p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
- <p> This feature is available in Postfix version 2.2. It is not used with
- Postfix 2.3 and later; use <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> instead. </p>
- </DD>
- <DT><b><a name="smtp_tls_ciphers">smtp_tls_ciphers</a>
- (default: medium)</b></DT><DD>
- <p> The minimum TLS cipher grade that the Postfix SMTP client
- will use with opportunistic TLS encryption. Cipher types listed in
- <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> are excluded from the base definition of
- the selected cipher grade. The default value is "medium" for
- Postfix releases after the middle of 2015, "export" for older
- releases. </p>
- <p> When TLS is mandatory the cipher grade is chosen via the
- <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
- details. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure
- ciphers on a per-destination basis. </p>
- <p> This feature is available in Postfix 2.6 and later. With earlier Postfix
- releases only the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter is implemented,
- and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
- </DD>
- <DT><b><a name="smtp_tls_dane_insecure_mx_policy">smtp_tls_dane_insecure_mx_policy</a>
- (default: dane)</b></DT><DD>
- <p> The TLS policy for MX hosts with "secure" TLSA records when the
- nexthop destination security level is <b>dane</b>, but the MX
- record was found via an "insecure" MX lookup. The choices are:
- </p>
- <dl>
- <dt><b>may</b></dt>
- <dd> The TLSA records will be ignored and TLS will be optional. If
- the MX host does not appear to support STARTTLS, or the STARTTLS
- handshake fails, mail may be sent in the clear. </dd>
- <dt><b>encrypt</b></dt>
- <dd> The TLSA records will signal a requirement to use TLS. While
- TLS encryption will be required, authentication will not be performed.
- </dd>
- <dt><b>dane</b> (default)</dt>
- <dd>The TLSA records will be used just as with "secure" MX records.
- TLS encryption will be required, and, if at least one of the TLSA
- records is "usable", authentication will be required. When
- authentication succeeds, it will be logged only as "Trusted", not
- "Verified", because the MX host name could have been forged. </dd>
- </dl>
- <p> Though with "insecure" MX records an active attacker can
- compromise SMTP transport security by returning forged MX records,
- such attacks are "tamper-evident" since any forged MX hostnames
- will be recorded in the mail logs. Attackers who place a high value
- staying hidden may be deterred from forging MX records. </p>
- <p>
- This feature is available in Postfix 3.1 and later. The <b>may</b>
- policy is backwards-compatible with earlier Postfix versions.
- </p>
- </DD>
- <DT><b><a name="smtp_tls_dcert_file">smtp_tls_dcert_file</a>
- (default: empty)</b></DT><DD>
- <p> File with the Postfix SMTP client DSA certificate in PEM format.
- This file may also contain the Postfix SMTP client private DSA key. </p>
- <p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
- </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_dkey_file">smtp_tls_dkey_file</a>
- (default: $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>)</b></DT><DD>
- <p> File with the Postfix SMTP client DSA private key in PEM format.
- This file may be combined with the Postfix SMTP client DSA certificate
- file specified with $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>. </p>
- <p> The private key must be accessible without a pass-phrase, i.e. it
- must not be encrypted. File permissions should grant read-only
- access to the system superuser account ("root"), and no access
- to anyone else. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_eccert_file">smtp_tls_eccert_file</a>
- (default: empty)</b></DT><DD>
- <p> File with the Postfix SMTP client ECDSA certificate in PEM format.
- This file may also contain the Postfix SMTP client ECDSA private key. </p>
- <p> See the discussion under <a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> for more details.
- </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a> = /etc/postfix/ecdsa-ccert.pem
- </pre>
- <p> This feature is available in Postfix 2.6 and later, when Postfix is
- compiled and linked with OpenSSL 1.0.0 or later. </p>
- </DD>
- <DT><b><a name="smtp_tls_eckey_file">smtp_tls_eckey_file</a>
- (default: $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>)</b></DT><DD>
- <p> File with the Postfix SMTP client ECDSA private key in PEM format.
- This file may be combined with the Postfix SMTP client ECDSA
- certificate file specified with $<a href="postconf.5.html#smtp_tls_eccert_file">smtp_tls_eccert_file</a>. </p>
- <p> The private key must be accessible without a pass-phrase, i.e. it
- must not be encrypted. File permissions should grant read-only
- access to the system superuser account ("root"), and no access
- to anyone else. </p>
- <p> This feature is available in Postfix 2.6 and later, when Postfix is
- compiled and linked with OpenSSL 1.0.0 or later. </p>
- </DD>
- <DT><b><a name="smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
- (default: yes)</b></DT><DD>
- <p> With mandatory TLS encryption, require that the remote SMTP
- server hostname matches the information in the remote SMTP server
- certificate. As of <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> the requirements for hostname checking
- for MTA clients are not specified. </p>
- <p> This option can be set to "no" to disable strict peer name
- checking. This setting has no effect on sessions that are controlled
- via the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table. </p>
- <p> Disabling the hostname verification can make sense in closed
- environment where special CAs are created. If not used carefully,
- this option opens the danger of a "man-in-the-middle" attack (the
- CommonName of this attacker will be logged). </p>
- <p> This feature is available in Postfix 2.2 and later. With
- Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
- </DD>
- <DT><b><a name="smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
- (default: empty)</b></DT><DD>
- <p> List of ciphers or cipher types to exclude from the Postfix
- SMTP client cipher
- list at all TLS security levels. This is not an OpenSSL cipherlist, it is
- a simple list separated by whitespace and/or commas. The elements are a
- single cipher, or one or more "+" separated cipher properties, in which
- case only ciphers matching <b>all</b> the properties are excluded. </p>
- <p> Examples (some of these will cause problems): </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL
- <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = MD5, DES
- <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = DES+MD5
- <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
- <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = kEDH+aRSA
- </pre>
- </blockquote>
- <p> The first setting, disables anonymous ciphers. The next setting
- disables ciphers that use the MD5 digest algorithm or the (single) DES
- encryption algorithm. The next setting disables ciphers that use MD5 and
- DES together. The next setting disables the two ciphers "AES256-SHA"
- and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
- key exchange with RSA authentication. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a>
- (default: empty)</b></DT><DD>
- <p> List of acceptable remote SMTP server certificate fingerprints for
- the "fingerprint" TLS security level (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> =
- fingerprint). At this security level, Certification Authorities are not
- used, and certificate expiration times are ignored. Instead, server
- certificates are verified directly via their certificate fingerprint
- or public key fingerprint (Postfix 2.9 and later). The fingerprint
- is a message digest of the server certificate (or public key). The
- digest algorithm is selected via the <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b>
- parameter. </p>
- <p> When an <b><a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a></b> table entry specifies the
- "fingerprint" security level, any "match" attributes in that entry specify
- the list of valid fingerprints for the corresponding destination. Multiple
- fingerprints can be combined with a "|" delimiter in a single match
- attribute, or multiple match attributes can be employed. </p>
- <p> Example: Certificate fingerprint verification with internal mailhub.
- Two matching fingerprints are listed. The <a href="postconf.5.html#relayhost">relayhost</a> may be multiple
- physical hosts behind a load-balancer, each with its own private/public
- key and self-signed certificate. Alternatively, a single <a href="postconf.5.html#relayhost">relayhost</a> may
- be in the process of switching from one set of private/public keys to
- another, and both keys are trusted just prior to the transition. </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
- <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
- <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
- <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
- 3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
- EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
- </pre>
- </blockquote>
- <p> Example: Certificate fingerprint verification with selected destinations.
- As in the example above, we show two matching fingerprints: </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy
- <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
- </pre>
- </blockquote>
- <blockquote>
- <pre>
- /etc/postfix/tls_policy:
- example.com fingerprint
- match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
- match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
- </pre>
- </blockquote>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>
- (default: md5)</b></DT><DD>
- <p> The message digest algorithm used to construct remote SMTP server
- certificate fingerprints. At the "fingerprint" TLS security level
- (<b><a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a></b> = fingerprint), the server certificate is
- verified by directly matching its certificate fingerprint or its public
- key fingerprint (Postfix 2.9 and later). The fingerprint is the
- message digest of the server certificate (or its public key)
- using the selected
- algorithm. With a digest algorithm resistant to "second pre-image"
- attacks, it is not feasible to create a new public key and a matching
- certificate (or public/private key-pair) that has the same fingerprint. </p>
- <p> The default algorithm is <b>md5</b>; this is consistent with
- the backwards compatible setting of the digest used to verify client
- certificates in the SMTP server. </p>
- <p> The best practice algorithm is now <b>sha1</b>. Recent advances in hash
- function cryptanalysis have led to md5 being deprecated in favor of sha1.
- However, as long as there are no known "second pre-image" attacks
- against md5, its use in this context can still be considered safe.
- </p>
- <p> While additional digest algorithms are often available with OpenSSL's
- libcrypto, only those used by libssl in SSL cipher suites are available to
- Postfix. For now this means just md5 or sha1. </p>
- <p> To find the fingerprint of a specific certificate file, with a
- specific digest algorithm, run:
- </p>
- <blockquote>
- <pre>
- $ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
- </pre>
- </blockquote>
- <p> The text to the right of "=" sign is the desired fingerprint.
- For example: </p>
- <blockquote>
- <pre>
- $ openssl x509 -noout -fingerprint -sha1 -in cert.pem
- SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
- </pre>
- </blockquote>
- <p> To extract the public key fingerprint from an X.509 certificate,
- you need to extract the public key from the certificate and compute
- the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
- the "-pubkey" option of the "x509" command extracts the public
- key always in "PEM" format. We pipe the result to another OpenSSL
- command that converts the key to DER and then to the "dgst" command
- to compute the fingerprint. </p>
- <p> The actual command to transform the key to DER format depends
- on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
- "pkey" command supports all key types. With OpenSSL 0.9.8 and
- earlier, the key type is always RSA (nobody uses DSA, and EC
- keys are not fully supported by 0.9.8), so the "rsa" command is
- used. </p>
- <blockquote>
- <pre>
- # OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
- $ openssl x509 -in cert.pem -noout -pubkey |
- openssl pkey -pubin -outform DER |
- openssl dgst -sha1 -c
- (stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
- </pre>
- </blockquote>
- <blockquote>
- <pre>
- # OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
- $ openssl x509 -in cert.pem -noout -pubkey |
- openssl rsa -pubin -outform DER |
- openssl dgst -md5 -c
- (stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
- </pre>
- </blockquote>
- <p> The Postfix SMTP server and client log the peer (leaf) certificate
- fingerprint and public key fingerprint when the TLS loglevel is 2 or
- higher. </p>
- <p> <b>Note:</b> Postfix 2.9.0–2.9.5 computed the public key
- fingerprint incorrectly. To use public-key fingerprints, upgrade
- to Postfix 2.9.6 or later. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_force_insecure_host_tlsa_lookup">smtp_tls_force_insecure_host_tlsa_lookup</a>
- (default: no)</b></DT><DD>
- <p> Lookup the associated DANE TLSA RRset even when a hostname is
- not an alias and its address records lie in an unsigned zone. This
- is unlikely to ever yield DNSSEC validated results, since child
- zones of unsigned zones are also unsigned in the absence of DLV or
- locally configured non-root trust-anchors. We anticipate that such
- mechanisms will not be used for just the "_tcp" subdomain of a host.
- Suppressing the TLSA RRset lookup reduces latency and avoids potential
- interoperability problems with nameservers for unsigned zones that
- are not prepared to handle the new TLSA RRset. </p>
- <p> This feature is available in Postfix 2.11. </p>
- </DD>
- <DT><b><a name="smtp_tls_key_file">smtp_tls_key_file</a>
- (default: $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>)</b></DT><DD>
- <p> File with the Postfix SMTP client RSA private key in PEM format.
- This file may be combined with the Postfix SMTP client RSA certificate
- file specified with $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>. </p>
- <p> The private key must be accessible without a pass-phrase, i.e. it
- must not be encrypted. File permissions should grant read-only
- access to the system superuser account ("root"), and no access
- to anyone else. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtp_tls_key_file">smtp_tls_key_file</a> = $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a>
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_loglevel">smtp_tls_loglevel</a>
- (default: 0)</b></DT><DD>
- <p> Enable additional Postfix SMTP client logging of TLS activity.
- Each logging level also includes the information that is logged at
- a lower logging level. </p>
- <dl compact>
- <dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
- <dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
- — no logging of remote SMTP server certificate trust-chain
- verification errors if server certificate verification is not required.
- With Postfix 2.8 and earlier, log the summary message and unconditionally
- log trust-chain verification errors. </dd>
- <dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd>
- <dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
- process. </dd>
- <dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
- transmission after STARTTLS. </dd>
- </dl>
- <p> Do not use "<a href="postconf.5.html#smtp_tls_loglevel">smtp_tls_loglevel</a> = 2" or higher except in case of
- problems. Use of loglevel 4 is strongly discouraged. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>
- (default: medium)</b></DT><DD>
- <p> The minimum TLS cipher grade that the Postfix SMTP client will
- use with
- mandatory TLS encryption. The default value "medium" is suitable
- for most destinations with which you may want to enforce TLS, and
- is beyond the reach of today's cryptanalytic methods. See
- <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for information on how to configure ciphers
- on a per-destination basis. </p>
- <p> The following cipher grades are supported: </p>
- <dl>
- <dt><b>export</b></dt>
- <dd> Enable "EXPORT" grade or better OpenSSL ciphers. The underlying
- cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a> configuration
- parameter, which you are strongly encouraged to not change. This
- choice is insecure and SHOULD NOT be used. </dd>
- <dt><b>low</b></dt>
- <dd> Enable "LOW" grade or better OpenSSL ciphers. The underlying
- cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
- parameter, which you are strongly encouraged to not change. This
- choice is insecure and SHOULD NOT be used. </dd>
- <dt><b>medium</b></dt>
- <dd> Enable "MEDIUM" grade or better OpenSSL ciphers.
- The underlying cipherlist is specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a>
- configuration parameter, which you are strongly encouraged to not change.
- </dd>
- <dt><b>high</b></dt>
- <dd> Enable only "HIGH" grade OpenSSL ciphers. This setting may
- be appropriate when all mandatory TLS destinations (e.g. when all
- mail is routed to a suitably capable <a href="postconf.5.html#relayhost">relayhost</a>) support at least one
- "HIGH" grade cipher. The underlying cipherlist is specified via the
- <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a> configuration parameter, which you are strongly
- encouraged to not change. </dd>
- <dt><b>null</b></dt>
- <dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
- without encryption. This setting is only appropriate in the rare case
- that all servers are prepared to use NULL ciphers (not normally enabled
- in TLS servers). A plausible use-case is an LMTP server listening on a
- UNIX-domain socket that is configured to support "NULL" ciphers. The
- underlying cipherlist is specified via the <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a>
- configuration parameter, which you are strongly encouraged to not
- change. </dd>
- </dl>
- <p> The underlying cipherlists for grades other than "null" include
- anonymous ciphers, but these are automatically filtered out if the
- Postfix SMTP client is configured to verify server certificates.
- You are very unlikely to need to take any steps to exclude anonymous
- ciphers, they are excluded automatically as necessary. If you must
- exclude anonymous ciphers at the "may" or "encrypt" security levels,
- when the Postfix SMTP client does not need or use peer certificates, set
- "<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only when
- TLS is enforced, set "<a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a>
- (default: empty)</b></DT><DD>
- <p> Additional list of ciphers or cipher types to exclude from the
- Postfix SMTP client cipher list at mandatory TLS security levels. This list
- works in addition to the exclusions listed with <a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>
- (see there for syntax details). </p>
- <p> Starting with Postfix 2.6, the mandatory cipher exclusions can be
- specified on a per-destination basis via the TLS policy "exclude"
- attribute. See <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> for notes and examples. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a>
- (default: !SSLv2, !SSLv3)</b></DT><DD>
- <p> List of SSL/TLS protocols that the Postfix SMTP client will use with
- mandatory TLS encryption. In <a href="postconf.5.html">main.cf</a> the values are separated by
- whitespace, commas or colons. In the policy table "protocols" attribute
- (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid separator is colon. An
- empty value means allow all protocols. The valid protocol names, (see
- <b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3" and "TLSv1". The
- default value is "!SSLv2, !SSLv3" for Postfix releases after the
- middle of 2015, "!SSLv2" for older releases. </p>
- <p> With Postfix ≥ 2.5 the parameter syntax was expanded to support
- protocol exclusions. One can explicitly exclude "SSLv2" by setting
- "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
- "SSLv3" set "<a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
- the protocols to include, rather than protocols to exclude, is
- supported, but not recommended. The exclusion form more closely
- matches the underlying OpenSSL interface semantics.
- </p>
- <p> The range of protocols advertised by an SSL/TLS client must be
- contiguous. When a protocol version is enabled, disabling any
- higher version implicitly disables all versions above that higher
- version. Thus, for example: </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1
- </pre>
- </blockquote>
- <p> also disables any protocols version higher than TLSv1 leaving
- only "SSLv3" enabled. </p>
- <p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
- and "TLSv1.2". When Postfix ≤ 2.5 is linked against OpenSSL 1.0.1
- or later, these, or any other new protocol versions, cannot be
- disabled except by also disabling "TLSv1" (typically leaving just
- "SSLv3"). The latest patch levels of Postfix ≥ 2.6, and all
- versions of Postfix ≥ 2.10 can explicitly disable support for
- "TLSv1.1" or "TLSv1.2". </p>
- <p> At the <a href="TLS_README.html#client_tls_dane">dane</a> and
- <a href="TLS_README.html#client_tls_dane">dane-only</a> security
- levels, when usable TLSA records are obtained for the remote SMTP
- server, the Postfix SMTP client is obligated to include the SNI TLS
- extension in its SSL client hello message. This may help the remote
- SMTP server live up to its promise to provide a certificate that
- matches its TLSA records. Since TLS extensions require TLS 1.0 or
- later, the Postfix SMTP client must disable "SSLv2" and "SSLv3" when
- SNI is required. If you use "dane" or "dane-only" do not disable
- TLSv1, except perhaps via the policy table for destinations which
- you are sure will support "TLSv1.1" or "TLSv1.2". </p>
- <p> See the documentation of the <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> parameter and
- <a href="TLS_README.html">TLS_README</a> for more information about security levels. </p>
- <p> Example: </p>
- <pre>
- # Preferred syntax with Postfix ≥ 2.5:
- <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
- # Legacy syntax:
- <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
- </pre>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_note_starttls_offer">smtp_tls_note_starttls_offer</a>
- (default: no)</b></DT><DD>
- <p> Log the hostname of a remote SMTP server that offers STARTTLS,
- when TLS is not already enabled for that server. </p>
- <p> The logfile record looks like: </p>
- <pre>
- postfix/smtp[pid]: Host offered STARTTLS: [name.of.host]
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_per_site">smtp_tls_per_site</a>
- (default: empty)</b></DT><DD>
- <p> Optional lookup tables with the Postfix SMTP client TLS usage
- policy by next-hop destination and by remote SMTP server hostname.
- When both lookups succeed, the more specific per-site policy (NONE,
- MUST, etc) overrides the less specific one (MAY), and the more secure
- per-site policy (MUST, etc) overrides the less secure one (NONE).
- With Postfix 2.3 and later <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> is strongly discouraged:
- use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
- <p> Use of the bare hostname as the per-site table lookup key is
- discouraged. Always use the full destination nexthop (enclosed in
- [] with a possible ":port" suffix). A recipient domain or MX-enabled
- transport next-hop with no port suffix may look like a bare hostname,
- but is still a suitable <i>destination</i>. </p>
- <p> Specify a next-hop destination or server hostname on the left-hand
- side; no wildcards are allowed. The next-hop destination is either
- the recipient domain, or the destination specified with a <a href="transport.5.html">transport(5)</a>
- table, the <a href="postconf.5.html#relayhost">relayhost</a> parameter, or the <a href="postconf.5.html#relay_transport">relay_transport</a> parameter.
- On the right hand side specify one of the following keywords: </p>
- <dl>
- <dt> NONE </dt> <dd> Don't use TLS at all. This overrides a less
- specific <b>MAY</b> lookup result from the alternate host or next-hop
- lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>,
- and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
- <dt> MAY </dt> <dd> Try to use TLS if the server announces support,
- otherwise use the unencrypted connection. This has less precedence
- than a more specific result (including <b>NONE</b>) from the alternate
- host or next-hop lookup key, and has less precedence than the more
- specific global "<a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> = yes" or "<a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
- = yes". </dd>
- <dt> MUST_NOPEERMATCH </dt> <dd> Require TLS encryption, but do not
- require that the remote SMTP server hostname matches the information
- in the remote SMTP server certificate, or that the server certificate
- was issued by a trusted CA. This overrides a less secure <b>NONE</b>
- or a less specific <b>MAY</b> lookup result from the alternate host
- or next-hop lookup key, and overrides the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>,
- <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a> settings. </dd>
- <dt> MUST </dt> <dd> Require TLS encryption, require that the remote
- SMTP server hostname matches the information in the remote SMTP
- server certificate, and require that the remote SMTP server certificate
- was issued by a trusted CA. This overrides a less secure <b>NONE</b>
- and <b>MUST_NOPEERMATCH</b> or a less specific <b>MAY</b> lookup
- result from the alternate host or next-hop lookup key, and overrides
- the global <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a> and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>
- settings. </dd>
- </dl>
- <p> The above keywords correspond to the "none", "may", "encrypt" and
- "verify" security levels for the new <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> parameter
- introduced in Postfix 2.3. Starting with Postfix 2.3, and independently
- of how the policy is specified, the <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
- <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameters apply when TLS encryption
- is mandatory. Connections for which encryption is optional typically
- enable all "export" grade and better ciphers (see <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>
- and <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>). </p>
- <p> As long as no secure DNS lookup mechanism is available, false
- hostnames in MX or CNAME responses can change the server hostname
- that Postfix uses for TLS policy lookup and server certificate
- verification. Even with a perfect match between the server hostname and
- the server certificate, there is no guarantee that Postfix is connected
- to the right server. See <a href="TLS_README.html">TLS_README</a> (Closing a DNS loophole with obsolete
- per-site TLS policies) for a possible work-around. </p>
- <p> This feature is available in Postfix 2.2 and later. With
- Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> instead. </p>
- </DD>
- <DT><b><a name="smtp_tls_policy_maps">smtp_tls_policy_maps</a>
- (default: empty)</b></DT><DD>
- <p> Optional lookup tables with the Postfix SMTP client TLS security
- policy by next-hop destination; when a non-empty value is specified,
- this overrides the obsolete <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> parameter. See
- <a href="TLS_README.html">TLS_README</a> for a more detailed discussion of TLS security levels.
- </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p> The TLS policy table is indexed by the full next-hop destination,
- which is either the recipient domain, or the verbatim next-hop
- specified in the transport table, $<a href="postconf.5.html#local_transport">local_transport</a>, $<a href="postconf.5.html#virtual_transport">virtual_transport</a>,
- $<a href="postconf.5.html#relay_transport">relay_transport</a> or $<a href="postconf.5.html#default_transport">default_transport</a>. This includes any enclosing
- square brackets and any non-default destination server port suffix. The
- LMTP socket type prefix (inet: or unix:) is not included in the lookup
- key. </p>
- <p> Only the next-hop domain, or $<a href="postconf.5.html#myhostname">myhostname</a> with LMTP over UNIX-domain
- sockets, is used as the nexthop name for certificate verification. The
- port and any enclosing square brackets are used in the table lookup key,
- but are not used for server name verification. </p>
- <p> When the lookup key is a domain name without enclosing square brackets
- or any <i>:port</i> suffix (typically the recipient domain), and the full
- domain is not found in the table, just as with the <a href="transport.5.html">transport(5)</a> table,
- the parent domain starting with a leading "." is matched recursively. This
- allows one to specify a security policy for a recipient domain and all
- its sub-domains. </p>
- <p> The lookup result is a security level, followed by an optional list
- of whitespace and/or comma separated name=value attributes that override
- related <a href="postconf.5.html">main.cf</a> settings. The TLS security levels in order of increasing
- security are: </p>
- <dl>
- <dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
- <dd>No TLS. No additional attributes are supported at this level. </dd>
- <dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
- <dd>Opportunistic TLS. Since sending in the clear is acceptable,
- demanding stronger than default TLS security merely reduces
- interoperability. The optional "ciphers", "exclude" and "protocols"
- attributes (available for opportunistic TLS with Postfix ≥ 2.6)
- override the "<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>", "<a href="postconf.5.html#smtp_tls_exclude_ciphers">smtp_tls_exclude_ciphers</a>" and
- "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>" configuration parameters. When opportunistic TLS
- handshakes fail, Postfix retries the connection with TLS disabled.
- This allows mail delivery to sites with non-interoperable TLS
- implementations.</dd>
- <dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
- <dd>Mandatory TLS encryption. At this level
- and higher, the optional "protocols" attribute overrides the <a href="postconf.5.html">main.cf</a>
- <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> parameter, the optional "ciphers" attribute
- overrides the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> parameter, and the
- optional "exclude" attribute (Postfix ≥ 2.6) overrides the <a href="postconf.5.html">main.cf</a>
- <a href="postconf.5.html#smtp_tls_mandatory_exclude_ciphers">smtp_tls_mandatory_exclude_ciphers</a> parameter. In the policy table,
- multiple protocols or excluded ciphers must be separated by colons,
- as attribute values may not contain whitespace or commas. </dd>
- <dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
- <dd>Opportunistic DANE TLS. The TLS policy for the destination is
- obtained via TLSA records in DNSSEC. If no TLSA records are found,
- the effective security level used is <a
- href="TLS_README.html#client_tls_may">may</a>. If TLSA records are
- found, but none are usable, the effective security level is <a
- href="TLS_README.html#client_tls_encrypt">encrypt</a>. When usable
- TLSA records are obtained for the remote SMTP server, the
- server certificate must match the TLSA records. <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE)
- TLS authentication and DNSSEC support is available with Postfix
- 2.11 and later. </dd>
- <dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
- <dd>Mandatory DANE TLS. The TLS policy for the destination is
- obtained via TLSA records in DNSSEC. If no TLSA records are found,
- or none are usable, no connection is made to the server. When
- usable TLSA records are obtained for the remote SMTP server, the
- server certificate must match the TLSA records. <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE) TLS
- authentication and DNSSEC support is available with Postfix 2.11
- and later. </dd>
- <dt><b><a href="TLS_README.html#client_tls_fingerprint">fingerprint</a></b></dt>
- <dd>Certificate fingerprint
- verification. Available with Postfix 2.5 and later. At this security
- level, there are no trusted Certification Authorities. The certificate
- trust chain, expiration date, ... are not checked. Instead,
- the optional <b>match</b> attribute, or else the <a href="postconf.5.html">main.cf</a>
- <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b> parameter, lists the certificate
- fingerprints or the public key fingerprint (Postfix 2.9 and later)
- of the valid server certificate. The digest
- algorithm used to calculate the fingerprint is selected by the
- <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Multiple fingerprints can
- be combined with a "|" delimiter in a single match attribute, or multiple
- match attributes can be employed. The ":" character is not used as a
- delimiter as it occurs between each pair of fingerprint (hexadecimal)
- digits. </dd>
- <dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
- <dd>Mandatory TLS verification. At this security
- level, DNS MX lookups are trusted to be secure enough, and the name
- verified in the server certificate is usually obtained indirectly via
- unauthenticated DNS MX lookups. The optional "match" attribute overrides
- the <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. In the policy table,
- multiple match patterns and strategies must be separated by colons.
- In practice explicit control over matching is more common with the
- "secure" policy, described below. </dd>
- <dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
- <dd>Secure-channel TLS. At this security level, DNS
- MX lookups, though potentially used to determine the candidate next-hop
- gateway IP addresses, are <b>not</b> trusted to be secure enough for TLS
- peername verification. Instead, the default name verified in the server
- certificate is obtained directly from the next-hop, or is explicitly
- specified via the optional <b>match</b> attribute which overrides the
- <a href="postconf.5.html">main.cf</a> <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> parameter. In the policy table,
- multiple match patterns and strategies must be separated by colons.
- The match attribute is most useful when multiple domains are supported by
- common server, the policy entries for additional domains specify matching
- rules for the primary domain certificate. While transport table overrides
- routing the secondary domains to the primary nexthop also allow secure
- verification, they risk delivery to the wrong destination when domains
- change hands or are re-assigned to new gateways. With the "match"
- attribute approach, routing is not perturbed, and mail is deferred if
- verification of a new MX host fails. </dd>
- </dl>
- <p>
- Example:
- </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/tls_policy
- # Postfix 2.5 and later
- <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5
- </pre>
- <pre>
- /etc/postfix/tls_policy:
- example.edu none
- example.mil may
- example.gov encrypt protocols=TLSv1
- example.com verify ciphers=high
- example.net secure
- .example.net secure match=.example.net:example.net
- [mail.example.org]:587 secure match=nexthop
- # Postfix 2.5 and later
- [thumb.example.org] fingerprint
- match=EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
- match=3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
- </pre>
- <p> <b>Note:</b> The <b>hostname</b> strategy if listed in a non-default
- setting of <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> or in the <b>match</b> attribute
- in the policy table can render the <b>secure</b> level vulnerable to
- DNS forgery. Do not use the <b>hostname</b> strategy for secure-channel
- configurations in environments where DNS security is not assured. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_protocols">smtp_tls_protocols</a>
- (default: !SSLv2, !SSLv3)</b></DT><DD>
- <p> List of TLS protocols that the Postfix SMTP client will exclude or
- include with opportunistic TLS encryption. The default value is
- "!SSLv2, !SSLv3" for Postfix releases after the middle of 2015,
- "!SSLv2" for older releases. Before Postfix 2.6, the Postfix SMTP
- client would use all protocols with opportunistic TLS. </p>
- <p> In <a href="postconf.5.html">main.cf</a> the values are separated by whitespace, commas or
- colons. In the policy table (see <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) the only valid
- separator is colon. An empty value means allow all protocols. The valid
- protocol names, (see <b>SSL_get_version(3)</b>), are "SSLv2", "SSLv3"
- and "TLSv1". </p>
- <p> The range of protocols advertised by an SSL/TLS client must be
- contiguous. When a protocol version is enabled, disabling any
- higher version implicitly disables all versions above that higher
- version. Thus, for example: </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !TLSv1
- </pre>
- </blockquote>
- <p> also disables any protocols version higher than TLSv1 leaving
- only "SSLv3" enabled. </p>
- <p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
- and "TLSv1.2". The latest patch levels of Postfix ≥ 2.6, and all
- versions of Postfix ≥ 2.10 can explicitly disable support for
- "TLSv1.1" or "TLSv1.2"</p>
- <p> To include a protocol list its name, to exclude it, prefix the name
- with a "!" character. To exclude SSLv2 for opportunistic TLS set
- "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
- "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
- include, rather than protocols to exclude, is supported, but not
- recommended. The exclusion form more closely matches the underlying
- OpenSSL interface semantics. </p>
- <p> Example: </p>
- <pre>
- # TLSv1 or better:
- <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
- </pre>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_scert_verifydepth">smtp_tls_scert_verifydepth</a>
- (default: 9)</b></DT><DD>
- <p> The verification depth for remote SMTP server certificates. A depth
- of 1 is sufficient if the issuing CA is listed in a local CA file. </p>
- <p> The default verification depth is 9 (the OpenSSL default) for
- compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
- the default value was 5, but the limit was not actually enforced. If
- you have set this to a lower non-default value, certificates with longer
- trust chains may now fail to verify. Certificate chains with 1 or 2
- CAs are common, deeper chains are more rare and any number between 5
- and 9 should suffice in practice. You can choose a lower number if,
- for example, you trust certificates directly signed by an issuing CA
- but not any CAs it delegates to. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a>
- (default: nexthop, dot-nexthop)</b></DT><DD>
- <p> How the Postfix SMTP client verifies the server certificate
- peername for the "secure" TLS security level. In a "secure" TLS policy table
- ($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
- overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
- <p> This parameter specifies one or more patterns or strategies separated
- by commas, whitespace or colons. In the policy table the only valid
- separator is the colon character. </p>
- <p> For a description of the pattern and strategy syntax see the
- <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> parameter. The "hostname" strategy should
- be avoided in this context, as in the absence of a secure global DNS, using
- the results of MX lookups in certificate verification is not immune to active
- (man-in-the-middle) attacks on DNS. </p>
- <p>
- Sample <a href="postconf.5.html">main.cf</a> setting:
- </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
- </pre>
- </blockquote>
- <p>
- Sample policy table override:
- </p>
- <blockquote>
- <pre>
- example.net secure match=example.com:.example.com
- .example.net secure match=example.com:.example.com
- </pre>
- </blockquote>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_security_level">smtp_tls_security_level</a>
- (default: empty)</b></DT><DD>
- <p> The default SMTP TLS security level for the Postfix SMTP client;
- when a non-empty value is specified, this overrides the obsolete
- parameters <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>, <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>, and <a href="postconf.5.html#smtp_tls_enforce_peername">smtp_tls_enforce_peername</a>.
- </p>
- <p> Specify one of the following security levels: </p>
- <dl>
- <dt><b><a href="TLS_README.html#client_tls_none">none</a></b></dt>
- <dd> No TLS. TLS will not be used unless enabled for specific
- destinations via <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </dd>
- <dt><b><a href="TLS_README.html#client_tls_may">may</a></b></dt>
- <dd> Opportunistic TLS. Use TLS if this is supported by the remote
- SMTP server, otherwise use plaintext. Since
- sending in the clear is acceptable, demanding stronger than default TLS
- security merely reduces interoperability.
- The "<a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>" and "<a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a>" (Postfix ≥ 2.6)
- configuration parameters provide control over the protocols and
- cipher grade used with opportunistic TLS. With earlier releases the
- opportunistic TLS cipher grade is always "export" and no protocols
- are disabled.
- When TLS handshakes fail, the connection is retried with TLS disabled.
- This allows mail delivery to sites with non-interoperable TLS
- implementations. </dd>
- <dt><b><a href="TLS_README.html#client_tls_encrypt">encrypt</a></b></dt>
- <dd>Mandatory TLS encryption. Since a minimum
- level of security is intended, it is reasonable to be specific about
- sufficiently secure protocol versions and ciphers. At this security level
- and higher, the <a href="postconf.5.html">main.cf</a> parameters <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> and
- <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> specify the TLS protocols and minimum
- cipher grade which the administrator considers secure enough for
- mandatory encrypted sessions. This security level is not an appropriate
- default for systems delivering mail to the Internet. </dd>
- <dt><b><a href="TLS_README.html#client_tls_dane">dane</a></b></dt>
- <dd>Opportunistic DANE TLS. At this security level, the TLS policy
- for the destination is obtained via DNSSEC. For TLSA policy to be
- in effect, the destination domain's containing DNS zone must be
- signed and the Postfix SMTP client's operating system must be
- configured to send its DNS queries to a recursive DNS nameserver
- that is able to validate the signed records. Each MX host's DNS
- zone should also be signed, and should publish DANE TLSA (<a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a>)
- records that specify how that MX host's TLS certificate is to be
- verified. TLSA records do not preempt the normal SMTP MX host
- selection algorithm, if some MX hosts support TLSA and others do
- not, TLS security will vary from delivery to delivery. It is up
- to the domain owner to configure their MX hosts and their DNS
- sensibly. To configure the Postfix SMTP client for DNSSEC lookups
- see the documentation for the <a href="postconf.5.html#smtp_dns_support_level">smtp_dns_support_level</a> <a href="postconf.5.html">main.cf</a>
- parameter. When DNSSEC-validated TLSA records are not found the
- effective tls security level is "may". When TLSA records are found,
- but are all unusable the effective security level is "encrypt". For
- purposes of protocol and cipher selection, the "dane" security level
- is treated like a "mandatory" TLS security level, and weak ciphers
- and protocols are disabled. Since DANE authenticates server
- certificates the "aNULL" cipher-suites are transparently excluded
- at this level, no need to configure this manually. <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE)
- TLS authentication is available with Postfix 2.11 and later. </dd>
- <dt><b><a href="TLS_README.html#client_tls_dane">dane-only</a></b></dt>
- <dd>Mandatory DANE TLS. This is just like "dane" above, but DANE
- TLSA authentication is required. There is no fallback to "may" or
- "encrypt" when TLSA records are missing or unusable. <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a>
- (DANE) TLS authentication is available with Postfix 2.11 and later.
- </dd>
- <dt><b><a href="TLS_README.html#client_tls_fingerprint">fingerprint</a></b></dt>
- <dd>Certificate fingerprint verification.
- At this security level, there are no trusted Certification Authorities.
- The certificate trust chain, expiration date, etc., are
- not checked. Instead, the <b><a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a></b>
- parameter lists the certificate fingerprint or public key fingerprint
- (Postfix 2.9 and later) of the valid server certificate. The digest
- algorithm used to calculate the fingerprint is selected by the
- <b><a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a></b> parameter. Available with Postfix
- 2.5 and later. </dd>
- <dt><b><a href="TLS_README.html#client_tls_verify">verify</a></b></dt>
- <dd>Mandatory TLS verification. At this security
- level, DNS MX lookups are trusted to be secure enough, and the name
- verified in the server certificate is usually obtained indirectly
- via unauthenticated DNS MX lookups. The <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
- parameter controls how the server name is verified. In practice explicit
- control over matching is more common at the "secure" level, described
- below. This security level is not an appropriate default for systems
- delivering mail to the Internet. </dd>
- <dt><b><a href="TLS_README.html#client_tls_secure">secure</a></b></dt>
- <dd>Secure-channel TLS. At this security level,
- DNS MX lookups, though potentially used to determine the candidate
- next-hop gateway IP addresses, are <b>not</b> trusted to be secure enough
- for TLS peername verification. Instead, the default name verified in
- the server certificate is obtained from the next-hop domain as specified
- in the <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> configuration parameter. The default
- matching rule is that a server certificate matches when its name is equal
- to or is a sub-domain of the nexthop domain. This security level is not
- an appropriate default for systems delivering mail to the Internet. </dd>
- </dl>
- <p>
- Examples:
- </p>
- <pre>
- # No TLS. Formerly: <a href="postconf.5.html#smtp_use_tls">smtp_use_tls</a>=no and <a href="postconf.5.html#smtp_enforce_tls">smtp_enforce_tls</a>=no.
- <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = none
- </pre>
- <pre>
- # Opportunistic TLS.
- <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = may
- # Postfix ≥ 2.6:
- # Do not tweak opportunistic ciphers or protocol unless it is essential
- # to do so (if a security vulnerability is found in the SSL library that
- # can be mitigated by disabling a particular protocol or raising the
- # cipher grade from "export" to "low" or "medium").
- <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a> = export
- <a href="postconf.5.html#smtp_tls_protocols">smtp_tls_protocols</a> = !SSLv2, !SSLv3
- </pre>
- <pre>
- # Mandatory (high-grade) TLS encryption.
- <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
- <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
- </pre>
- <pre>
- # Mandatory TLS verification of hostname or nexthop domain.
- <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = verify
- <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
- <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
- </pre>
- <pre>
- # Secure channel TLS with exact nexthop name match.
- <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = secure
- <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = TLSv1
- <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
- <a href="postconf.5.html#smtp_tls_secure_cert_match">smtp_tls_secure_cert_match</a> = nexthop
- </pre>
- <pre>
- # Certificate fingerprint verification (Postfix ≥ 2.5).
- # The CA-less "fingerprint" security level only scales to a limited
- # number of destinations. As a global default rather than a per-site
- # setting, this is practical when mail for all recipients is sent
- # to a central mail hub.
- <a href="postconf.5.html#relayhost">relayhost</a> = [mailhub.example.com]
- <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = fingerprint
- <a href="postconf.5.html#smtp_tls_mandatory_protocols">smtp_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
- <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> = high
- <a href="postconf.5.html#smtp_tls_fingerprint_cert_match">smtp_tls_fingerprint_cert_match</a> =
- 3D:95:34:51:24:66:33:B9:D2:40:99:C0:C1:17:0B:D1
- EC:3B:2D:B0:5B:B1:FB:6D:20:A3:9D:72:F6:8D:12:35
- </pre>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
- (default: empty)</b></DT><DD>
- <p> Name of the file containing the optional Postfix SMTP client
- TLS session cache. Specify a database type that supports enumeration,
- such as <b>btree</b> or <b>sdbm</b>; there is no need to support
- concurrent access. The file is created if it does not exist. The <a href="smtp.8.html">smtp(8)</a>
- daemon does not use this parameter directly, rather the cache is
- implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
- per-smtp-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not effective.
- Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon:
- $<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, $<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
- (and with Postfix 2.3 and later $<a href="postconf.5.html#lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>), needs to
- be stored separately. It is not at this time possible to store multiple
- caches in a single database. </p>
- <p> Note: <b>dbm</b> databases are not suitable. TLS
- session objects are too large. </p>
- <p> As of version 2.5, Postfix no longer uses root privileges when
- opening this file. The file should now be stored under the Postfix-owned
- <a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
- under a non-Postfix directory is redirected to the Postfix-owned
- <a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a> = <a href="DATABASE_README.html#types">btree</a>:/var/lib/postfix/smtp_scache
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a>
- (default: 3600s)</b></DT><DD>
- <p> The expiration time of Postfix SMTP client TLS session cache
- information. A cache cleanup is performed periodically
- every $<a href="postconf.5.html#smtp_tls_session_cache_timeout">smtp_tls_session_cache_timeout</a> seconds. As with
- $<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>, this parameter is implemented in the
- <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtp-instance <a href="master.5.html">master.cf</a> overrides
- are not possible. </p>
- <p> As of Postfix 2.11 this setting cannot exceed 100 days. If set
- ≤ 0, session caching is disabled. If set to a positive value
- less than 2 minutes, the minimum value of 2 minutes is used instead. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_trust_anchor_file">smtp_tls_trust_anchor_file</a>
- (default: empty)</b></DT><DD>
- <p> Zero or more PEM-format files with trust-anchor certificates
- and/or public keys. If the parameter is not empty the root CAs in
- CAfile and CApath are no longer trusted. Rather, the Postfix SMTP
- client will only trust certificate-chains signed by one of the
- trust-anchors contained in the chosen files. The specified
- trust-anchor certificates and public keys are not subject to
- expiration, and need not be (self-signed) root CAs. They may, if
- desired, be intermediate certificates. Therefore, these certificates
- also may be found "in the middle" of the trust chain presented by
- the remote SMTP server, and any untrusted issuing parent certificates
- will be ignored. Specify a list of pathnames separated by comma
- or whitespace. </p>
- <p> Whether specified in <a href="postconf.5.html">main.cf</a>, or on a per-destination basis,
- the trust-anchor PEM file must be accessible to the Postfix SMTP
- client in the chroot jail if applicable. The trust-anchor file
- should contain only certificates and public keys, no private key
- material, and must be readable by the non-privileged $<a href="postconf.5.html#mail_owner">mail_owner</a>
- user. This allows destinations to be bound to a set of specific
- CAs or public keys without trusting the same CAs for all destinations.
- </p>
- <p> The <a href="postconf.5.html">main.cf</a> parameter supports single-purpose Postfix installations
- that send mail to a fixed set of SMTP peers. At most sites, if
- trust-anchor files are used at all, they will be specified on a
- per-destination basis via the "tafile" attribute of the "verify"
- and "secure" levels in <a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>. </p>
- <p> The underlying mechanism is in support of <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a> (DANE TLSA),
- which defines mechanisms for an SMTP client MTA to securely determine
- server TLS certificates via DNS. </p>
- <p> If you want your trust anchors to be public keys, with OpenSSL
- you can extract a single PEM public key from a PEM X.509 file
- containing a single certificate, as follows: </p>
- <blockquote>
- <pre>
- $ openssl x509 -in cert.pem -out ta-key.pem -noout -pubkey
- </pre>
- </blockquote>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a>
- (default: hostname)</b></DT><DD>
- <p> How the Postfix SMTP client verifies the server certificate
- peername for the
- "verify" TLS security level. In a "verify" TLS policy table
- ($<a href="postconf.5.html#smtp_tls_policy_maps">smtp_tls_policy_maps</a>) entry the optional "match" attribute
- overrides this <a href="postconf.5.html">main.cf</a> setting. </p>
- <p> This parameter specifies one or more patterns or strategies separated
- by commas, whitespace or colons. In the policy table the only valid
- separator is the colon character. </p>
- <p> Patterns specify domain names, or domain name suffixes: </p>
- <dl>
- <dt><i>example.com</i></dt> <dd> Match the <i>example.com</i> domain,
- i.e. one of the names the server certificate must be <i>example.com</i>,
- upper and lower case distinctions are ignored. </dd>
- <dt><i>.example.com</i></dt>
- <dd> Match subdomains of the <i>example.com</i> domain, i.e. match
- a name in the server certificate that consists of a non-zero number of
- labels followed by a <i>.example.com</i> suffix. Case distinctions are
- ignored.</dd>
- </dl>
- <p> Strategies specify a transformation from the next-hop domain
- to the expected name in the server certificate: </p>
- <dl>
- <dt>nexthop</dt>
- <dd> Match against the next-hop domain, which is either the recipient
- domain, or the transport next-hop configured for the domain stripped of
- any optional socket type prefix, enclosing square brackets and trailing
- port. When MX lookups are not suppressed, this is the original nexthop
- domain prior to the MX lookup, not the result of the MX lookup. For
- LMTP delivery via UNIX-domain sockets, the verified next-hop name is
- $<a href="postconf.5.html#myhostname">myhostname</a>. This strategy is suitable for use with the "secure"
- policy. Case is ignored.</dd>
- <dt>dot-nexthop</dt>
- <dd> As above, but match server certificate names that are subdomains
- of the next-hop domain. Case is ignored.</dd>
- <dt>hostname</dt> <dd> Match against the hostname of the server, often
- obtained via an unauthenticated DNS MX lookup. For LMTP delivery via
- UNIX-domain sockets, the verified name is $<a href="postconf.5.html#myhostname">myhostname</a>. This matches
- the verification strategy of the "MUST" keyword in the obsolete
- <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> table, and is suitable for use with the "verify"
- security level. When the next-hop name is enclosed in square brackets
- to suppress MX lookups, the "hostname" strategy is the same as the
- "nexthop" strategy. Case is ignored.</dd>
- </dl>
- <p>
- Sample <a href="postconf.5.html">main.cf</a> setting:
- </p>
- <pre>
- <a href="postconf.5.html#smtp_tls_verify_cert_match">smtp_tls_verify_cert_match</a> = hostname, nexthop, dot-nexthop
- </pre>
- <p>
- Sample policy table override:
- </p>
- <pre>
- example.com verify match=hostname:nexthop
- .example.com verify match=example.com:.example.com:hostname
- </pre>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtp_tls_wrappermode">smtp_tls_wrappermode</a>
- (default: no)</b></DT><DD>
- <p> Request that the Postfix SMTP client connects using the
- legacy SMTPS protocol instead of using the STARTTLS command. </p>
- <p> This mode requires "<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt" or
- stronger. </p>
- <p> Example: deliver all remote mail via a provider's server
- "mail.example.com". </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- # Client-side SMTPS requires "encrypt" or stronger.
- <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = encrypt
- <a href="postconf.5.html#smtp_tls_wrappermode">smtp_tls_wrappermode</a> = yes
- # The [] suppress MX lookups.
- <a href="postconf.5.html#relayhost">relayhost</a> = [mail.example.com]:465
- </pre>
- <p> More examples are in <a href="TLS_README.html">TLS_README</a>, including examples for older
- Postfix versions. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="smtp_use_tls">smtp_use_tls</a>
- (default: no)</b></DT><DD>
- <p> Opportunistic mode: use TLS when a remote SMTP server announces
- STARTTLS support, otherwise send the mail in the clear. Beware:
- some SMTP servers offer STARTTLS even if it is not configured. With
- Postfix < 2.3, if the TLS handshake fails, and no other server is
- available, delivery is deferred and mail stays in the queue. If this
- is a concern for you, use the <a href="postconf.5.html#smtp_tls_per_site">smtp_tls_per_site</a> feature instead. </p>
- <p> This feature is available in Postfix 2.2 and later. With
- Postfix 2.3 and later use <a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> instead. </p>
- </DD>
- <DT><b><a name="smtp_xforward_timeout">smtp_xforward_timeout</a>
- (default: 300s)</b></DT><DD>
- <p>
- The Postfix SMTP client time limit for sending the XFORWARD command,
- and for receiving the remote SMTP server response.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a>
- (default: $<a href="postconf.5.html#authorized_verp_clients">authorized_verp_clients</a>)</b></DT><DD>
- <p> What remote SMTP clients are allowed to specify the XVERP command.
- This command requests that mail be delivered one recipient at a
- time with a per recipient return address. </p>
- <p> By default, no clients are allowed to specify XVERP. </p>
- <p> This parameter was renamed with Postfix version 2.1. The default value
- is backwards compatible with Postfix version 2.0. </p>
- <p> Specify a list of network/netmask patterns, separated by commas
- and/or whitespace. The mask specifies the number of bits in the
- network part of a host address. You can also specify hostnames or
- .domain names (the initial dot causes the domain to match any name
- below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name"
- pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
- is matched when a table entry matches a lookup string (the lookup
- result is ignored). Continue long lines by starting the next line
- with whitespace. Specify "!pattern" to exclude an address or network
- block from the list. The form "!/file/name" is supported only in
- Postfix version 2.4 and later. </p>
- <p> Note: IP version 6 address information must be specified inside
- <tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_verp_clients">smtpd_authorized_verp_clients</a> value, and in
- files specified with "/file/name". IP version 6 addresses contain
- the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
- pattern. </p>
- </DD>
- <DT><b><a name="smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>
- (default: empty)</b></DT><DD>
- <p>
- What remote SMTP clients are allowed to use the XCLIENT feature. This
- command overrides remote SMTP client information that is used for access
- control. Typical use is for SMTP-based content filters, fetchmail-like
- programs, or SMTP server access rule testing. See the <a href="XCLIENT_README.html">XCLIENT_README</a>
- document for details.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- <p>
- By default, no clients are allowed to specify XCLIENT.
- </p>
- <p>
- Specify a list of network/netmask patterns, separated by commas
- and/or whitespace. The mask specifies the number of bits in the
- network part of a host address. You can also specify hostnames or
- .domain names (the initial dot causes the domain to match any name
- below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name"
- pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
- is matched when a table entry matches a lookup string (the lookup
- result is ignored). Continue long lines by starting the next line
- with whitespace. Specify "!pattern" to exclude an address or network
- block from the list. The form "!/file/name" is supported only in
- Postfix version 2.4 and later. </p>
- <p> Note: IP version 6 address information must be specified inside
- <tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a> value, and in
- files specified with "/file/name". IP version 6 addresses contain
- the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
- pattern. </p>
- </DD>
- <DT><b><a name="smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a>
- (default: empty)</b></DT><DD>
- <p>
- What remote SMTP clients are allowed to use the XFORWARD feature. This
- command forwards information that is used to improve logging after
- SMTP-based content filters. See the <a href="XFORWARD_README.html">XFORWARD_README</a> document for
- details.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- <p>
- By default, no clients are allowed to specify XFORWARD.
- </p>
- <p>
- Specify a list of network/netmask patterns, separated by commas
- and/or whitespace. The mask specifies the number of bits in the
- network part of a host address. You can also specify hostnames or
- .domain names (the initial dot causes the domain to match any name
- below it), "/file/name" or "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name"
- pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table
- is matched when a table entry matches a lookup string (the lookup
- result is ignored). Continue long lines by starting the next line
- with whitespace. Specify "!pattern" to exclude an address or network
- block from the list. The form "!/file/name" is supported only in
- Postfix version 2.4 and later. </p>
- <p> Note: IP version 6 address information must be specified inside
- <tt>[]</tt> in the <a href="postconf.5.html#smtpd_authorized_xforward_hosts">smtpd_authorized_xforward_hosts</a> value, and in
- files specified with "/file/name". IP version 6 addresses contain
- the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
- pattern. </p>
- </DD>
- <DT><b><a name="smtpd_banner">smtpd_banner</a>
- (default: $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a>)</b></DT><DD>
- <p>
- The text that follows the 220 status code in the SMTP greeting
- banner. Some people like to see the mail version advertised. By
- default, Postfix shows no version.
- </p>
- <p>
- You MUST specify $<a href="postconf.5.html#myhostname">myhostname</a> at the start of the text. This is
- required by the SMTP protocol.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_banner">smtpd_banner</a> = $<a href="postconf.5.html#myhostname">myhostname</a> ESMTP $<a href="postconf.5.html#mail_name">mail_name</a> ($<a href="postconf.5.html#mail_version">mail_version</a>)
- </pre>
- </DD>
- <DT><b><a name="smtpd_client_auth_rate_limit">smtpd_client_auth_rate_limit</a>
- (default: 0)</b></DT><DD>
- <p>
- The maximal number of AUTH commands that any client is allowed to
- send to this service per time unit, regardless of whether or not
- Postfix actually accepts those commands. The time unit is specified
- with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
- </p>
- <p>
- By default, there is no limit on the number AUTH commands that a
- client may send.
- </p>
- <p>
- To disable this feature, specify a limit of 0.
- </p>
- <p>
- WARNING: The purpose of this feature is to limit abuse. It must
- not be used to regulate legitimate mail traffic.
- </p>
- <p>
- This feature is available in Postfix 3.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_client_connection_count_limit">smtpd_client_connection_count_limit</a>
- (default: 50)</b></DT><DD>
- <p>
- How many simultaneous connections any client is allowed to
- make to this service. By default, the limit is set to half
- the default process limit value.
- </p>
- <p>
- To disable this feature, specify a limit of 0.
- </p>
- <p>
- WARNING: The purpose of this feature is to limit abuse. It must
- not be used to regulate legitimate mail traffic.
- </p>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a>
- (default: 0)</b></DT><DD>
- <p>
- The maximal number of connection attempts any client is allowed to
- make to this service per time unit. The time unit is specified
- with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
- </p>
- <p>
- By default, a client can make as many connections per time unit as
- Postfix can accept.
- </p>
- <p>
- To disable this feature, specify a limit of 0.
- </p>
- <p>
- WARNING: The purpose of this feature is to limit abuse. It must
- not be used to regulate legitimate mail traffic.
- </p>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_client_connection_rate_limit">smtpd_client_connection_rate_limit</a> = 1000
- </pre>
- </DD>
- <DT><b><a name="smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>
- (default: $<a href="postconf.5.html#mynetworks">mynetworks</a>)</b></DT><DD>
- <p>
- Clients that are excluded from smtpd_client_*_count/rate_limit
- restrictions. See the <a href="postconf.5.html#mynetworks">mynetworks</a> parameter
- description for the parameter value syntax.
- </p>
- <p>
- By default, clients in trusted networks are excluded. Specify a
- list of network blocks, hostnames or .domain names (the initial
- dot causes the domain to match any name below it).
- </p>
- <p> Note: IP version 6 address information must be specified inside
- <tt>[]</tt> in the <a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a> value, and
- in files specified with "/file/name". IP version 6 addresses
- contain the ":" character, and would otherwise be confused with a
- "<a href="DATABASE_README.html">type:table</a>" pattern. </p>
- <p> Pattern matching of domain names is controlled by the presence
- or absence of "<a href="postconf.5.html#smtpd_client_event_limit_exceptions">smtpd_client_event_limit_exceptions</a>" in the
- <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a> parameter value (postfix 3.0 and
- later). </p>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a>
- (default: 0)</b></DT><DD>
- <p>
- The maximal number of message delivery requests that any client is
- allowed to make to this service per time unit, regardless of whether
- or not Postfix actually accepts those messages. The time unit is
- specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
- </p>
- <p>
- By default, a client can send as many message delivery requests
- per time unit as Postfix can accept.
- </p>
- <p>
- To disable this feature, specify a limit of 0.
- </p>
- <p>
- WARNING: The purpose of this feature is to limit abuse. It must
- not be used to regulate legitimate mail traffic.
- </p>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_client_message_rate_limit">smtpd_client_message_rate_limit</a> = 1000
- </pre>
- </DD>
- <DT><b><a name="smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a>
- (default: 0)</b></DT><DD>
- <p>
- The maximal number of new (i.e., uncached) TLS sessions that a
- remote SMTP client is allowed to negotiate with this service per
- time unit. The time unit is specified with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a>
- configuration parameter.
- </p>
- <p>
- By default, a remote SMTP client can negotiate as many new TLS
- sessions per time unit as Postfix can accept.
- </p>
- <p>
- To disable this feature, specify a limit of 0. Otherwise, specify
- a limit that is at least the per-client concurrent session limit,
- or else legitimate client sessions may be rejected.
- </p>
- <p>
- WARNING: The purpose of this feature is to limit abuse. It must
- not be used to regulate legitimate mail traffic.
- </p>
- <p>
- This feature is available in Postfix 2.3 and later.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_client_new_tls_session_rate_limit">smtpd_client_new_tls_session_rate_limit</a> = 100
- </pre>
- </DD>
- <DT><b><a name="smtpd_client_port_logging">smtpd_client_port_logging</a>
- (default: no)</b></DT><DD>
- <p> Enable logging of the remote SMTP client port in addition to
- the hostname and IP address. The logging format is "host[address]:port".
- </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a>
- (default: 0)</b></DT><DD>
- <p>
- The maximal number of recipient addresses that any client is allowed
- to send to this service per time unit, regardless of whether or not
- Postfix actually accepts those recipients. The time unit is specified
- with the <a href="postconf.5.html#anvil_rate_time_unit">anvil_rate_time_unit</a> configuration parameter.
- </p>
- <p>
- By default, a client can send as many recipient addresses per time
- unit as Postfix can accept.
- </p>
- <p>
- To disable this feature, specify a limit of 0.
- </p>
- <p>
- WARNING: The purpose of this feature is to limit abuse. It must
- not be used to regulate legitimate mail traffic.
- </p>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_client_recipient_rate_limit">smtpd_client_recipient_rate_limit</a> = 1000
- </pre>
- </DD>
- <DT><b><a name="smtpd_client_restrictions">smtpd_client_restrictions</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional restrictions that the Postfix SMTP server applies in the
- context of a client connection request.
- See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
- restriction lists" for a discussion of evaluation context and time.
- </p>
- <p>
- The default is to allow all connection requests.
- </p>
- <p>
- Specify a list of restrictions, separated by commas and/or whitespace.
- Continue long lines by starting the next line with whitespace.
- Restrictions are applied in the order as specified; the first
- restriction that matches wins.
- </p>
- <p>
- The following restrictions are specific to client hostname or
- client network address information.
- </p>
- <dl>
- <dt><b><a name="check_ccert_access">check_ccert_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd> Use the remote SMTP client certificate fingerprint or the public key
- fingerprint (Postfix 2.9 and later) as lookup key for the specified
- <a href="access.5.html">access(5)</a> database; with Postfix version 2.2, also require that the
- remote SMTP client certificate is verified successfully.
- The fingerprint digest algorithm is configurable via the
- <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
- Postfix version 2.5). This feature is available with Postfix version
- 2.2 and later. </dd>
- <dt><b><a name="check_client_access">check_client_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified access database for the client hostname,
- parent domains, client IP address, or networks obtained by stripping
- least significant octets. See the <a href="access.5.html">access(5)</a> manual page for details. </dd>
- <dt><b><a name="check_client_a_access">check_client_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
- client hostname, and execute the corresponding action. Note: a result
- of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
- to exclude specific hosts from blacklists. This feature is available
- in Postfix 3.0 and later. </dd>
- <dt><b><a name="check_client_mx_access">check_client_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
- client hostname, and execute the corresponding action. Note: a result
- of "OK" is not allowed for safety reasons. Instead, use DUNNO in order
- to exclude specific hosts from blacklists. This feature is available
- in Postfix 2.7 and later. </dd>
- <dt><b><a name="check_client_ns_access">check_client_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
- the client hostname, and execute the corresponding action. Note: a
- result of "OK" is not allowed for safety reasons. Instead, use DUNNO
- in order to exclude specific hosts from blacklists. This feature is
- available in Postfix 2.7 and later. </dd>
- <dt><b><a name="check_reverse_client_hostname_access">check_reverse_client_hostname_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified access database for the unverified reverse
- client hostname, parent domains, client IP address, or networks
- obtained by stripping least significant octets. See the <a href="access.5.html">access(5)</a>
- manual page for details. Note: a result of "OK" is not allowed for
- safety reasons. Instead, use DUNNO in order to exclude specific
- hosts from blacklists. This feature is available in Postfix 2.6
- and later.</dd>
- <dt><b><a name="check_reverse_client_hostname_a_access">check_reverse_client_hostname_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for the
- unverified reverse client hostname, and execute the corresponding
- action. Note: a result of "OK" is not allowed for safety reasons.
- Instead, use DUNNO in order to exclude specific hosts from blacklists.
- This feature is available in Postfix 3.0 and later. </dd>
- <dt><b><a name="check_reverse_client_hostname_mx_access">check_reverse_client_hostname_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for the
- unverified reverse client hostname, and execute the corresponding
- action. Note: a result of "OK" is not allowed for safety reasons.
- Instead, use DUNNO in order to exclude specific hosts from blacklists.
- This feature is available in Postfix 2.7 and later. </dd>
- <dt><b><a name="check_reverse_client_hostname_ns_access">check_reverse_client_hostname_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers for
- the unverified reverse client hostname, and execute the corresponding
- action. Note: a result of "OK" is not allowed for safety reasons.
- Instead, use DUNNO in order to exclude specific hosts from blacklists.
- This feature is available in Postfix 2.7 and later. </dd>
- <dt><b><a name="check_sasl_access">check_sasl_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd> Use the remote SMTP client SASL user name as lookup key for
- the specified <a href="access.5.html">access(5)</a> database. The lookup key has the form
- "username@domainname" when the <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> parameter
- value is non-empty. Unlike the <a href="postconf.5.html#check_client_access">check_client_access</a> feature,
- <a href="postconf.5.html#check_sasl_access">check_sasl_access</a> does not perform matches of parent domains or IP
- subnet ranges. This feature is available with Postfix version 2.11
- and later. </dd>
- <dt><b><a name="permit_inet_interfaces">permit_inet_interfaces</a></b></dt>
- <dd>Permit the request when the client IP address matches
- $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>. </dd>
- <dt><b><a name="permit_mynetworks">permit_mynetworks</a></b></dt>
- <dd>Permit the request when the client IP address matches any
- network or network address listed in $<a href="postconf.5.html#mynetworks">mynetworks</a>. </dd>
- <dt><b><a name="permit_sasl_authenticated">permit_sasl_authenticated</a></b></dt>
- <dd> Permit the request when the client is successfully
- authenticated via the <a href="http://tools.ietf.org/html/rfc4954">RFC 4954</a> (AUTH) protocol. </dd>
- <dt><b><a name="permit_tls_all_clientcerts">permit_tls_all_clientcerts</a></b></dt>
- <dd> Permit the request when the remote SMTP client certificate is
- verified successfully. This option must be used only if a special
- CA issues the certificates and only this CA is listed as trusted
- CA. Otherwise, clients with a third-party certificate would also
- be allowed to relay. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" when the
- trusted CA is specified with <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> or <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>,
- to prevent Postfix from appending the system-supplied default CAs.
- This feature is available with Postfix version 2.2.</dd>
- <dt><b><a name="permit_tls_clientcerts">permit_tls_clientcerts</a></b></dt>
- <dd>Permit the request when the remote SMTP client certificate
- fingerprint or public key fingerprint (Postfix 2.9 and later) is
- listed in $<a href="postconf.5.html#relay_clientcerts">relay_clientcerts</a>.
- The fingerprint digest algorithm is configurable via the
- <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter (hard-coded as md5 prior to
- Postfix version 2.5). This feature is available with Postfix version
- 2.2. </dd>
- <dt><b><a name="reject_rbl_client">reject_rbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
- <dd>Reject the request when the reversed client network address is
- listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
- (Postfix version 2.1 and later only). Each "<i>d</i>" is a number,
- or a pattern inside "[]" that contains one or more ";"-separated
- numbers or number..number ranges (Postfix version 2.8 and later).
- If no "<i>=d.d.d.d</i>" is specified, reject the request when the
- reversed client network address is listed with any A record under
- <i>rbl_domain</i>. <br>
- The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
- rejected requests (default: 554), the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
- specifies the default server reply, and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
- specifies tables with server replies indexed by <i>rbl_domain</i>.
- This feature is available in Postfix 2.0 and later. </dd>
- <dt><b><a name="permit_dnswl_client">permit_dnswl_client <i>dnswl_domain=d.d.d.d</i></a></b></dt>
- <dd>Accept the request when the reversed client network address is
- listed with the A record "<i>d.d.d.d</i>" under <i>dnswl_domain</i>.
- Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
- one or more ";"-separated numbers or number..number ranges.
- If no "<i>=d.d.d.d</i>" is specified, accept the request when the
- reversed client network address is listed with any A record under
- <i>dnswl_domain</i>. <br> For safety, <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a> is silently
- ignored when it would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>. The
- result is DEFER_IF_REJECT when whitelist lookup fails. This feature
- is available in Postfix 2.8 and later. </dd>
- <dt><b><a name="reject_rhsbl_client">reject_rhsbl_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
- <dd>Reject the request when the client hostname is listed with the
- A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
- 2.1 and later only). Each "<i>d</i>" is a number, or a pattern
- inside "[]" that contains one or more ";"-separated numbers or
- number..number ranges (Postfix version 2.8 and later). If no
- "<i>=d.d.d.d</i>" is specified, reject the request when the client
- hostname is listed with
- any A record under <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a>
- description above for additional RBL related configuration parameters.
- This feature is available in Postfix 2.0 and later; with Postfix
- version 2.8 and later, <a href="postconf.5.html#reject_rhsbl_reverse_client">reject_rhsbl_reverse_client</a> will usually
- produce better results. </dd>
- <dt><b><a name="permit_rhswl_client">permit_rhswl_client <i>rhswl_domain=d.d.d.d</i></a></b></dt>
- <dd>Accept the request when the client hostname is listed with the
- A record "<i>d.d.d.d</i>" under <i>rhswl_domain</i>. Each "<i>d</i>"
- is a number, or a pattern inside "[]" that contains one or more
- ";"-separated numbers or number..number ranges. If no
- "<i>=d.d.d.d</i>" is specified, accept the request when the client
- hostname is listed with any A record under <i>rhswl_domain</i>.
- <br> Caution: client name whitelisting is fragile, since the client
- name lookup can fail due to temporary outages. Client name
- whitelisting should be used only to reduce false positives in e.g.
- DNS-based blocklists, and not for making access rule exceptions.
- <br> For safety, <a href="postconf.5.html#permit_rhswl_client">permit_rhswl_client</a> is silently ignored when it
- would override <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>. The result is DEFER_IF_REJECT
- when whitelist lookup fails. This feature is available in Postfix
- 2.8 and later. </dd>
- <dt><b><a name="reject_rhsbl_reverse_client">reject_rhsbl_reverse_client <i>rbl_domain=d.d.d.d</i></a></b></dt>
- <dd>Reject the request when the unverified reverse client hostname
- is listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>.
- Each "<i>d</i>" is a number, or a pattern inside "[]" that contains
- one or more ";"-separated numbers or number..number ranges.
- If no "<i>=d.d.d.d</i>" is specified, reject the request when the
- unverified reverse client hostname is listed with any A record under
- <i>rbl_domain</i>. See the <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description above for
- additional RBL related configuration parameters. This feature is
- available in Postfix 2.8 and later. </dd>
- <dt><b><a name="reject_unknown_client_hostname">reject_unknown_client_hostname</a></b> (with Postfix < 2.3: reject_unknown_client)</dt>
- <dd>Reject the request when 1) the client IP address->name mapping
- fails, 2) the name->address mapping fails, or 3) the name->address
- mapping does not match the client IP address. <br> This is a
- stronger restriction than the <a href="postconf.5.html#reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a>
- feature, which triggers only under condition 1) above. <br> The
- <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response code
- for rejected requests (default: 450). The reply is always 450 in
- case the address->name or name->address lookup failed due to
- a temporary problem. </dd>
- <dt><b><a name="reject_unknown_reverse_client_hostname">reject_unknown_reverse_client_hostname</a></b></dt>
- <dd>Reject the request when the client IP address has no address->name
- mapping. <br> This is a weaker restriction than the
- <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> feature, which requires not only
- that the address->name and name->address mappings exist, but
- also that the two mappings reproduce the client IP address. <br>
- The <a href="postconf.5.html#unknown_client_reject_code">unknown_client_reject_code</a> parameter specifies the response
- code for rejected requests (default: 450). The reply is always 450
- in case the address->name lookup failed due to a temporary
- problem. <br> This feature is available in Postfix 2.3 and
- later. </dd>
- </dl>
- <p>
- In addition, you can use any of the following <a name="generic">
- generic</a> restrictions. These restrictions are applicable in
- any SMTP command context.
- </p>
- <dl>
- <dt><b><a name="check_policy_service">check_policy_service <i>servername</i></a></b></dt>
- <dd>Query the specified policy server. See the <a href="SMTPD_POLICY_README.html">SMTPD_POLICY_README</a>
- document for details. This feature is available in Postfix 2.1
- and later. </dd>
- <dt><b><a name="defer">defer</a></b></dt>
- <dd>Defer the request. The client is told to try again later. This
- restriction is useful at the end of a restriction list, to make
- the default policy explicit. <br> The <a href="postconf.5.html#defer_code">defer_code</a> parameter specifies
- the SMTP server reply code (default: 450).</dd>
- <dt><b><a name="defer_if_permit">defer_if_permit</a></b></dt>
- <dd>Defer the request if some later restriction would result in an
- explicit or implicit PERMIT action. This is useful when a blacklisting
- feature fails due to a temporary problem. This feature is available
- in Postfix version 2.1 and later. </dd>
- <dt><b><a name="defer_if_reject">defer_if_reject</a></b></dt>
- <dd>Defer the request if some later restriction would result in a
- REJECT action. This is useful when a whitelisting feature fails
- due to a temporary problem. This feature is available in Postfix
- version 2.1 and later. </dd>
- <dt><b><a name="permit">permit</a></b></dt>
- <dd>Permit the request. This restriction is useful at the end of
- a restriction list, to make the default policy explicit.</dd>
- <dt><b><a name="reject_multi_recipient_bounce">reject_multi_recipient_bounce</a></b></dt>
- <dd>Reject the request when the envelope sender is the null address,
- and the message has multiple envelope recipients. This usage has
- rare but legitimate applications: under certain conditions,
- multi-recipient mail that was posted with the DSN option NOTIFY=NEVER
- may be forwarded with the null sender address.
- <br> Note: this restriction can only work reliably
- when used in <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> or
- <a href="postconf.5.html#smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>, because the total number of
- recipients is not known at an earlier stage of the SMTP conversation.
- Use at the RCPT stage will only reject the second etc. recipient.
- <br>
- The <a href="postconf.5.html#multi_recipient_bounce_reject_code">multi_recipient_bounce_reject_code</a> parameter specifies the
- response code for rejected requests (default: 550). This feature
- is available in Postfix 2.1 and later. </dd>
- <dt><b><a name="reject_plaintext_session">reject_plaintext_session</a></b></dt>
- <dd>Reject the request when the connection is not encrypted. This
- restriction should not be used before the client has had a chance
- to negotiate encryption with the AUTH or STARTTLS commands.
- <br>
- The <a href="postconf.5.html#plaintext_reject_code">plaintext_reject_code</a> parameter specifies the response
- code for rejected requests (default: 450). This feature is available
- in Postfix 2.3 and later. </dd>
- <dt><b><a name="reject_unauth_pipelining">reject_unauth_pipelining</a></b></dt>
- <dd>Reject the request when the client sends SMTP commands ahead
- of time where it is not allowed, or when the client sends SMTP
- commands ahead of time without knowing that Postfix actually supports
- ESMTP command pipelining. This stops mail from bulk mail software
- that improperly uses ESMTP command pipelining in order to speed up
- deliveries.
- <br> With Postfix 2.6 and later, the SMTP server sets a per-session
- flag whenever it detects illegal pipelining, including pipelined
- HELO or EHLO commands. The <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> feature simply
- tests whether the flag was set at any point in time during the
- session.
- <br> With older Postfix versions, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a> checks
- the current status of the input read queue, and its usage is not
- recommended in contexts other than <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a>. </dd>
- <dt><b><a name="reject">reject</a></b></dt>
- <dd>Reject the request. This restriction is useful at the end of
- a restriction list, to make the default policy explicit. The
- <a href="postconf.5.html#reject_code">reject_code</a> configuration parameter specifies the response code for
- rejected requests (default: 554).</dd>
- <dt><b><a name="sleep">sleep <i>seconds</i></a></b></dt>
- <dd>Pause for the specified number of seconds and proceed with
- the next restriction in the list, if any. This may stop zombie
- mail when used as:
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
- sleep 1, <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
- <a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = no
- </pre>
- This feature is available in Postfix 2.3. </dd>
- <dt><b><a name="warn_if_reject">warn_if_reject</a></b></dt>
- <dd> A safety net for testing. When "<a href="postconf.5.html#warn_if_reject">warn_if_reject</a>" is placed
- before a reject-type restriction, access table query, or
- <a href="postconf.5.html#check_policy_service">check_policy_service</a> query, this logs a "reject_warning" message
- instead of rejecting a request (when a reject-type restriction fails
- due to a temporary error, this logs a "reject_warning" message for
- any implicit "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" actions that would normally prevent
- mail from being accepted by some later access restriction). This
- feature has no effect on <a href="postconf.5.html#defer_if_reject">defer_if_reject</a> restrictions. </dd>
- </dl>
- <p>
- Other restrictions that are valid in this context:
- </p>
- <ul>
- <li> SMTP command specific restrictions that are described under
- the <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>, <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> or
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameters. When helo, sender or
- recipient restrictions are listed under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>,
- they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
- $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> is evaluated at the time of the RCPT TO
- command.
- </ul>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a>
- </pre>
- </DD>
- <DT><b><a name="smtpd_command_filter">smtpd_command_filter</a>
- (default: empty)</b></DT><DD>
- <p> A mechanism to transform commands from remote SMTP clients.
- This is a last-resort tool to work around client commands that break
- interoperability with the Postfix SMTP server. Other uses involve
- fault injection to test Postfix's handling of invalid commands.
- </p>
- <p> Specify the name of a "<a href="DATABASE_README.html">type:table</a>" lookup table. The search
- string is the SMTP command as received from the remote SMTP client,
- except that initial whitespace and the trailing <CR><LF>
- are removed. The result value is executed by the Postfix SMTP
- server. </p>
- <p> There is no need to use <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> for the following
- cases: </p>
- <ul>
- <li> <p> Use "<a href="postconf.5.html#resolve_numeric_domain">resolve_numeric_domain</a> = yes" to accept
- "<i>user@ipaddress</i>". </p>
- <li> <p> Postfix already accepts the correct form
- "<i>user@[ipaddress]</i>". Use <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> or <a href="postconf.5.html#canonical_maps">canonical_maps</a>
- to translate these into domain names if necessary. </p>
- <li> <p> Use "<a href="postconf.5.html#strict_rfc821_envelopes">strict_rfc821_envelopes</a> = no" to accept "RCPT TO:<<i>User
- Name <user@example.com>></i>". Postfix will ignore the "<i>User
- Name</i>" part and deliver to the <i><user@example.com></i> address.
- </p>
- </ul>
- <p> Examples of problems that can be solved with the <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a>
- feature: </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtpd_command_filter">smtpd_command_filter</a> = <a href="pcre_table.5.html">pcre</a>:/etc/postfix/command_filter
- </pre>
- <pre>
- /etc/postfix/command_filter:
- # Work around clients that send malformed HELO commands.
- /^HELO\s*$/ HELO domain.invalid
- </pre>
- <pre>
- # Work around clients that send empty lines.
- /^\s*$/ NOOP
- </pre>
- <pre>
- # Work around clients that send RCPT TO:<'user@domain'>.
- # WARNING: do not lose the parameters that follow the address.
- /^(RCPT\s+TO:\s*<)'([^[:space:]]+)'(>.*)/ $1$2$3
- </pre>
- <pre>
- # Append XVERP to MAIL FROM commands to request VERP-style delivery.
- # See <a href="VERP_README.html">VERP_README</a> for more information on how to use Postfix VERP.
- /^(MAIL FROM:\s*<listname@example\.com>.*)/ $1 XVERP
- </pre>
- <pre>
- # Bounce-never mail sink. Use <a href="postconf.5.html#notify_classes">notify_classes</a>=bounce,resource,software
- # to send bounced mail to the postmaster (with message body removed).
- /^(RCPT\s+TO:\s*<.*>.*)\s+NOTIFY=\S+(.*)/ $1 NOTIFY=NEVER$2
- /^(RCPT\s+TO:.*)/ $1 NOTIFY=NEVER
- </pre>
- <p> This feature is available in Postfix 2.7. </p>
- </DD>
- <DT><b><a name="smtpd_data_restrictions">smtpd_data_restrictions</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional access restrictions that the Postfix SMTP server applies
- in the context of the SMTP DATA command.
- See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
- restriction lists" for a discussion of evaluation context and time.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- <p>
- Specify a list of restrictions, separated by commas and/or whitespace.
- Continue long lines by starting the next line with whitespace.
- Restrictions are applied in the order as specified; the first
- restriction that matches wins.
- </p>
- <p>
- The following restrictions are valid in this context:
- </p>
- <ul>
- <li><a href="#generic">Generic</a> restrictions that can be used
- in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
- <li>SMTP command specific restrictions described under
- <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
- <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> or <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
- <li>However, no recipient information is available in the case of
- multi-recipient mail. Acting on only one recipient would be misleading,
- because any decision will affect all recipients equally. Acting on
- all recipients would require a possibly very large amount of memory,
- and would also be misleading for the reasons mentioned before.
- </ul>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_unauth_pipelining">reject_unauth_pipelining</a>
- <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> = <a href="postconf.5.html#reject_multi_recipient_bounce">reject_multi_recipient_bounce</a>
- </pre>
- </DD>
- <DT><b><a name="smtpd_delay_open_until_valid_rcpt">smtpd_delay_open_until_valid_rcpt</a>
- (default: yes)</b></DT><DD>
- <p> Postpone the start of an SMTP mail transaction until a valid
- RCPT TO command is received. Specify "no" to create a mail transaction
- as soon as the Postfix SMTP server receives a valid MAIL FROM
- command. </p>
- <p> With sites that reject lots of mail, the default setting reduces
- the use of
- disk, CPU and memory resources. The downside is that rejected
- recipients are logged with NOQUEUE instead of a mail transaction
- ID. This complicates the logfile analysis of multi-recipient mail.
- </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_delay_reject">smtpd_delay_reject</a>
- (default: yes)</b></DT><DD>
- <p>
- Wait until the RCPT TO command before evaluating
- $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, $<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> and
- $<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, or wait until the ETRN command before
- evaluating $<a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and $<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>.
- </p>
- <p>
- This feature is turned on by default because some clients apparently
- mis-behave when the Postfix SMTP server rejects commands before
- RCPT TO.
- </p>
- <p>
- The default setting has one major benefit: it allows Postfix to log
- recipient address information when rejecting a client name/address
- or sender address, so that it is possible to find out whose mail
- is being rejected.
- </p>
- </DD>
- <DT><b><a name="smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a>
- (default: empty)</b></DT><DD>
- <p> Lookup tables, indexed by the remote SMTP client address, with
- case insensitive lists of EHLO keywords (pipelining, starttls, auth,
- etc.) that the Postfix SMTP server will not send in the EHLO response
- to a
- remote SMTP client. See <a href="postconf.5.html#smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a> for details.
- The tables are not searched by hostname for robustness reasons. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_discard_ehlo_keywords">smtpd_discard_ehlo_keywords</a>
- (default: empty)</b></DT><DD>
- <p> A case insensitive list of EHLO keywords (pipelining, starttls,
- auth, etc.) that the Postfix SMTP server will not send in the EHLO
- response
- to a remote SMTP client. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- <p> Notes: </p>
- <ul>
- <li> <p> Specify the <b>silent-discard</b> pseudo keyword to prevent
- this action from being logged. </p>
- <li> <p> Use the <a href="postconf.5.html#smtpd_discard_ehlo_keyword_address_maps">smtpd_discard_ehlo_keyword_address_maps</a> feature
- to discard EHLO keywords selectively. </p>
- </ul>
- </DD>
- <DT><b><a name="smtpd_dns_reply_filter">smtpd_dns_reply_filter</a>
- (default: empty)</b></DT><DD>
- <p> Optional filter for Postfix SMTP server DNS lookup results.
- See <a href="postconf.5.html#smtp_dns_reply_filter">smtp_dns_reply_filter</a> for details including an example.
- </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="smtpd_end_of_data_restrictions">smtpd_end_of_data_restrictions</a>
- (default: empty)</b></DT><DD>
- <p> Optional access restrictions that the Postfix SMTP server
- applies in the context of the SMTP END-OF-DATA command.
- See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
- restriction lists" for a discussion of evaluation context and time.
- </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- <p> See <a href="postconf.5.html#smtpd_data_restrictions">smtpd_data_restrictions</a> for details and limitations. </p>
- </DD>
- <DT><b><a name="smtpd_enforce_tls">smtpd_enforce_tls</a>
- (default: no)</b></DT><DD>
- <p> Mandatory TLS: announce STARTTLS support to remote SMTP clients,
- and require that clients use TLS encryption. According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a>
- this MUST NOT be applied in case of a publicly-referenced SMTP
- server. This option is therefore off by default. </p>
- <p> Note 1: "<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> = yes" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes". </p>
- <p> Note 2: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
- STARTTLS due to insufficient privileges to access the server private
- key. This is intended behavior. </p>
- <p> This feature is available in Postfix 2.2 and later. With
- Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
- </DD>
- <DT><b><a name="smtpd_error_sleep_time">smtpd_error_sleep_time</a>
- (default: 1s)</b></DT><DD>
- <p>With Postfix version 2.1 and later: the SMTP server response delay after
- a client has made more than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors, and
- fewer than $<a href="postconf.5.html#smtpd_hard_error_limit">smtpd_hard_error_limit</a> errors, without delivering mail.
- </p>
- <p>With Postfix version 2.0 and earlier: the SMTP server delay before
- sending a reject (4xx or 5xx) response, when the client has made
- fewer than $<a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> errors without delivering
- mail. </p>
- </DD>
- <DT><b><a name="smtpd_etrn_restrictions">smtpd_etrn_restrictions</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional restrictions that the Postfix SMTP server applies in the
- context of a client ETRN command.
- See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
- restriction lists" for a discussion of evaluation context and time.
- </p>
- <p>
- The Postfix ETRN implementation accepts only destinations that are
- eligible for the Postfix "fast flush" service. See the <a href="ETRN_README.html">ETRN_README</a>
- file for details.
- </p>
- <p>
- Specify a list of restrictions, separated by commas and/or whitespace.
- Continue long lines by starting the next line with whitespace.
- Restrictions are applied in the order as specified; the first
- restriction that matches wins.
- </p>
- <p>
- The following restrictions are specific to the domain name information
- received with the ETRN command.
- </p>
- <dl>
- <dt><b><a name="check_etrn_access">check_etrn_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified access database for the ETRN domain name
- or its parent domains. See the <a href="access.5.html">access(5)</a> manual page for details.
- </dd>
- </dl>
- <p>
- Other restrictions that are valid in this context:
- </p>
- <ul>
- <li><a href="#generic">Generic</a> restrictions that can be used
- in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
- <li>SMTP command specific restrictions described under
- <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>.
- </ul>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_etrn_restrictions">smtpd_etrn_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, reject
- </pre>
- </DD>
- <DT><b><a name="smtpd_expansion_filter">smtpd_expansion_filter</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- What characters are allowed in $name expansions of RBL reply
- templates. Characters not in the allowed set are replaced by "_".
- Use C like escapes to specify special characters such as whitespace.
- </p>
- <p>
- This parameter is not subjected to $parameter expansion.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_forbidden_commands">smtpd_forbidden_commands</a>
- (default: CONNECT, GET, POST)</b></DT><DD>
- <p>
- List of commands that cause the Postfix SMTP server to immediately
- terminate the session with a 221 code. This can be used to disconnect
- clients that obviously attempt to abuse the system. In addition to the
- commands listed in this parameter, commands that follow the "Label:"
- format of message headers will also cause a disconnect.
- </p>
- <p>
- This feature is available in Postfix 2.2 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_hard_error_limit">smtpd_hard_error_limit</a>
- (default: normal: 20, overload: 1)</b></DT><DD>
- <p>
- The maximal number of errors a remote SMTP client is allowed to
- make without delivering mail. The Postfix SMTP server disconnects
- when the limit is exceeded. Normally the default limit is 20, but
- it changes under overload to just 1. With Postfix 2.5 and earlier,
- the SMTP server always allows up to 20 errors by default.
- </p>
- </DD>
- <DT><b><a name="smtpd_helo_required">smtpd_helo_required</a>
- (default: no)</b></DT><DD>
- <p>
- Require that a remote SMTP client introduces itself with the HELO
- or EHLO command before sending the MAIL command or other commands
- that require EHLO negotiation.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes
- </pre>
- </DD>
- <DT><b><a name="smtpd_helo_restrictions">smtpd_helo_restrictions</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional restrictions that the Postfix SMTP server applies in the
- context of a client HELO command.
- See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
- restriction lists" for a discussion of evaluation context and time.
- </p>
- <p>
- The default is to permit everything.
- </p>
- <p> Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
- restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
- simply skip <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> by not sending HELO or EHLO).
- </p>
- <p>
- Specify a list of restrictions, separated by commas and/or whitespace.
- Continue long lines by starting the next line with whitespace.
- Restrictions are applied in the order as specified; the first
- restriction that matches wins.
- </p>
- <p>
- The following restrictions are specific to the hostname information
- received with the HELO or EHLO command.
- </p>
- <dl>
- <dt><b><a name="check_helo_access">check_helo_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the HELO or EHLO
- hostname or parent domains, and execute the corresponding action.
- Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
- restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
- simply skip <a href="postconf.5.html#check_helo_access">check_helo_access</a> by not sending HELO or EHLO). </dd>
- <dt><b><a name="check_helo_a_access">check_helo_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
- the HELO or EHLO hostname, and execute the corresponding action.
- Note 1: a result of "OK" is not allowed for safety reasons. Instead,
- use DUNNO in order to exclude specific hosts from blacklists. Note
- 2: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
- restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
- simply skip check_helo_a_access by not sending HELO or EHLO). This
- feature is available in Postfix 3.0 and later.
- </dd>
- <dt><b><a name="check_helo_mx_access">check_helo_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
- the HELO or EHLO hostname, and execute the corresponding action.
- Note 1: a result of "OK" is not allowed for safety reasons. Instead,
- use DUNNO in order to exclude specific hosts from blacklists. Note
- 2: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
- restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
- simply skip <a href="postconf.5.html#check_helo_mx_access">check_helo_mx_access</a> by not sending HELO or EHLO). This
- feature is available in Postfix 2.1 and later.
- </dd>
- <dt><b><a name="check_helo_ns_access">check_helo_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
- for the HELO or EHLO hostname, and execute the corresponding action.
- Note 1: a result of "OK" is not allowed for safety reasons. Instead,
- use DUNNO in order to exclude specific hosts from blacklists. Note
- 2: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this
- restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can
- simply skip <a href="postconf.5.html#check_helo_ns_access">check_helo_ns_access</a> by not sending HELO or EHLO). This
- feature is available in Postfix 2.1 and later.
- </dd>
- <dt><b><a name="reject_invalid_helo_hostname">reject_invalid_helo_hostname</a></b> (with Postfix < 2.3: reject_invalid_hostname)</dt>
- <dd>Reject the request when the HELO or EHLO hostname is malformed.
- Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce
- this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply
- skip <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a> by not sending HELO or EHLO).
- <br> The <a href="postconf.5.html#invalid_hostname_reject_code">invalid_hostname_reject_code</a> specifies the response code
- for rejected requests (default: 501).</dd>
- <dt><b><a name="reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a></b> (with Postfix < 2.3: reject_non_fqdn_hostname)</dt>
- <dd>Reject the request when the HELO or EHLO hostname is not in
- fully-qualified domain or address literal form, as required by the
- RFC. Note: specify
- "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully enforce this restriction
- (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a client can simply skip
- <a href="postconf.5.html#reject_non_fqdn_helo_hostname">reject_non_fqdn_helo_hostname</a> by not sending HELO or EHLO). <br>
- The <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
- rejected requests (default: 504).</dd>
- <dt><b><a name="reject_rhsbl_helo">reject_rhsbl_helo <i>rbl_domain=d.d.d.d</i></a></b></dt>
- <dd>Reject the request when the HELO or EHLO hostname is
- listed with the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i>
- (Postfix version 2.1 and later only). Each "<i>d</i>" is a number,
- or a pattern inside "[]" that contains one or more ";"-separated
- numbers or number..number ranges (Postfix version 2.8 and later).
- If no "<i>=d.d.d.d</i>" is
- specified, reject the request when the HELO or EHLO hostname is
- listed with any A record under <i>rbl_domain</i>. See the
- <a href="postconf.5.html#reject_rbl_client">reject_rbl_client</a> description for additional RBL related configuration
- parameters. Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
- enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
- client can simply skip <a href="postconf.5.html#reject_rhsbl_helo">reject_rhsbl_helo</a> by not sending HELO or
- EHLO). This feature is available in Postfix 2.0
- and later. </dd>
- <dt><b><a name="reject_unknown_helo_hostname">reject_unknown_helo_hostname</a></b> (with Postfix < 2.3: reject_unknown_hostname)</dt>
- <dd>Reject the request when the HELO or EHLO hostname has no DNS A
- or MX record. <br> The reply is specified with the
- <a href="postconf.5.html#unknown_hostname_reject_code">unknown_hostname_reject_code</a> parameter (default: 450) or
- <a href="postconf.5.html#unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a> (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>).
- See the respective parameter descriptions for details. <br>
- Note: specify "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes" to fully
- enforce this restriction (without "<a href="postconf.5.html#smtpd_helo_required">smtpd_helo_required</a> = yes", a
- client can simply skip <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> by not sending
- HELO or EHLO). </dd>
- </dl>
- <p>
- Other restrictions that are valid in this context:
- </p>
- <ul>
- <li> <a href="#generic">Generic</a> restrictions that can be used
- in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
- <li> Client hostname or network address specific restrictions
- described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
- <li> SMTP command specific restrictions described under
- <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> or <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When
- sender or recipient restrictions are listed under <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>,
- they have effect only with "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that
- $<a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> is evaluated at the time of the RCPT TO
- command.
- </ul>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_invalid_helo_hostname">reject_invalid_helo_hostname</a>
- <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
- </pre>
- </DD>
- <DT><b><a name="smtpd_history_flush_threshold">smtpd_history_flush_threshold</a>
- (default: 100)</b></DT><DD>
- <p>
- The maximal number of lines in the Postfix SMTP server command history
- before it is flushed upon receipt of EHLO, RSET, or end of DATA.
- </p>
- </DD>
- <DT><b><a name="smtpd_junk_command_limit">smtpd_junk_command_limit</a>
- (default: normal: 100, overload: 1)</b></DT><DD>
- <p>
- The number of junk commands (NOOP, VRFY, ETRN or RSET) that a remote
- SMTP client can send before the Postfix SMTP server starts to
- increment the error counter with each junk command. The junk
- command count is reset after mail is delivered. See also the
- <a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> and <a href="postconf.5.html#smtpd_soft_error_limit">smtpd_soft_error_limit</a> configuration
- parameters. Normally the default limit is 100, but it changes under
- overload to just 1. With Postfix 2.5 and earlier, the SMTP server
- always allows up to 100 junk commands by default. </p>
- </DD>
- <DT><b><a name="smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a>
- (default: empty)</b></DT><DD>
- <p> Enable logging of the named "permit" actions in SMTP server
- access lists (by default, the SMTP server logs "reject" actions but
- not "permit" actions). This feature does not affect conditional
- actions such as "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>". </p>
- <p> Specify a list of "permit" action names, "/file/name" or
- "<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. The
- list is matched left to right, and the search stops on the first
- match. A "/file/name" pattern is replaced by its contents; a
- "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a name matches a lookup
- key (the lookup result is ignored). Continue long lines by starting
- the next line with whitespace. Specify "!pattern" to exclude a name
- from the list. </p>
- <p> Examples: </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- # Log all "permit" actions.
- <a href="postconf.5.html#smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> = <a href="DATABASE_README.html#types">static</a>:all
- </pre>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- # Log "<a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>" only.
- <a href="postconf.5.html#smtpd_log_access_permit_actions">smtpd_log_access_permit_actions</a> = <a href="postconf.5.html#permit_dnswl_client">permit_dnswl_client</a>
- </pre>
- <p> This feature is available in Postfix 2.10 and later. </p>
- </DD>
- <DT><b><a name="smtpd_milter_maps">smtpd_milter_maps</a>
- (default: empty)</b></DT><DD>
- <p> Lookup tables with Milter settings per remote SMTP client IP
- address. The lookup result overrides the <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> setting,
- and has the same syntax. </p>
- <p> Note: lookup tables cannot return empty responses. Specify a
- lookup result of DISABLE (case does not matter) to indicate that
- Milter support should be disabled. </p>
- <p> Example to disable Milters for local clients: </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtpd_milter_maps">smtpd_milter_maps</a> = <a href="cidr_table.5.html">cidr</a>:/etc/postfix/smtpd_milter_map
- <a href="postconf.5.html#smtpd_milters">smtpd_milters</a> = inet:host:port, { inet:host:port, ... }, ...
- </pre>
- <pre>
- /etc/postfix/smtpd_milter_map:
- # Disable Milters for local clients.
- 127.0.0.0/8 DISABLE
- 192.168.0.0/16 DISABLE
- ::/64 DISABLE
- 2001:db8::/32 DISABLE
- </pre>
- <p> This feature is available in Postfix 3.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_milters">smtpd_milters</a>
- (default: empty)</b></DT><DD>
- <p> A list of Milter (mail filter) applications for new mail that
- arrives via the Postfix <a href="smtpd.8.html">smtpd(8)</a> server. Specify space or comma as
- separator. See the <a href="MILTER_README.html">MILTER_README</a> document for details. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_noop_commands">smtpd_noop_commands</a>
- (default: empty)</b></DT><DD>
- <p>
- List of commands that the Postfix SMTP server replies to with "250
- Ok", without doing any syntax checks and without changing state.
- This list overrides any commands built into the Postfix SMTP server.
- </p>
- </DD>
- <DT><b><a name="smtpd_null_access_lookup_key">smtpd_null_access_lookup_key</a>
- (default: <>)</b></DT><DD>
- <p>
- The lookup key to be used in SMTP <a href="access.5.html">access(5)</a> tables instead of the
- null sender address.
- </p>
- </DD>
- <DT><b><a name="smtpd_peername_lookup">smtpd_peername_lookup</a>
- (default: yes)</b></DT><DD>
- <p> Attempt to look up the remote SMTP client hostname, and verify that
- the name matches the client IP address. A client name is set to
- "unknown" when it cannot be looked up or verified, or when name
- lookup is disabled. Turning off name lookup reduces delays due to
- DNS lookup and increases the maximal inbound delivery rate. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_per_record_deadline">smtpd_per_record_deadline</a>
- (default: normal: no, overload: yes)</b></DT><DD>
- <p> Change the behavior of the <a href="postconf.5.html#smtpd_timeout">smtpd_timeout</a> and <a href="postconf.5.html#smtpd_starttls_timeout">smtpd_starttls_timeout</a>
- time limits, from a
- time limit per read or write system call, to a time limit to send
- or receive a complete record (an SMTP command line, SMTP response
- line, SMTP message content line, or TLS protocol message). This
- limits the impact from hostile peers that trickle data one byte at
- a time. </p>
- <p> Note: when per-record deadlines are enabled, a short timeout
- may cause problems with TLS over very slow network connections.
- The reasons are that a TLS protocol message can be up to 16 kbytes
- long (with TLSv1), and that an entire TLS protocol message must be
- sent or received within the per-record deadline. </p>
- <p> This feature is available in Postfix 2.9 and later. With older
- Postfix releases, the behavior is as if this parameter is set to
- "no". </p>
- </DD>
- <DT><b><a name="smtpd_policy_service_default_action">smtpd_policy_service_default_action</a>
- (default: 451 4.3.5 Server configuration problem)</b></DT><DD>
- <p> The default action when an SMTPD policy service request fails.
- Specify "DUNNO" to behave as if the failed SMTPD policy service
- request was not sent, and to continue processing other access
- restrictions, if any. </p>
- <p> Limitations: </p>
- <ul>
- <li> <p> This parameter may specify any value that would be a valid
- SMTPD policy server response (or <a href="access.5.html">access(5)</a> map lookup result). An
- <a href="access.5.html">access(5)</a> map or policy server in this parameter value may need to
- be declared in advance with a restriction_class setting. </p>
- <li> <p> If the specified action invokes another <a href="postconf.5.html#check_policy_service">check_policy_service</a>
- request, that request will have the built-in default action. </p>
- </ul>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="smtpd_policy_service_max_idle">smtpd_policy_service_max_idle</a>
- (default: 300s)</b></DT><DD>
- <p>
- The time after which an idle SMTPD policy service connection is
- closed.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_policy_service_max_ttl">smtpd_policy_service_max_ttl</a>
- (default: 1000s)</b></DT><DD>
- <p>
- The time after which an active SMTPD policy service connection is
- closed.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_policy_service_policy_context">smtpd_policy_service_policy_context</a>
- (default: empty)</b></DT><DD>
- <p> Optional information that the Postfix SMTP server specifies in
- the "policy_context" attribute of a policy service request (originally,
- to share the same service endpoint among multiple <a href="postconf.5.html#check_policy_service">check_policy_service</a>
- clients). </p>
- <p>
- This feature is available in Postfix 3.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_policy_service_request_limit">smtpd_policy_service_request_limit</a>
- (default: 0)</b></DT><DD>
- <p>
- The maximal number of requests per SMTPD policy service connection,
- or zero (no limit). Once a connection reaches this limit, the
- connection is closed and the next request will be sent over a new
- connection. This is a workaround to avoid error-recovery delays
- with policy servers that cannot maintain a persistent connection.
- </p>
- <p>
- This feature is available in Postfix 3.0 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_policy_service_retry_delay">smtpd_policy_service_retry_delay</a>
- (default: 1s)</b></DT><DD>
- <p> The delay between attempts to resend a failed SMTPD policy
- service request. Specify a value greater than zero. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="smtpd_policy_service_timeout">smtpd_policy_service_timeout</a>
- (default: 100s)</b></DT><DD>
- <p>
- The time limit for connecting to, writing to, or receiving from a
- delegated SMTPD policy server.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_policy_service_try_limit">smtpd_policy_service_try_limit</a>
- (default: 2)</b></DT><DD>
- <p> The maximal number of attempts to send an SMTPD policy service
- request before giving up. Specify a value greater than zero. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="smtpd_proxy_ehlo">smtpd_proxy_ehlo</a>
- (default: $<a href="postconf.5.html#myhostname">myhostname</a>)</b></DT><DD>
- <p>
- How the Postfix SMTP server announces itself to the proxy filter.
- By default, the Postfix hostname is used.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_proxy_filter">smtpd_proxy_filter</a>
- (default: empty)</b></DT><DD>
- <p> The hostname and TCP port of the mail filtering proxy server.
- The proxy receives all mail from the Postfix SMTP server, and is
- supposed to give the result to another Postfix SMTP server process.
- </p>
- <p> Specify "host:port" or "inet:host:port" for a TCP endpoint, or
- "unix:pathname" for a UNIX-domain endpoint. The host can be specified
- as an IP address or as a symbolic name; no MX lookups are done.
- When no "host" or "host:" are specified, the local machine is
- assumed. Pathname interpretation is relative to the Postfix queue
- directory. </p>
- <p> This feature is available in Postfix 2.1 and later. </p>
- <p> The "inet:" and "unix:" prefixes are available in Postfix 2.3
- and later. </p>
- </DD>
- <DT><b><a name="smtpd_proxy_options">smtpd_proxy_options</a>
- (default: empty)</b></DT><DD>
- <p>
- List of options that control how the Postfix SMTP server
- communicates with a before-queue content filter. Specify zero or
- more of the following, separated by comma or whitespace. </p>
- <dl>
- <dt><b>speed_adjust</b></dt>
- <dd> <p> Do not connect to a before-queue content filter until an entire
- message has been received. This reduces the number of simultaneous
- before-queue content filter processes. </p>
- <p> NOTE 1: A filter must not <i>selectively</i> reject recipients
- of a multi-recipient message. Rejecting all recipients is OK, as
- is accepting all recipients. </p>
- <p> NOTE 2: This feature increases the minimum amount of free queue
- space by $<a href="postconf.5.html#message_size_limit">message_size_limit</a>. The extra space is needed to save the
- message to a temporary file. </p> </dd>
- </dl>
- <p>
- This feature is available in Postfix 2.7 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_proxy_timeout">smtpd_proxy_timeout</a>
- (default: 100s)</b></DT><DD>
- <p>
- The time limit for connecting to a proxy filter and for sending or
- receiving information. When a connection fails the client gets a
- generic error message while more detailed information is logged to
- the maillog file.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_recipient_limit">smtpd_recipient_limit</a>
- (default: 1000)</b></DT><DD>
- <p>
- The maximal number of recipients that the Postfix SMTP server
- accepts per message delivery request.
- </p>
- </DD>
- <DT><b><a name="smtpd_recipient_overshoot_limit">smtpd_recipient_overshoot_limit</a>
- (default: 1000)</b></DT><DD>
- <p> The number of recipients that a remote SMTP client can send in
- excess of the limit specified with $<a href="postconf.5.html#smtpd_recipient_limit">smtpd_recipient_limit</a>, before
- the Postfix SMTP server increments the per-session error count
- for each excess recipient. </p>
- </DD>
- <DT><b><a name="smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- Optional restrictions that the Postfix SMTP server applies in the
- context of a client RCPT TO command, after <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
- See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
- restriction lists" for a discussion of evaluation context and time.
- </p>
- <p> With Postfix versions before 2.10, the rules for relay permission
- and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
- resulting in error-prone configuration. As of Postfix 2.10, relay
- permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
- so that a permissive spam blocking policy under
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
- mail relay policy. </p>
- <p> For backwards compatibility, sites that migrate from Postfix
- versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
- value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
- <p>
- IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
- at least one of the following restrictions. Otherwise Postfix will
- refuse to receive mail:
- </p>
- <blockquote>
- <pre>
- reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
- </pre>
- </blockquote>
- <blockquote>
- <pre>
- defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
- </pre>
- </blockquote>
- <p>
- Specify a list of restrictions, separated by commas and/or whitespace.
- Continue long lines by starting the next line with whitespace.
- Restrictions are applied in the order as specified; the first
- restriction that matches wins.
- </p>
- <p>
- The following restrictions are specific to the recipient address
- that is received with the RCPT TO command.
- </p>
- <dl>
- <dt><b><a name="check_recipient_access">check_recipient_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the resolved RCPT
- TO address, domain, parent domains, or localpart@, and execute the
- corresponding action. </dd>
- <dt><b><a name="check_recipient_a_access">check_recipient_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
- the RCPT TO domain, and execute the corresponding action. Note:
- a result of "OK" is not allowed for safety reasons. Instead, use
- DUNNO in order to exclude specific hosts from blacklists. This
- feature is available in Postfix 3.0 and later. </dd>
- <dt><b><a name="check_recipient_mx_access">check_recipient_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
- the RCPT TO domain, and execute the corresponding action. Note:
- a result of "OK" is not allowed for safety reasons. Instead, use
- DUNNO in order to exclude specific hosts from blacklists. This
- feature is available in Postfix 2.1 and later. </dd>
- <dt><b><a name="check_recipient_ns_access">check_recipient_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
- for the RCPT TO domain, and execute the corresponding action.
- Note: a result of "OK" is not allowed for safety reasons. Instead,
- use DUNNO in order to exclude specific hosts from blacklists. This
- feature is available in Postfix 2.1 and later. </dd>
- <dt><b><a name="permit_auth_destination">permit_auth_destination</a></b></dt>
- <dd>Permit the request when one of the following is true:
- <ul>
- <li> Postfix is mail forwarder: the resolved RCPT TO domain matches
- $<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and the address contains no
- sender-specified routing (user@elsewhere@domain),
- <li> Postfix is the final destination: the resolved RCPT TO domain
- matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>,
- $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, and the address
- contains no sender-specified routing (user@elsewhere@domain).
- </ul></dd>
- <dt><b><a name="permit_mx_backup">permit_mx_backup</a></b></dt>
- <dd>Permit the request when the local mail system is backup MX for
- the RCPT TO domain, or when the domain is an authorized destination
- (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a> for definition).
- <ul>
- <li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> does not accept addresses that have
- sender-specified routing information (example: user@elsewhere@domain).
- <li> Safety: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> can be vulnerable to mis-use when
- access is not restricted with <a href="postconf.5.html#permit_mx_backup_networks">permit_mx_backup_networks</a>.
- <li> Safety: as of Postfix version 2.3, <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> no longer
- accepts the address when the local mail system is primary MX for
- the recipient domain. Exception: <a href="postconf.5.html#permit_mx_backup">permit_mx_backup</a> accepts the address
- when it specifies an authorized destination (see <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
- for definition).
- <li> Limitation: mail may be rejected in case of a temporary DNS
- lookup problem with Postfix prior to version 2.0.
- </ul></dd>
- <dt><b><a name="reject_non_fqdn_recipient">reject_non_fqdn_recipient</a></b></dt>
- <dd>Reject the request when the RCPT TO address specifies a
- domain that is not in
- fully-qualified domain form, as required by the RFC. <br> The
- <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
- rejected requests (default: 504). </dd>
- <dt><b><a name="reject_rhsbl_recipient">reject_rhsbl_recipient <i>rbl_domain=d.d.d.d</i></a></b></dt>
- <dd>Reject the request when the RCPT TO domain is listed with the
- A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix version
- 2.1 and later only). Each "<i>d</i>" is a number, or a pattern
- inside "[]" that contains one or more ";"-separated numbers or
- number..number ranges (Postfix version 2.8 and later). If no
- "<i>=d.d.d.d</i>" is specified, reject
- the request when the RCPT TO domain is listed with
- any A record under <i>rbl_domain</i>. <br> The <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a>
- parameter specifies the response code for rejected requests (default:
- 554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter specifies the default server
- reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter specifies tables with server
- replies indexed by <i>rbl_domain</i>. This feature is available
- in Postfix version 2.0 and later.</dd>
- <dt><b><a name="reject_unauth_destination">reject_unauth_destination</a></b></dt>
- <dd>Reject the request unless one of the following is true:
- <ul>
- <li> Postfix is mail forwarder: the resolved RCPT TO domain matches
- $<a href="postconf.5.html#relay_domains">relay_domains</a> or a subdomain thereof, and contains no sender-specified
- routing (user@elsewhere@domain),
- <li> Postfix is the final destination: the resolved RCPT TO domain
- matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>, $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>,
- $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, and contains
- no sender-specified routing (user@elsewhere@domain).
- </ul>The <a href="postconf.5.html#relay_domains_reject_code">relay_domains_reject_code</a> parameter specifies the response
- code for rejected requests (default: 554). </dd>
- <dt><b><a name="defer_unauth_destination">defer_unauth_destination</a></b></dt>
- <dd> Reject the same requests as <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>, with a
- non-permanent error code. This feature is available in Postfix
- 2.10 and later.</dd>
- <dt><b><a name="reject_unknown_recipient_domain">reject_unknown_recipient_domain</a></b></dt>
- <dd>Reject the request when Postfix is not final destination for
- the recipient domain, and the RCPT TO domain has 1) no DNS MX and
- no DNS A
- record or 2) a malformed MX record such as a record with
- a zero-length MX hostname (Postfix version 2.3 and later). <br> The
- reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
- (default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
- <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 556 (nullmx, Postfix 3.0 and
- later). See the respective parameter descriptions for details.
- </dd>
- <dt><b><a name="reject_unlisted_recipient">reject_unlisted_recipient</a></b> (with Postfix version 2.0: check_recipient_maps)</dt>
- <dd> Reject the request when the RCPT TO address is not listed in
- the list of valid recipients for its domain class. See the
- <a href="postconf.5.html#smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a> parameter description for details.
- This feature is available in Postfix 2.1 and later.</dd>
- <dt><b><a name="reject_unverified_recipient">reject_unverified_recipient</a></b></dt>
- <dd>Reject the request when mail to the RCPT TO address is known
- to bounce, or when the recipient address destination is not reachable.
- Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
- see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
- <a href="postconf.5.html#unverified_recipient_reject_code">unverified_recipient_reject_code</a> parameter specifies the numerical
- response code when an address is known to bounce (default: 450,
- change into 550 when you are confident that it is safe to do so).
- <br>The <a href="postconf.5.html#unverified_recipient_defer_code">unverified_recipient_defer_code</a> parameter specifies the
- numerical response code when an address probe failed due to a
- temporary problem (default: 450). <br> The
- <a href="postconf.5.html#unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a> parameter specifies the action
- after address probe failure due to a temporary problem (default:
- <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature is available in Postfix 2.1
- and later. </dd>
- </dl>
- <p>
- Other restrictions that are valid in this context:
- </p>
- <ul>
- <li><a href="#generic">Generic</a> restrictions that can be used
- in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
- <li>SMTP command specific restrictions described under
- <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>, <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a> and
- <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>.
- </ul>
- <p>
- Example:
- </p>
- <pre>
- # The Postfix before 2.10 default mail relay policy. Later Postfix
- # versions implement this preferably with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> = <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
- </pre>
- </DD>
- <DT><b><a name="smtpd_reject_footer">smtpd_reject_footer</a>
- (default: empty)</b></DT><DD>
- <p> Optional information that is appended after each Postfix SMTP
- server
- 4XX or 5XX response. </p>
- <p> The following example uses "\c" at the start of the template
- (supported in Postfix 2.10 and later) to suppress the line break
- between the reply text and the footer text. With earlier Postfix
- versions, the footer text always begins on a new line, and the "\c"
- is output literally. </p>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtpd_reject_footer">smtpd_reject_footer</a> = \c. For assistance, call 800-555-0101.
- Please provide the following information in your problem report:
- time ($localtime), client ($client_address) and server
- ($server_name).
- </pre>
- <p> Server response: </p>
- <pre>
- 550-5.5.1 <user@example> Recipient address rejected: User
- unknown. For assistance, call 800-555-0101. Please provide the
- following information in your problem report: time (Jan 4 15:42:00),
- client (192.168.1.248) and server (mail1.example.com).
- </pre>
- <p> Note: the above text is meant to make it easier to find the
- Postfix logfile records for a failed SMTP session. The text itself
- is not logged to the Postfix SMTP server's maillog file. </p>
- <p> Be sure to keep the text as short as possible. Long text may
- be truncated before it is logged to the remote SMTP client's maillog
- file, or before it is returned to the sender in a delivery status
- notification. </p>
- <p> This feature supports a limited number of $name attributes in
- the footer text. These are replaced by their current value for the
- SMTP session: </p>
- <dl>
- <dt> <b>client_address</b> </dt> <dd> The Client IP address that
- is logged in the maillog file. </dd>
- <dt> <b>client_port</b> </dt> <dd> The client TCP port that is
- logged in the maillog file. </dd>
- <dt> <b>localtime</b> </dt> <dd> The server local time (Mmm dd
- hh:mm:ss) that is logged in the maillog file. </dd>
- <dt> <b>server_name</b> </dt> <dd> The server's <a href="postconf.5.html#myhostname">myhostname</a> value.
- This attribute is made available for sites with multiple MTAs
- (perhaps behind a load-balancer), where the server name can help
- the server support team to quickly find the right log files. </dd>
- </dl>
- <p> Notes: </p>
- <ul>
- <li> <p> NOT SUPPORTED are other attributes such as sender, recipient,
- or <a href="postconf.5.html">main.cf</a> parameters. </p>
- <li> <p> For safety reasons, text that does not match
- $<a href="postconf.5.html#smtpd_expansion_filter">smtpd_expansion_filter</a> is censored. </p>
- </ul>
- <p> This feature supports the two-character sequence \n as a request
- for a line break in the footer text. Postfix automatically inserts
- after each line break the three-digit SMTP reply code (and optional
- enhanced status code) from the original Postfix reject message.
- </p>
- <p> To work around mail software that mis-handles multi-line replies,
- specify the two-character sequence \c at the start of the template.
- This suppresses the line break between the reply text and the footer
- text (Postfix 2.10 and later). </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="smtpd_reject_unlisted_recipient">smtpd_reject_unlisted_recipient</a>
- (default: yes)</b></DT><DD>
- <p>
- Request that the Postfix SMTP server rejects mail for unknown
- recipient addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_recipient">reject_unlisted_recipient</a>
- access restriction is specified. This prevents the Postfix queue
- from filling up with undeliverable MAILER-DAEMON messages.
- </p>
- <p> An address is always considered "known" when it matches a
- <a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
- <ul>
- <li> The recipient domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
- or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the recipient is not listed in
- $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> is not null.
- <li> The recipient domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the
- recipient is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
- <li> The recipient domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
- recipient is not listed in $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
- is not null.
- <li> The recipient domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the recipient
- is not listed in $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>, and $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>
- is not null.
- </ul>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a>
- (default: no)</b></DT><DD>
- <p> Request that the Postfix SMTP server rejects mail from unknown
- sender addresses, even when no explicit <a href="postconf.5.html#reject_unlisted_sender">reject_unlisted_sender</a>
- access restriction is specified. This can slow down an explosion
- of forged mail from worms or viruses. </p>
- <p> An address is always considered "known" when it matches a
- <a href="virtual.5.html">virtual(5)</a> alias or a <a href="canonical.5.html">canonical(5)</a> mapping.
- <ul>
- <li> The sender domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or
- $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the sender is not listed in
- $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> is not null.
- <li> The sender domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the sender
- is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
- <li> The sender domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
- sender is not listed in $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
- is not null.
- <li> The sender domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the sender is
- not listed in $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>, and $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> is
- not null.
- </ul>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_relay_restrictions">smtpd_relay_restrictions</a>
- (default: <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>)</b></DT><DD>
- <p> Access restrictions for mail relay control that the Postfix
- SMTP server applies in the context of the RCPT TO command, before
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
- See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
- restriction lists" for a discussion of evaluation context and time.
- </p>
- <p> With Postfix versions before 2.10, the rules for relay permission
- and spam blocking were combined under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>,
- resulting in error-prone configuration. As of Postfix 2.10, relay
- permission rules are preferably implemented with <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>,
- so that a permissive spam blocking policy under
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> will no longer result in a permissive
- mail relay policy. </p>
- <p> For backwards compatibility, sites that migrate from Postfix
- versions before 2.10 can set <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> to the empty
- value, and use <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> exactly as before. </p>
- <p>
- By default, the Postfix SMTP server accepts:
- </p>
- <ul>
- <li> Mail from clients whose IP address matches $<a href="postconf.5.html#mynetworks">mynetworks</a>, or:
- <li> Mail to remote destinations that match $<a href="postconf.5.html#relay_domains">relay_domains</a>, except
- for addresses that contain sender-specified routing
- (user@elsewhere@domain), or:
- <li> Mail to local destinations that match $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
- or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, or
- $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
- </ul>
- <p>
- IMPORTANT: Either the <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> or the
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> parameter must specify
- at least one of the following restrictions. Otherwise Postfix will
- refuse to receive mail:
- </p>
- <blockquote>
- <pre>
- reject, <a href="postconf.5.html#reject_unauth_destination">reject_unauth_destination</a>
- </pre>
- </blockquote>
- <blockquote>
- <pre>
- defer, <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>, <a href="postconf.5.html#defer_unauth_destination">defer_unauth_destination</a>
- </pre>
- </blockquote>
- <p>
- Specify a list of restrictions, separated by commas and/or whitespace.
- Continue long lines by starting the next line with whitespace.
- The same restrictions are available as documented under
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
- </p>
- <p> This feature is available in Postix 2.10 and later. </p>
- </DD>
- <DT><b><a name="smtpd_restriction_classes">smtpd_restriction_classes</a>
- (default: empty)</b></DT><DD>
- <p>
- User-defined aliases for groups of access restrictions. The aliases
- can be specified in <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> etc., and on the
- right-hand side of a Postfix <a href="access.5.html">access(5)</a> table.
- </p>
- <p>
- One major application is for implementing per-recipient UCE control.
- See the <a href="RESTRICTION_CLASS_README.html">RESTRICTION_CLASS_README</a> document for other examples.
- </p>
- </DD>
- <DT><b><a name="smtpd_sasl_application_name">smtpd_sasl_application_name</a>
- (default: smtpd)</b></DT><DD>
- <p>
- The application name that the Postfix SMTP server uses for SASL
- server initialization. This
- controls the name of the SASL configuration file. The default value
- is <b>smtpd</b>, corresponding to a SASL configuration file named
- <b>smtpd.conf</b>.
- </p>
- <p>
- This feature is available in Postfix 2.1 and 2.2. With Postfix 2.3
- it was renamed to <a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a>.
- </p>
- </DD>
- <DT><b><a name="smtpd_sasl_auth_enable">smtpd_sasl_auth_enable</a>
- (default: no)</b></DT><DD>
- <p>
- Enable SASL authentication in the Postfix SMTP server. By default,
- the Postfix SMTP server does not use authentication.
- </p>
- <p>
- If a remote SMTP client is authenticated, the <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>
- access restriction can be used to permit relay access, like this:
- </p>
- <blockquote>
- <pre>
- # With Postfix 2.10 and later, the mail relay policy is
- # preferably specified under <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>.
- <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> =
- <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
- </pre>
- <pre>
- # With Postfix before 2.10, the relay policy can be
- # specified only under <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>.
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
- <a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>, <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, ...
- </pre>
- </blockquote>
- <p> To reject all SMTP connections from unauthenticated clients,
- specify "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes" (which is the default) and use:
- </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> = <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>, reject
- </pre>
- </blockquote>
- <p>
- See the <a href="SASL_README.html">SASL_README</a> file for SASL configuration and operation details.
- </p>
- </DD>
- <DT><b><a name="smtpd_sasl_authenticated_header">smtpd_sasl_authenticated_header</a>
- (default: no)</b></DT><DD>
- <p> Report the SASL authenticated user name in the <a href="smtpd.8.html">smtpd(8)</a> Received
- message header. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a>
- (default: empty)</b></DT><DD>
- <p>
- What remote SMTP clients the Postfix SMTP server will not offer
- AUTH support to.
- </p>
- <p>
- Some clients (Netscape 4 at least) have a bug that causes them to
- require a login and password whenever AUTH is offered, whether it's
- necessary or not. To work around this, specify, for example,
- $<a href="postconf.5.html#mynetworks">mynetworks</a> to prevent Postfix from offering AUTH to local clients.
- </p>
- <p>
- Specify a list of network/netmask patterns, separated by commas
- and/or whitespace. The mask specifies the number of bits in the
- network part of a host address. You can also "/file/name" or
- "<a href="DATABASE_README.html">type:table</a>" patterns. A "/file/name" pattern is replaced by its
- contents; a "<a href="DATABASE_README.html">type:table</a>" lookup table is matched when a table entry
- matches a lookup string (the lookup result is ignored). Continue
- long lines by starting the next line with whitespace. Specify
- "!pattern" to exclude an address or network block from the list.
- The form "!/file/name" is supported only in Postfix version 2.4 and
- later. </p>
- <p> Note: IP version 6 address information must be specified inside
- <tt>[]</tt> in the <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> value, and in
- files specified with "/file/name". IP version 6 addresses contain
- the ":" character, and would otherwise be confused with a "<a href="DATABASE_README.html">type:table</a>"
- pattern. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_sasl_exceptions_networks">smtpd_sasl_exceptions_networks</a> = $<a href="postconf.5.html#mynetworks">mynetworks</a>
- </pre>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="smtpd_sasl_local_domain">smtpd_sasl_local_domain</a>
- (default: empty)</b></DT><DD>
- <p>
- The name of the Postfix SMTP server's local SASL authentication
- realm.
- </p>
- <p>
- By default, the local authentication realm name is the null string.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#mydomain">mydomain</a>
- <a href="postconf.5.html#smtpd_sasl_local_domain">smtpd_sasl_local_domain</a> = $<a href="postconf.5.html#myhostname">myhostname</a>
- </pre>
- </DD>
- <DT><b><a name="smtpd_sasl_path">smtpd_sasl_path</a>
- (default: smtpd)</b></DT><DD>
- <p> Implementation-specific information that the Postfix SMTP server
- passes through to
- the SASL plug-in implementation that is selected with
- <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>. Typically this specifies the name of a
- configuration file or rendezvous point. </p>
- <p> This feature is available in Postfix 2.3 and later. In earlier
- releases it was called <b><a href="postconf.5.html#smtpd_sasl_application_name">smtpd_sasl_application_name</a></b>. </p>
- </DD>
- <DT><b><a name="smtpd_sasl_security_options">smtpd_sasl_security_options</a>
- (default: noanonymous)</b></DT><DD>
- <p> Postfix SMTP server SASL security options; as of Postfix 2.3
- the list of available
- features depends on the SASL server implementation that is selected
- with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b>. </p>
- <p> The following security features are defined for the <b>cyrus</b>
- server SASL implementation: </p>
- <p>
- Restrict what authentication mechanisms the Postfix SMTP server
- will offer to the client. The list of available authentication
- mechanisms is system dependent.
- </p>
- <p>
- Specify zero or more of the following:
- </p>
- <dl>
- <dt><b>noplaintext</b></dt>
- <dd>Disallow methods that use plaintext passwords. </dd>
- <dt><b>noactive</b></dt>
- <dd>Disallow methods subject to active (non-dictionary) attack. </dd>
- <dt><b>nodictionary</b></dt>
- <dd>Disallow methods subject to passive (dictionary) attack. </dd>
- <dt><b>noanonymous</b></dt>
- <dd>Disallow methods that allow anonymous authentication. </dd>
- <dt><b>forward_secrecy</b></dt>
- <dd>Only allow methods that support forward secrecy (Dovecot only).
- </dd>
- <dt><b>mutual_auth</b></dt>
- <dd>Only allow methods that provide mutual authentication (not available
- with Cyrus SASL version 1). </dd>
- </dl>
- <p>
- By default, the Postfix SMTP server accepts plaintext passwords but
- not anonymous logins.
- </p>
- <p>
- Warning: it appears that clients try authentication methods in the
- order as advertised by the server (e.g., PLAIN ANONYMOUS CRAM-MD5)
- which means that if you disable plaintext passwords, clients will
- log in anonymously, even when they should be able to use CRAM-MD5.
- So, if you disable plaintext logins, disable anonymous logins too.
- Postfix treats anonymous login as no authentication.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a> = noanonymous, noplaintext
- </pre>
- </DD>
- <DT><b><a name="smtpd_sasl_service">smtpd_sasl_service</a>
- (default: smtp)</b></DT><DD>
- <p> The service name that is passed to the SASL plug-in that is
- selected with <b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b> and <b><a href="postconf.5.html#smtpd_sasl_path">smtpd_sasl_path</a></b>.
- </p>
- <p> This feature is available in Postfix 2.11 and later. Prior
- versions behave as if "<b>smtp</b>" is specified. </p>
- </DD>
- <DT><b><a name="smtpd_sasl_tls_security_options">smtpd_sasl_tls_security_options</a>
- (default: $<a href="postconf.5.html#smtpd_sasl_security_options">smtpd_sasl_security_options</a>)</b></DT><DD>
- <p> The SASL authentication security options that the Postfix SMTP
- server uses for TLS encrypted SMTP sessions. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_sasl_type">smtpd_sasl_type</a>
- (default: cyrus)</b></DT><DD>
- <p> The SASL plug-in type that the Postfix SMTP server should use
- for authentication. The available types are listed with the
- "<b>postconf -a</b>" command. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_sender_login_maps">smtpd_sender_login_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional lookup table with the SASL login names that own the sender
- (MAIL FROM) addresses.
- </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found. With lookups from
- indexed files such as DB or DBM, or from networked tables such as
- NIS, LDAP or SQL, the following search operations are done with a
- sender address of <i>user@domain</i>: </p>
- <dl>
- <dt> 1) <i>user@domain</i> </dt>
- <dd>This table lookup is always done and has the highest precedence. </dd>
- <dt> 2) <i>user</i> </dt>
- <dd>This table lookup is done only when the <i>domain</i> part of the
- sender address matches $<a href="postconf.5.html#myorigin">myorigin</a>, $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>
- or $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>. </dd>
- <dt> 3) <i>@domain</i> </dt>
- <dd>This table lookup is done last and has the lowest precedence. </dd>
- </dl>
- <p>
- In all cases the result of table lookup must be either "not found"
- or a list of SASL login names separated by comma and/or whitespace.
- </p>
- </DD>
- <DT><b><a name="smtpd_sender_restrictions">smtpd_sender_restrictions</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional restrictions that the Postfix SMTP server applies in the
- context of a client MAIL FROM command.
- See <a href="SMTPD_ACCESS_README.html">SMTPD_ACCESS_README</a>, section "Delayed evaluation of SMTP access
- restriction lists" for a discussion of evaluation context and time.
- </p>
- <p>
- The default is to permit everything.
- </p>
- <p>
- Specify a list of restrictions, separated by commas and/or whitespace.
- Continue long lines by starting the next line with whitespace.
- Restrictions are applied in the order as specified; the first
- restriction that matches wins.
- </p>
- <p>
- The following restrictions are specific to the sender address
- received with the MAIL FROM command.
- </p>
- <dl>
- <dt><b><a name="check_sender_access">check_sender_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MAIL FROM
- address, domain, parent domains, or localpart@, and execute the
- corresponding action. </dd>
- <dt><b><a name="check_sender_a_access">check_sender_a_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the IP addresses for
- the MAIL FROM domain, and execute the corresponding action. Note:
- a result of "OK" is not allowed for safety reasons. Instead, use
- DUNNO in order to exclude specific hosts from blacklists. This
- feature is available in Postfix 3.0 and later. </dd>
- <dt><b><a name="check_sender_mx_access">check_sender_mx_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the MX hosts for
- the MAIL FROM domain, and execute the corresponding action. Note:
- a result of "OK" is not allowed for safety reasons. Instead, use
- DUNNO in order to exclude specific hosts from blacklists. This
- feature is available in Postfix 2.1 and later. </dd>
- <dt><b><a name="check_sender_ns_access">check_sender_ns_access</a> <i><a href="DATABASE_README.html">type:table</a></i></b></dt>
- <dd>Search the specified <a href="access.5.html">access(5)</a> database for the DNS servers
- for the MAIL FROM domain, and execute the corresponding action.
- Note: a result of "OK" is not allowed for safety reasons. Instead,
- use DUNNO in order to exclude specific hosts from blacklists. This
- feature is available in Postfix 2.1 and later. </dd>
- <dt><b><a name="reject_authenticated_sender_login_mismatch">reject_authenticated_sender_login_mismatch</a></b></dt>
- <dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
- authenticated clients only. This feature is available in
- Postfix version 2.1 and later. </dd>
- <dt><b><a name="reject_known_sender_login_mismatch">reject_known_sender_login_mismatch</a></b></dt>
- <dd>Apply the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction only to MAIL
- FROM addresses that are known in $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>. This
- feature is available in Postfix version 2.11 and later. </dd>
- <dt><b><a name="reject_non_fqdn_sender">reject_non_fqdn_sender</a></b></dt>
- <dd>Reject the request when the MAIL FROM address specifies a
- domain that is not in
- fully-qualified domain form as required by the RFC. <br> The
- <a href="postconf.5.html#non_fqdn_reject_code">non_fqdn_reject_code</a> parameter specifies the response code for
- rejected requests (default: 504). </dd>
- <dt><b><a name="reject_rhsbl_sender">reject_rhsbl_sender <i>rbl_domain=d.d.d.d</i></a></b></dt>
- <dd>Reject the request when the MAIL FROM domain is listed with
- the A record "<i>d.d.d.d</i>" under <i>rbl_domain</i> (Postfix
- version 2.1 and later only). Each "<i>d</i>" is a number, or a
- pattern inside "[]" that contains one or more ";"-separated numbers
- or number..number ranges (Postfix version 2.8 and later). If no
- "<i>=d.d.d.d</i>" is specified,
- reject the request when the MAIL FROM domain is
- listed with any A record under <i>rbl_domain</i>. <br> The
- <a href="postconf.5.html#maps_rbl_reject_code">maps_rbl_reject_code</a> parameter specifies the response code for
- rejected requests (default: 554); the <a href="postconf.5.html#default_rbl_reply">default_rbl_reply</a> parameter
- specifies the default server reply; and the <a href="postconf.5.html#rbl_reply_maps">rbl_reply_maps</a> parameter
- specifies tables with server replies indexed by <i>rbl_domain</i>.
- This feature is available in Postfix 2.0 and later.</dd>
- <dt><b><a name="reject_sender_login_mismatch">reject_sender_login_mismatch</a></b></dt>
- <dd>Reject the request when $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a> specifies an
- owner for the MAIL FROM address, but the client is not (SASL) logged
- in as that MAIL FROM address owner; or when the client is (SASL)
- logged in, but the client login name doesn't own the MAIL FROM
- address according to $<a href="postconf.5.html#smtpd_sender_login_maps">smtpd_sender_login_maps</a>.</dd>
- <dt><b><a name="reject_unauthenticated_sender_login_mismatch">reject_unauthenticated_sender_login_mismatch</a></b></dt>
- <dd>Enforces the <a href="postconf.5.html#reject_sender_login_mismatch">reject_sender_login_mismatch</a> restriction for
- unauthenticated clients only. This feature is available in
- Postfix version 2.1 and later. </dd>
- <dt><b><a name="reject_unknown_sender_domain">reject_unknown_sender_domain</a></b></dt>
- <dd>Reject the request when Postfix is not final destination for
- the sender address, and the MAIL FROM domain has 1) no DNS MX and
- no DNS A
- record, or 2) a malformed MX record such as a record with
- a zero-length MX hostname (Postfix version 2.3 and later). <br> The
- reply is specified with the <a href="postconf.5.html#unknown_address_reject_code">unknown_address_reject_code</a> parameter
- (default: 450), <a href="postconf.5.html#unknown_address_tempfail_action">unknown_address_tempfail_action</a> (default:
- <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>), or 550 (nullmx, Postfix 3.0 and
- later). See the respective parameter descriptions for details.
- </dd>
- <dt><b><a name="reject_unlisted_sender">reject_unlisted_sender</a></b></dt>
- <dd>Reject the request when the MAIL FROM address is not listed in
- the list of valid recipients for its domain class. See the
- <a href="postconf.5.html#smtpd_reject_unlisted_sender">smtpd_reject_unlisted_sender</a> parameter description for details.
- This feature is available in Postfix 2.1 and later.</dd>
- <dt><b><a name="reject_unverified_sender">reject_unverified_sender</a></b></dt>
- <dd>Reject the request when mail to the MAIL FROM address is known to
- bounce, or when the sender address destination is not reachable.
- Address verification information is managed by the <a href="verify.8.html">verify(8)</a> server;
- see the <a href="ADDRESS_VERIFICATION_README.html">ADDRESS_VERIFICATION_README</a> file for details. <br> The
- <a href="postconf.5.html#unverified_sender_reject_code">unverified_sender_reject_code</a> parameter specifies the numerical
- response code when an address is known to bounce (default: 450,
- change into 550 when you are confident that it is safe to do so).
- <br>The <a href="postconf.5.html#unverified_sender_defer_code">unverified_sender_defer_code</a> specifies the numerical response
- code when an address probe failed due to a temporary problem
- (default: 450). <br> The <a href="postconf.5.html#unverified_sender_tempfail_action">unverified_sender_tempfail_action</a> parameter
- specifies the action after address probe failure due to a temporary
- problem (default: <a href="postconf.5.html#defer_if_permit">defer_if_permit</a>). <br> This feature is available
- in Postfix 2.1 and later. </dd>
- </dl>
- <p>
- Other restrictions that are valid in this context:
- </p>
- <ul>
- <li> <a href="#generic">Generic</a> restrictions that can be used
- in any SMTP command context, described under <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a>.
- <li> SMTP command specific restrictions described under
- <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> and <a href="postconf.5.html#smtpd_helo_restrictions">smtpd_helo_restrictions</a>.
- <li> SMTP command specific restrictions described under
- <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. When recipient restrictions are listed
- under <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a>, they have effect only with
- "<a href="postconf.5.html#smtpd_delay_reject">smtpd_delay_reject</a> = yes", so that $<a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> is
- evaluated at the time of the RCPT TO command.
- </ul>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> = <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
- <a href="postconf.5.html#smtpd_sender_restrictions">smtpd_sender_restrictions</a> = <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>,
- <a href="postconf.5.html#check_sender_access">check_sender_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access
- </pre>
- </DD>
- <DT><b><a name="smtpd_service_name">smtpd_service_name</a>
- (default: smtpd)</b></DT><DD>
- <p> The internal service that <a href="postscreen.8.html">postscreen(8)</a> hands off allowed
- connections to. In a future version there may be different
- classes of SMTP service. </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="smtpd_soft_error_limit">smtpd_soft_error_limit</a>
- (default: 10)</b></DT><DD>
- <p>
- The number of errors a remote SMTP client is allowed to make without
- delivering mail before the Postfix SMTP server slows down all its
- responses.
- </p>
- <ul>
- <li><p>With Postfix version 2.1 and later, the Postfix SMTP server
- delays all responses by $<a href="postconf.5.html#smtpd_error_sleep_time">smtpd_error_sleep_time</a> seconds. </p>
- <li><p>With Postfix versions 2.0 and earlier, the Postfix SMTP
- server delays all responses by (number of errors) seconds. </p>
- </ul>
- </DD>
- <DT><b><a name="smtpd_starttls_timeout">smtpd_starttls_timeout</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The time limit for Postfix SMTP server write and read operations
- during TLS startup and shutdown handshake procedures. The current
- default value is stress-dependent. Before Postfix version 2.8, it
- was fixed at 300s. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_timeout">smtpd_timeout</a>
- (default: normal: 300s, overload: 10s)</b></DT><DD>
- <p>
- The time limit for sending a Postfix SMTP server response and for
- receiving a remote SMTP client request. Normally the default limit
- is 300s, but it changes under overload to just 10s. With Postfix
- 2.5 and earlier, the SMTP server always uses a time limit of 300s
- by default.
- </p>
- <p>
- Note: if you set SMTP time limits to very large values you may have
- to update the global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="smtpd_tls_CAfile">smtpd_tls_CAfile</a>
- (default: empty)</b></DT><DD>
- <p> A file containing (PEM format) CA certificates of root CAs trusted
- to sign either remote SMTP client certificates or intermediate CA
- certificates. These are loaded into memory before the <a href="smtpd.8.html">smtpd(8)</a> server
- enters the chroot jail. If the number of trusted roots is large, consider
- using <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> instead, but note that the latter directory must
- be present in the chroot jail if the <a href="smtpd.8.html">smtpd(8)</a> server is chrooted. This
- file may also be used to augment the server certificate trust chain,
- but it is best to include all the required certificates directly in the
- server certificate file. </p>
- <p> Specify "<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /path/to/system_CA_file" to use ONLY
- the system-supplied default Certification Authority certificates.
- </p>
- <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
- appending the system-supplied default CAs and trusting third-party
- certificates. </p>
- <p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are not
- requested, and <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> should remain empty. If you do make use
- of client certificates, the distinguished names (DNs) of the Certification
- Authorities listed in <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> are sent to the remote SMTP client
- in the client certificate request message. MUAs with multiple client
- certificates may use the list of preferred Certification Authorities
- to select the correct client certificate. You may want to put your
- "preferred" CA or CAs in this file, and install other trusted CAs in
- $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> = /etc/postfix/CAcert.pem
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_CApath">smtpd_tls_CApath</a>
- (default: empty)</b></DT><DD>
- <p> A directory containing (PEM format) CA certificates of root CAs
- trusted to sign either remote SMTP client certificates or intermediate CA
- certificates. Do not forget to create the necessary "hash" links with,
- for example, "$OPENSSL_HOME/bin/c_rehash /etc/postfix/certs". To use
- <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> in chroot mode, this directory (or a copy) must be
- inside the chroot jail. </p>
- <p> Specify "<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /path/to/system_CA_directory" to
- use ONLY the system-supplied default Certification Authority certificates.
- </p>
- <p> Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = no" to prevent Postfix from
- appending the system-supplied default CAs and trusting third-party
- certificates. </p>
- <p> By default (see <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>), client certificates are
- not requested, and <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> should remain empty. In contrast
- to <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, DNs of Certification Authorities installed
- in $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> are not included in the client certificate
- request message. MUAs with multiple client certificates may use the
- list of preferred Certification Authorities to select the correct
- client certificate. You may want to put your "preferred" CA or
- CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, and install the remaining trusted CAs in
- $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> = /etc/postfix/certs
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>
- (default: yes)</b></DT><DD>
- <p> Force the Postfix SMTP server to issue a TLS session id, even
- when TLS session caching is turned off (<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
- is empty). This behavior is compatible with Postfix < 2.3. </p>
- <p> With Postfix 2.3 and later the Postfix SMTP server can disable
- session id generation when TLS session caching is turned off. This
- keeps remote SMTP clients from caching sessions that almost certainly cannot
- be re-used. </p>
- <p> By default, the Postfix SMTP server always generates TLS session
- ids. This works around a known defect in mail client applications
- such as MS Outlook, and may also prevent interoperability issues
- with other MTAs. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> = no
- </pre>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>
- (default: no)</b></DT><DD>
- <p> Ask a remote SMTP client for a client certificate. This
- information is needed for certificate based mail relaying with,
- for example, the <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a> feature. </p>
- <p> Some clients such as Netscape will either complain if no
- certificate is available (for the list of CAs in $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)
- or will offer multiple client certificates to choose from. This
- may be annoying, so this option is "off" by default. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_auth_only">smtpd_tls_auth_only</a>
- (default: no)</b></DT><DD>
- <p> When TLS encryption is optional in the Postfix SMTP server, do
- not announce or accept SASL authentication over unencrypted
- connections. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>
- (default: 9)</b></DT><DD>
- <p> The verification depth for remote SMTP client certificates. A
- depth of 1 is sufficient if the issuing CA is listed in a local CA
- file. </p>
- <p> The default verification depth is 9 (the OpenSSL default) for
- compatibility with earlier Postfix behavior. Prior to Postfix 2.5,
- the default value was 5, but the limit was not actually enforced. If
- you have set this to a lower non-default value, certificates with longer
- trust chains may now fail to verify. Certificate chains with 1 or 2
- CAs are common, deeper chains are more rare and any number between 5
- and 9 should suffice in practice. You can choose a lower number if,
- for example, you trust certificates directly signed by an issuing CA
- but not any CAs it delegates to. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_cert_file">smtpd_tls_cert_file</a>
- (default: empty)</b></DT><DD>
- <p> File with the Postfix SMTP server RSA certificate in PEM format.
- This file may also contain the Postfix SMTP server private RSA key. </p>
- <p> Public Internet MX hosts without certificates signed by a "reputable"
- CA must generate, and be prepared to present to most clients, a
- self-signed or private-CA signed certificate. The client will not be
- able to authenticate the server, but unless it is running Postfix 2.3 or
- similar software, it will still insist on a server certificate. </p>
- <p> For servers that are <b>not</b> public Internet MX hosts, Postfix
- 2.3 supports configurations with no certificates. This entails the
- use of just the anonymous TLS ciphers, which are not supported by
- typical SMTP clients. Since such clients will not, as a rule, fall
- back to plain text after a TLS handshake failure, the server will
- be unable to receive email from TLS enabled clients. To avoid
- accidental configurations with no certificates, Postfix 2.3 enables
- certificate-less operation only when the administrator explicitly
- sets "<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = none". This ensures that new Postfix
- configurations will not accidentally run with no certificates. </p>
- <p> Both RSA and DSA certificates are supported. When both types
- are present, the cipher used determines which certificate will be
- presented to the client. For Netscape and OpenSSL clients without
- special cipher choices the RSA certificate is preferred. </p>
- <p> To enable a remote SMTP client to verify the Postfix SMTP server
- certificate, the issuing CA certificates must be made available to the
- client. You should include the required certificates in the server
- certificate file, the server certificate first, then the issuing
- CA(s) (bottom-up order). </p>
- <p> Example: the certificate for "server.example.com" was issued by
- "intermediate CA" which itself has a certificate of "root CA".
- Create the server.pem file with "cat server_cert.pem intermediate_CA.pem
- root_CA.pem > server.pem". </p>
- <p> If you also want to verify client certificates issued by these
- CAs, you can add the CA certificates to the <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>, in which
- case it is not necessary to have them in the <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> or
- <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
- <p> A certificate supplied here must be usable as an SSL server certificate
- and hence pass the "openssl verify -purpose sslserver ..." test. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> = /etc/postfix/server.pem
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_cipherlist">smtpd_tls_cipherlist</a>
- (default: empty)</b></DT><DD>
- <p> Obsolete Postfix < 2.3 control for the Postfix SMTP server TLS
- cipher list. It is easy to create interoperability problems by choosing
- a non-default cipher list. Do not use a non-default TLS cipherlist for
- MX hosts on the public Internet. Clients that begin the TLS handshake,
- but are unable to agree on a common cipher, may not be able to send any
- email to the SMTP server. Using a restricted cipher list may be more
- appropriate for a dedicated MSA or an internal mailhub, where one can
- exert some control over the TLS software and settings of the connecting
- clients. </p>
- <p> <b>Note:</b> do not use "" quotes around the parameter value. </p>
- <p>This feature is available with Postfix version 2.2. It is not used with
- Postfix 2.3 and later; use <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> instead. </p>
- </DD>
- <DT><b><a name="smtpd_tls_ciphers">smtpd_tls_ciphers</a>
- (default: medium)</b></DT><DD>
- <p> The minimum TLS cipher grade that the Postfix SMTP server
- will use with opportunistic TLS encryption. Cipher types listed in
- <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are excluded from the base definition of
- the selected cipher grade. The default value is "medium" for Postfix
- releases after the middle of 2015, "export" for older releases.
- </p>
- <p> When TLS is mandatory the cipher grade is chosen via the
- <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> configuration parameter, see there for syntax
- details. </p>
- <p> This feature is available in Postfix 2.6 and later. With earlier Postfix
- releases only the <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a> parameter is implemented,
- and opportunistic TLS always uses "export" or better (i.e. all) ciphers. </p>
- </DD>
- <DT><b><a name="smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>
- (default: empty)</b></DT><DD>
- <p> File with the Postfix SMTP server DSA certificate in PEM format.
- This file may also contain the Postfix SMTP server private DSA key. </p>
- <p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details.
- </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> = /etc/postfix/server-dsa.pem
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
- (default: empty)</b></DT><DD>
- <p> File with DH parameters that the Postfix SMTP server should
- use with non-export EDH ciphers. </p>
- <p> Instead of using the exact same parameter sets as distributed
- with other TLS packages, it is more secure to generate your own
- set of parameters with something like the following commands: </p>
- <blockquote>
- <pre>
- openssl dhparam -out /etc/postfix/dh512.pem 512
- openssl dhparam -out /etc/postfix/dh1024.pem 1024
- openssl dhparam -out /etc/postfix/dh2048.pem 2048
- </pre>
- </blockquote>
- <p> It is safe to share the same DH parameters between multiple
- Postfix instances. If you prefer, you can generate separate
- parameters for each instance. </p>
- <p> If you want to take maximal advantage of ciphers that offer <a
- href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
- the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
- started</a> section of <a
- href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The
- full document conveniently presents all information about Postfix
- "perfect" forward secrecy support in one place: what forward secrecy
- is, how to tweak settings, and what you can expect to see when
- Postfix uses ciphers with forward secrecy. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a> = /etc/postfix/dh2048.pem
- </pre>
- <p>This feature is available with Postfix version 2.2.</p>
- </DD>
- <DT><b><a name="smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
- (default: empty)</b></DT><DD>
- <p> File with DH parameters that the Postfix SMTP server should
- use with export-grade EDH ciphers. The default SMTP server cipher
- grade is "medium" with Postfix releases after the middle of 2015,
- and as a result export-grade cipher suites are by default not used.
- </p>
- <p> See also the discussion under the <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
- configuration parameter. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a> = /etc/postfix/dh_512.pem
- </pre>
- <p>This feature is available with Postfix version 2.2.</p>
- </DD>
- <DT><b><a name="smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
- <p> File with the Postfix SMTP server DSA private key in PEM format.
- This file may be combined with the Postfix SMTP server DSA certificate
- file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>. </p>
- <p> The private key must be accessible without a pass-phrase, i.e. it
- must not be encrypted. File permissions should grant read-only
- access to the system superuser account ("root"), and no access
- to anyone else. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>
- (default: empty)</b></DT><DD>
- <p> File with the Postfix SMTP server ECDSA certificate in PEM format.
- This file may also contain the Postfix SMTP server private ECDSA key. </p>
- <p> See the discussion under <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for more details. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> = /etc/postfix/ecdsa-scert.pem
- </pre>
- <p> This feature is available in Postfix 2.6 and later, when Postfix is
- compiled and linked with OpenSSL 1.0.0 or later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
- <p> File with the Postfix SMTP server ECDSA private key in PEM format.
- This file may be combined with the Postfix SMTP server ECDSA certificate
- file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>. </p>
- <p> The private key must be accessible without a pass-phrase, i.e. it
- must not be encrypted. File permissions should grant read-only
- access to the system superuser account ("root"), and no access
- to anyone else. </p>
- <p> This feature is available in Postfix 2.6 and later, when Postfix is
- compiled and linked with OpenSSL 1.0.0 or later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The Postfix SMTP server security grade for ephemeral elliptic-curve
- Diffie-Hellman (EECDH) key exchange. </p>
- <p> The available choices are: </p>
- <dl>
- <dt><b>none</b></dt> <dd> Don't use EECDH. Ciphers based on EECDH key
- exchange will be disabled. This is the default in Postfix versions
- 2.6 and 2.7. </dd>
- <dt><b>strong</b></dt> <dd> Use EECDH with approximately 128
- bits of security at a reasonable computational cost. This is the
- current best-practice trade-off between security and computational
- efficiency. This is the default in Postfix version 2.8 and later.
- </dd>
- <dt><b>ultra</b></dt> <dd> Use EECDH with approximately 192 bits of
- security at computational cost that is approximately twice as high
- as 128 bit strength ECC. Barring significant progress in attacks on
- elliptic curve crypto-systems, the "strong" curve is sufficient for most
- users. </dd>
- <dt><b>auto</b></dt> <dd> Use the most preferred curve that is
- supported by both the client and the server. This setting requires
- Postfix ≥ 3.2 compiled and linked with OpenSSL ≥ 1.0.2. This
- is the default setting under the above conditions. </dd>
- </dl>
- <p> If you want to take maximal advantage of ciphers that offer <a
- href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
- the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
- started</a> section of <a
- href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The
- full document conveniently presents all information about Postfix
- "perfect" forward secrecy support in one place: what forward secrecy
- is, how to tweak settings, and what you can expect to see when
- Postfix uses ciphers with forward secrecy. </p>
- <p> This feature is available in Postfix 2.6 and later, when it is
- compiled and linked with OpenSSL 1.0.0 or later on platforms
- where EC algorithms have not been disabled by the vendor. </p>
- </DD>
- <DT><b><a name="smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
- (default: empty)</b></DT><DD>
- <p> List of ciphers or cipher types to exclude from the SMTP server
- cipher list at all TLS security levels. Excluding valid ciphers
- can create interoperability problems. DO NOT exclude ciphers unless it
- is essential to do so. This is not an OpenSSL cipherlist; it is a simple
- list separated by whitespace and/or commas. The elements are a single
- cipher, or one or more "+" separated cipher properties, in which case
- only ciphers matching <b>all</b> the properties are excluded. </p>
- <p> Examples (some of these will cause problems): </p>
- <blockquote>
- <pre>
- <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL
- <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = MD5, DES
- <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = DES+MD5
- <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = AES256-SHA, DES-CBC3-MD5
- <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = kEDH+aRSA
- </pre>
- </blockquote>
- <p> The first setting disables anonymous ciphers. The next setting
- disables ciphers that use the MD5 digest algorithm or the (single) DES
- encryption algorithm. The next setting disables ciphers that use MD5 and
- DES together. The next setting disables the two ciphers "AES256-SHA"
- and "DES-CBC3-MD5". The last setting disables ciphers that use "EDH"
- key exchange with RSA authentication. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>
- (default: md5)</b></DT><DD>
- <p> The message digest algorithm to construct remote SMTP
- client-certificate
- fingerprints or public key fingerprints (Postfix 2.9 and later)
- for <b><a href="postconf.5.html#check_ccert_access">check_ccert_access</a></b> and <b><a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a></b>. The
- default algorithm is <b>md5</b>, for backwards compatibility with Postfix
- releases prior to 2.5. </p>
- <p> Advances in hash
- function cryptanalysis have led to md5 being deprecated in favor of sha1.
- However, as long as there are no known "second pre-image" attacks
- against md5, its use in this context can still be considered safe.
- </p>
- <p> While additional digest algorithms are often available with OpenSSL's
- libcrypto, only those used by libssl in SSL cipher suites are available to
- Postfix. </p>
- <p> To find the fingerprint of a specific certificate file, with a
- specific digest algorithm, run: </p>
- <blockquote>
- <pre>
- $ openssl x509 -noout -fingerprint -<i>digest</i> -in <i>certfile</i>.pem
- </pre>
- </blockquote>
- <p> The text to the right of "=" sign is the desired fingerprint.
- For example: </p>
- <blockquote>
- <pre>
- $ openssl x509 -noout -fingerprint -sha1 -in cert.pem
- SHA1 Fingerprint=D4:6A:AB:19:24:79:F8:32:BB:A6:CB:66:82:C0:8E:9B:EE:29:A8:1A
- </pre>
- </blockquote>
- <p> To extract the public key fingerprint from an X.509 certificate,
- you need to extract the public key from the certificate and compute
- the appropriate digest of its DER (ASN.1) encoding. With OpenSSL
- the "-pubkey" option of the "x509" command extracts the public
- key always in "PEM" format. We pipe the result to another OpenSSL
- command that converts the key to DER and then to the "dgst" command
- to compute the fingerprint. </p>
- <p> The actual command to transform the key to DER format depends
- on the version of OpenSSL used. With OpenSSL 1.0.0 and later, the
- "pkey" command supports all key types. With OpenSSL 0.9.8 and
- earlier, the key type is always RSA (nobody uses DSA, and EC
- keys are not fully supported by 0.9.8), so the "rsa" command is
- used. </p>
- <blockquote>
- <pre>
- # OpenSSL 1.0 with all certificates and SHA-1 fingerprints.
- $ openssl x509 -in cert.pem -noout -pubkey |
- openssl pkey -pubin -outform DER |
- openssl dgst -sha1 -c
- (stdin)= 64:3f:1f:f6:e5:1e:d4:2a:56:8b:fc:09:1a:61:98:b5:bc:7c:60:58
- </pre>
- </blockquote>
- <blockquote>
- <pre>
- # OpenSSL 0.9.8 with RSA certificates and MD5 fingerprints.
- $ openssl x509 -in cert.pem -noout -pubkey |
- openssl rsa -pubin -outform DER |
- openssl dgst -md5 -c
- (stdin)= f4:62:60:f6:12:8f:d5:8d:28:4d:13:a7:db:b2:ff:50
- </pre>
- </blockquote>
- <p> The Postfix SMTP server and client log the peer (leaf) certificate
- fingerprint and public key fingerprint when the TLS loglevel is 2 or
- higher. </p>
- <p> <b>Note:</b> Postfix 2.9.0–2.9.5 computed the public key
- fingerprint incorrectly. To use public-key fingerprints, upgrade
- to Postfix 2.9.6 or later. </p>
- <p> Example: client-certificate access table, with sha1 fingerprints: </p>
- <blockquote>
- <pre>
- /etc/postfix/<a href="postconf.5.html">main.cf</a>:
- <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> = sha1
- <a href="postconf.5.html#smtpd_client_restrictions">smtpd_client_restrictions</a> =
- <a href="postconf.5.html#check_ccert_access">check_ccert_access</a> <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/access,
- reject
- </pre>
- <pre>
- /etc/postfix/access:
- # Action folded to next line...
- AF:88:7C:AD:51:95:6F:36:96:F6:01:FB:2E:48:CD:AB:49:25:A2:3B
- OK
- 85:16:78:FD:73:6E:CE:70:E0:31:5F:0D:3C:C8:6D:C4:2C:24:59:E1
- <a href="postconf.5.html#permit_auth_destination">permit_auth_destination</a>
- </pre>
- </blockquote>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_key_file">smtpd_tls_key_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
- <p> File with the Postfix SMTP server RSA private key in PEM format.
- This file may be combined with the Postfix SMTP server RSA certificate
- file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>. </p>
- <p> The private key must be accessible without a pass-phrase, i.e. it
- must not be encrypted. File permissions should grant read-only
- access to the system superuser account ("root"), and no access
- to anyone else. </p>
- </DD>
- <DT><b><a name="smtpd_tls_loglevel">smtpd_tls_loglevel</a>
- (default: 0)</b></DT><DD>
- <p> Enable additional Postfix SMTP server logging of TLS activity.
- Each logging level also includes the information that is logged at
- a lower logging level. </p>
- <dl compact>
- <dt> </dt> <dd> 0 Disable logging of TLS activity. </dd>
- <dt> </dt> <dd> 1 Log only a summary message on TLS handshake completion
- — no logging of client certificate trust-chain verification errors
- if client certificate verification is not required. With Postfix 2.8 and
- earlier, log the summary message, peer certificate summary information
- and unconditionally log trust-chain verification errors. </dd>
- <dt> </dt> <dd> 2 Also log levels during TLS negotiation. </dd>
- <dt> </dt> <dd> 3 Also log hexadecimal and ASCII dump of TLS negotiation
- process. </dd>
- <dt> </dt> <dd> 4 Also log hexadecimal and ASCII dump of complete
- transmission after STARTTLS. </dd>
- </dl>
- <p> Do not use "<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> = 2" or higher except in case
- of problems. Use of loglevel 4 is strongly discouraged. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
- (default: medium)</b></DT><DD>
- <p> The minimum TLS cipher grade that the Postfix SMTP server will
- use with mandatory TLS encryption. The default grade ("medium") is
- sufficiently strong that any benefit from globally restricting TLS
- sessions to a more stringent grade is likely negligible, especially
- given the fact that many implementations still do not offer any stronger
- ("high" grade) ciphers, while those that do, will always use "high"
- grade ciphers. So insisting on "high" grade ciphers is generally
- counter-productive. Allowing "export" or "low" ciphers is typically
- not a good idea, as systems limited to just these are limited to
- obsolete browsers. No known SMTP clients fail to support at least
- one "medium" or "high" grade cipher. </p>
- <p> The following cipher grades are supported: </p>
- <dl>
- <dt><b>export</b></dt>
- <dd> Enable "EXPORT" grade or stronger OpenSSL ciphers. The
- underlying cipherlist is specified via the <a href="postconf.5.html#tls_export_cipherlist">tls_export_cipherlist</a>
- configuration parameter, which you are strongly encouraged to not
- change. This choice is insecure and SHOULD NOT be used. </dd>
- <dt><b>low</b></dt>
- <dd> Enable "LOW" grade or stronger OpenSSL ciphers. The underlying
- cipherlist is specified via the <a href="postconf.5.html#tls_low_cipherlist">tls_low_cipherlist</a> configuration
- parameter, which you are strongly encouraged to not change. This
- choice is insecure and SHOULD NOT be used. </dd>
- <dt><b>medium</b></dt>
- <dd> Enable "MEDIUM" grade or stronger OpenSSL ciphers. These use 128-bit
- or longer symmetric bulk-encryption keys. This is the default minimum
- strength for mandatory TLS encryption. The underlying cipherlist is
- specified via the <a href="postconf.5.html#tls_medium_cipherlist">tls_medium_cipherlist</a> configuration parameter, which
- you are strongly encouraged to not change. </dd>
- <dt><b>high</b></dt>
- <dd> Enable only "HIGH" grade OpenSSL ciphers. The
- underlying cipherlist is specified via the <a href="postconf.5.html#tls_high_cipherlist">tls_high_cipherlist</a>
- configuration parameter, which you are strongly encouraged to
- not change. </dd>
- <dt><b>null</b></dt>
- <dd> Enable only the "NULL" OpenSSL ciphers, these provide authentication
- without encryption. This setting is only appropriate in the rare
- case that all clients are prepared to use NULL ciphers (not normally
- enabled in TLS clients). The underlying cipherlist is specified via the
- <a href="postconf.5.html#tls_null_cipherlist">tls_null_cipherlist</a> configuration parameter, which you are strongly
- encouraged to not change. </dd>
- </dl>
- <p> Cipher types listed in
- <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> or <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> are
- excluded from the base definition of the selected cipher grade. See
- <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a> for cipher controls that apply to opportunistic
- TLS. </p>
- <p> The underlying cipherlists for grades other than "null" include
- anonymous ciphers, but these are automatically filtered out if the
- server is configured to ask for remote SMTP client certificates. You are very
- unlikely to need to take any steps to exclude anonymous ciphers, they
- are excluded automatically as required. If you must exclude anonymous
- ciphers even when Postfix does not need or use peer certificates, set
- "<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> = aNULL". To exclude anonymous ciphers only
- when TLS is enforced, set "<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> = aNULL". </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>
- (default: empty)</b></DT><DD>
- <p> Additional list of ciphers or cipher types to exclude from the
- Postfix SMTP server cipher list at mandatory TLS security levels.
- This list
- works in addition to the exclusions listed with <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>
- (see there for syntax details). </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>
- (default: !SSLv2, !SSLv3)</b></DT><DD>
- <p> The SSL/TLS protocols accepted by the Postfix SMTP server with
- mandatory TLS encryption. If the list is empty, the server supports
- all available SSL/TLS protocol versions. A non-empty value is a
- list of protocol names separated by whitespace, commas or colons.
- The supported protocol names are "SSLv2", "SSLv3" and "TLSv1", and
- are not case sensitive. The default value is "!SSLv2, !SSLv3" for
- Postfix releases after the middle of 2015, "!SSLv2" for older
- releases. </p>
- <p> With Postfix ≥ 2.5 the parameter syntax was expanded to support
- protocol exclusions. One can explicitly exclude "SSLv2" by setting
- "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2". To exclude both "SSLv2" and
- "SSLv3" set "<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3". Listing
- the protocols to include, rather than protocols to exclude, is
- supported, but not recommended. The exclusion form more closely
- matches the underlying OpenSSL interface semantics. </p>
- <p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
- and "TLSv1.2". When Postfix ≤ 2.5 is linked against OpenSSL 1.0.1
- or later, these, or any other new protocol versions, cannot be
- disabled. The latest patch levels of Postfix ≥ 2.6, and all
- versions of Postfix ≥ 2.10 can disable support for "TLSv1.1" or
- "TLSv1.2". </p>
- <p> Example: </p>
- <pre>
- # Preferred syntax with Postfix ≥ 2.5:
- <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = !SSLv2, !SSLv3
- # Legacy syntax:
- <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> = TLSv1
- </pre>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_protocols">smtpd_tls_protocols</a>
- (default: !SSLv2, !SSLv3)</b></DT><DD>
- <p> List of TLS protocols that the Postfix SMTP server will exclude
- or include with opportunistic TLS encryption. The default value is
- "!SSLv2, !SSLv3" for Postfix releases after the middle of 2015,
- empty for older releases allowing all protocols to be
- used with opportunistic TLS. A non-empty value is a list of protocol
- names separated by whitespace, commas or colons. The supported
- protocol names are "SSLv2", "SSLv3" and "TLSv1", and are not case
- sensitive. </p>
- <p> Note: As of OpenSSL 1.0.1 two new protocols are defined, "TLSv1.1"
- and "TLSv1.2". The latest patch levels of Postfix ≥ 2.6, and all
- versions of Postfix ≥ 2.10 can disable support for "TLSv1.1" or
- "TLSv1.2". </p>
- <p> To include a protocol list its name, to exclude it, prefix the name
- with a "!" character. To exclude SSLv2 for opportunistic TLS set
- "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2". To exclude both "SSLv2" and "SSLv3" set
- "<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3". Explicitly listing the protocols to
- include, rather than protocols to exclude, is supported, but not
- recommended. The exclusion form more closely matches the underlying
- OpenSSL interface semantics. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> = !SSLv2, !SSLv3
- </pre>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_received_header">smtpd_tls_received_header</a>
- (default: no)</b></DT><DD>
- <p> Request that the Postfix SMTP server produces Received: message
- headers that include information about the protocol and cipher used,
- as well as the remote SMTP client CommonName and client certificate issuer
- CommonName. This is disabled by default, as the information may
- be modified in transit through other mail servers. Only information
- that was recorded by the final destination can be trusted. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>
- (default: no)</b></DT><DD>
- <p> With mandatory TLS encryption, require a trusted remote SMTP client
- certificate in order to allow TLS connections to proceed. This
- option implies "<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> = yes". </p>
- <p> When TLS encryption is optional, this setting is ignored with
- a warning written to the mail log. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_security_level">smtpd_tls_security_level</a>
- (default: empty)</b></DT><DD>
- <p> The SMTP TLS security level for the Postfix SMTP server; when
- a non-empty value is specified, this overrides the obsolete parameters
- <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a> and <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>. This parameter is ignored with
- "<a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a> = yes". </p>
- <p> Specify one of the following security levels: </p>
- <dl>
- <dt><b>none</b></dt> <dd> TLS will not be used. </dd>
- <dt><b>may</b></dt> <dd> Opportunistic TLS: announce STARTTLS support
- to remote SMTP clients, but do not require that clients use TLS encryption.
- </dd>
- <dt><b>encrypt</b></dt> <dd>Mandatory TLS encryption: announce
- STARTTLS support to remote SMTP clients, and require that clients use TLS
- encryption. According to <a href="http://tools.ietf.org/html/rfc2487">RFC 2487</a> this MUST NOT be applied in case
- of a publicly-referenced SMTP server. Instead, this option should
- be used only on dedicated servers. </dd>
- </dl>
- <p> Note 1: the "fingerprint", "verify" and "secure" levels are not
- supported here.
- The Postfix SMTP server logs a warning and uses "encrypt" instead.
- To verify remote SMTP client certificates, see <a href="TLS_README.html">TLS_README</a> for a discussion
- of the <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>, <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>, and <a href="postconf.5.html#permit_tls_clientcerts">permit_tls_clientcerts</a>
- features. </p>
- <p> Note 2: The parameter setting "<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> =
- encrypt" implies "<a href="postconf.5.html#smtpd_tls_auth_only">smtpd_tls_auth_only</a> = yes".</p>
- <p> Note 3: when invoked via "sendmail -bs", Postfix will never
- offer STARTTLS due to insufficient privileges to access the server
- private key. This is intended behavior.</p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>
- (default: empty)</b></DT><DD>
- <p> Name of the file containing the optional Postfix SMTP server
- TLS session cache. Specify a database type that supports enumeration,
- such as <b>btree</b> or <b>sdbm</b>; there is no need to support
- concurrent access. The file is created if it does not exist. The <a href="smtpd.8.html">smtpd(8)</a>
- daemon does not use this parameter directly, rather the cache is
- implemented indirectly in the <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon. This means that
- per-smtpd-instance <a href="master.5.html">master.cf</a> overrides of this parameter are not
- effective. Note, that each of the cache databases supported by <a href="tlsmgr.8.html">tlsmgr(8)</a>
- daemon: $<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, $<a href="postconf.5.html#smtp_tls_session_cache_database">smtp_tls_session_cache_database</a>
- (and with Postfix 2.3 and later $<a href="postconf.5.html#lmtp_tls_session_cache_database">lmtp_tls_session_cache_database</a>), needs to be
- stored separately. It is not at this time possible to store multiple
- caches in a single database. </p>
- <p> Note: <b>dbm</b> databases are not suitable. TLS
- session objects are too large. </p>
- <p> As of version 2.5, Postfix no longer uses root privileges when
- opening this file. The file should now be stored under the Postfix-owned
- <a href="postconf.5.html#data_directory">data_directory</a>. As a migration aid, an attempt to open the file
- under a non-Postfix directory is redirected to the Postfix-owned
- <a href="postconf.5.html#data_directory">data_directory</a>, and a warning is logged. </p>
- <p> As of Postfix 2.11 the preferred mechanism for session resumption
- is <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
- storage. Consequently, for Postfix ≥ 2.11 this parameter should
- generally be left empty. TLS session tickets require an OpenSSL
- library (at least version 0.9.8h) that provides full support for
- this TLS extension. See also <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a> = <a href="DATABASE_README.html#types">btree</a>:/var/lib/postfix/smtpd_scache
- </pre>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>
- (default: 3600s)</b></DT><DD>
- <p> The expiration time of Postfix SMTP server TLS session cache
- information. A cache cleanup is performed periodically
- every $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a> seconds. As with
- $<a href="postconf.5.html#smtpd_tls_session_cache_database">smtpd_tls_session_cache_database</a>, this parameter is implemented in the
- <a href="tlsmgr.8.html">tlsmgr(8)</a> daemon and therefore per-smtpd-instance <a href="master.5.html">master.cf</a> overrides
- are not possible. </p>
- <p> As of Postfix 2.11 this setting cannot exceed 100 days. If set
- ≤ 0, session caching is disabled, not just via the database, but
- also via <a href="http://tools.ietf.org/html/rfc5077">RFC 5077</a> TLS session tickets, which don't require server-side
- storage. If set to a positive value less than 2 minutes, the minimum
- value of 2 minutes is used instead. TLS session tickets require
- an OpenSSL library (at least version 0.9.8h) that provides full
- support for this TLS extension. </p>
- <p> This feature is available in Postfix 2.2 and later, and updated
- for TLS session ticket support in Postfix 2.11. </p>
- </DD>
- <DT><b><a name="smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>
- (default: no)</b></DT><DD>
- <p> Run the Postfix SMTP server in the non-standard "wrapper" mode,
- instead of using the STARTTLS command. </p>
- <p> If you want to support this service, enable a special port in
- <a href="master.5.html">master.cf</a>, and specify "-o <a href="postconf.5.html#smtpd_tls_wrappermode">smtpd_tls_wrappermode</a>=yes" on the SMTP
- server's command line. Port 465 (smtps) was once chosen for this
- purpose. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a>
- (default: empty)</b></DT><DD>
- <p> The name of the proxy protocol used by an optional before-smtpd
- proxy agent. When a proxy agent is used, this protocol conveys local
- and remote address and port information. Specify
- "<a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> = haproxy" to enable the haproxy
- protocol. </p>
- <p> NOTE: To use the nginx proxy with <a href="smtpd.8.html">smtpd(8)</a>, enable the XCLIENT
- protocol with <a href="postconf.5.html#smtpd_authorized_xclient_hosts">smtpd_authorized_xclient_hosts</a>. This supports SASL
- authentication in the proxy agent (Postfix 2.9 and later). <p>
- <p> This feature is available in Postfix 2.10 and later. </p>
- </DD>
- <DT><b><a name="smtpd_upstream_proxy_timeout">smtpd_upstream_proxy_timeout</a>
- (default: 5s)</b></DT><DD>
- <p> The time limit for the proxy protocol specified with the
- <a href="postconf.5.html#smtpd_upstream_proxy_protocol">smtpd_upstream_proxy_protocol</a> parameter. </p>
- <p> This feature is available in Postfix 2.10 and later. </p>
- </DD>
- <DT><b><a name="smtpd_use_tls">smtpd_use_tls</a>
- (default: no)</b></DT><DD>
- <p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
- but do not require that clients use TLS encryption. </p>
- <p> Note: when invoked via "<b>sendmail -bs</b>", Postfix will never offer
- STARTTLS due to insufficient privileges to access the server private
- key. This is intended behavior. </p>
- <p> This feature is available in Postfix 2.2 and later. With
- Postfix 2.3 and later use <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> instead. </p>
- </DD>
- <DT><b><a name="smtputf8_autodetect_classes">smtputf8_autodetect_classes</a>
- (default: sendmail, verify)</b></DT><DD>
- <p> Detect that a message requires SMTPUTF8 support for the specified
- mail origin classes. This is a workaround to avoid chicken-and-egg
- problems during the initial SMTPUTF8 roll-out in environments with
- pre-existing mail flows that contain UTF8. Those mail flows should
- not break because Postfix suddenly refuses to deliver such mail
- to down-stream MTAs that don't announce SMTPUTF8 support. </p>
- <p> The problem is that Postfix cannot rely solely on the sender's
- declaration that a message requires SMTPUTF8 support, because UTF8
- may be introduced during local processing (for example, the client
- hostname in Postfix's Received: header, adding @$<a href="postconf.5.html#myorigin">myorigin</a> or
- .$<a href="postconf.5.html#mydomain">mydomain</a> to an incomplete address, address rewriting, alias
- expansion, automatic BCC recipients, local forwarding, and changes
- made by header checks or Milter applications). </p>
- <p> For now, the default is to enable "SMTPUTF8 required" autodetection
- only for Postfix sendmail command-line submissions and address
- verification probes. This may change once SMTPUTF8 support achieves
- world domination. However, sites that add UTF8 content via local
- processing (see above) should autodetect the need for SMTPUTF8
- support for all email.</p>
- <p> Specify one or more of the following: </p>
- <dl compact>
- <dt> <b> sendmail </b> </dt> <dd> Submission with the Postfix
- <a href="sendmail.1.html">sendmail(1)</a> command. </dd>
- <dt> <b> smtpd </b> </dt> <dd> Mail received with the <a href="smtpd.8.html">smtpd(8)</a>
- daemon. </dd>
- <dt> <b> qmqpd </b> </dt> <dd> Mail received with the <a href="qmqpd.8.html">qmqpd(8)</a>
- daemon. </dd>
- <dt> <b> forward </b> </dt> <dd> Local forwarding or aliasing. When
- a message is received with "SMTPUTF8 required", then the forwarded
- (aliased) message always has "SMTPUTF8 required". </dd>
- <dt> <b> bounce </b> </dt> <dd> Submission by the <a href="bounce.8.html">bounce(8)</a> daemon.
- When a message is received with "SMTPUTF8 required", then the
- delivery status notification always has "SMTPUTF8 required". </dd>
- <dt> <b> notify </b> </dt> <dd> Postmaster notification from the
- <a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a> daemon. </dd>
- <dt> <b> verify </b> </dt> <dd> Address verification probe from the
- <a href="verify.8.html">verify(8)</a> daemon. </dd>
- <dt> <b> all </b> </dt> <dd> Enable SMTPUTF8 autodetection for all
- mail. </dd>
- </dl>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="smtputf8_enable">smtputf8_enable</a>
- (default: yes)</b></DT><DD>
- <p> Enable preliminary SMTPUTF8 support for the protocols described
- in <a href="http://tools.ietf.org/html/rfc6531">RFC 6531</a>..6533. This requires that Postfix is built to support
- these protocols. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="soft_bounce">soft_bounce</a>
- (default: no)</b></DT><DD>
- <p>
- Safety net to keep mail queued that would otherwise be returned to
- the sender. This parameter disables locally-generated bounces,
- changes the handling of negative responses from remote servers,
- content filters or plugins,
- and prevents the Postfix SMTP server from rejecting mail permanently
- by changing 5xx reply codes into 4xx. However, <a href="postconf.5.html#soft_bounce">soft_bounce</a> is no
- cure for address rewriting mistakes or mail routing mistakes.
- </p>
- <p>
- Note: "<a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes" is in some cases implemented by modifying
- server responses. Therefore, the response that Postfix logs may
- differ from the response that Postfix actually sends or receives.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#soft_bounce">soft_bounce</a> = yes
- </pre>
- </DD>
- <DT><b><a name="stale_lock_time">stale_lock_time</a>
- (default: 500s)</b></DT><DD>
- <p>
- The time after which a stale exclusive mailbox lockfile is removed.
- This is used for delivery to file or mailbox.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="stress">stress</a>
- (default: empty)</b></DT><DD>
- <p> This feature is documented in the <a href="STRESS_README.html">STRESS_README</a> document. </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="strict_7bit_headers">strict_7bit_headers</a>
- (default: no)</b></DT><DD>
- <p>
- Reject mail with 8-bit text in message headers. This blocks mail
- from poorly written applications.
- </p>
- <p>
- This feature should not be enabled on a general purpose mail server,
- because it is likely to reject legitimate email.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="strict_8bitmime">strict_8bitmime</a>
- (default: no)</b></DT><DD>
- <p>
- Enable both <a href="postconf.5.html#strict_7bit_headers">strict_7bit_headers</a> and <a href="postconf.5.html#strict_8bitmime_body">strict_8bitmime_body</a>.
- </p>
- <p>
- This feature should not be enabled on a general purpose mail server,
- because it is likely to reject legitimate email.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="strict_8bitmime_body">strict_8bitmime_body</a>
- (default: no)</b></DT><DD>
- <p>
- Reject 8-bit message body text without 8-bit MIME content encoding
- information. This blocks mail from poorly written applications.
- </p>
- <p>
- Unfortunately, this also rejects majordomo approval requests when
- the included request contains valid 8-bit MIME mail, and it rejects
- bounces from mailers that do not MIME encapsulate 8-bit content
- (for example, bounces from qmail or from old versions of Postfix).
- </p>
- <p>
- This feature should not be enabled on a general purpose mail server,
- because it is likely to reject legitimate email.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="strict_mailbox_ownership">strict_mailbox_ownership</a>
- (default: yes)</b></DT><DD>
- <p> Defer delivery when a mailbox file is not owned by its recipient.
- The default setting is not backwards compatible. </p>
- <p> This feature is available in Postfix 2.5.3 and later. </p>
- </DD>
- <DT><b><a name="strict_mime_encoding_domain">strict_mime_encoding_domain</a>
- (default: no)</b></DT><DD>
- <p>
- Reject mail with invalid Content-Transfer-Encoding: information
- for the message/* or multipart/* MIME content types. This blocks
- mail from poorly written software.
- </p>
- <p>
- This feature should not be enabled on a general purpose mail server,
- because it will reject mail after a single violation.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="strict_rfc821_envelopes">strict_rfc821_envelopes</a>
- (default: no)</b></DT><DD>
- <p>
- Require that addresses received in SMTP MAIL FROM and RCPT TO
- commands are enclosed with <>, and that those addresses do
- not contain <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> style comments or phrases. This stops mail
- from poorly written software.
- </p>
- <p>
- By default, the Postfix SMTP server accepts <a href="http://tools.ietf.org/html/rfc822">RFC 822</a> syntax in MAIL
- FROM and RCPT TO addresses.
- </p>
- </DD>
- <DT><b><a name="strict_smtputf8">strict_smtputf8</a>
- (default: no)</b></DT><DD>
- <p> Enable stricter enforcement of the SMTPUTF8 protocol. The Postfix
- SMTP server accepts UTF8 sender or recipient addresses only when
- the client requests an SMTPUTF8 mail transaction. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="sun_mailtool_compatibility">sun_mailtool_compatibility</a>
- (default: no)</b></DT><DD>
- <p>
- Obsolete SUN mailtool compatibility feature. Instead, use
- "<a href="postconf.5.html#mailbox_delivery_lock">mailbox_delivery_lock</a> = dotlock".
- </p>
- </DD>
- <DT><b><a name="swap_bangpath">swap_bangpath</a>
- (default: yes)</b></DT><DD>
- <p>
- Enable the rewriting of "site!user" into "user@site". This is
- necessary if your machine is connected to UUCP networks. It is
- enabled by default.
- </p>
- <p> Note: with Postfix version 2.2, message header address rewriting
- happens only when one of the following conditions is true: </p>
- <ul>
- <li> The message is received with the Postfix <a href="sendmail.1.html">sendmail(1)</a> command,
- <li> The message is received from a network client that matches
- $<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a>,
- <li> The message is received from the network, and the
- <a href="postconf.5.html#remote_header_rewrite_domain">remote_header_rewrite_domain</a> parameter specifies a non-empty value.
- </ul>
- <p> To get the behavior before Postfix version 2.2, specify
- "<a href="postconf.5.html#local_header_rewrite_clients">local_header_rewrite_clients</a> = <a href="DATABASE_README.html#types">static</a>:all". </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#swap_bangpath">swap_bangpath</a> = no
- </pre>
- </DD>
- <DT><b><a name="syslog_facility">syslog_facility</a>
- (default: mail)</b></DT><DD>
- <p>
- The syslog facility of Postfix logging. Specify a facility as
- defined in syslog.conf(5). The default facility is "mail".
- </p>
- <p>
- Warning: a non-default <a href="postconf.5.html#syslog_facility">syslog_facility</a> setting takes effect only
- after a Postfix process has completed initialization. Errors during
- process initialization will be logged with the default facility.
- Examples are errors while parsing the command line arguments, and
- errors while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
- </p>
- </DD>
- <DT><b><a name="syslog_name">syslog_name</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- A prefix that is prepended to the process name in syslog
- records, so that, for example, "smtpd" becomes "prefix/smtpd".
- </p>
- <p>
- Warning: a non-default <a href="postconf.5.html#syslog_name">syslog_name</a> setting takes effect only after
- a Postfix process has completed initialization. Errors during
- process initialization will be logged with the default name. Examples
- are errors while parsing the command line arguments, and errors
- while accessing the Postfix <a href="postconf.5.html">main.cf</a> configuration file.
- </p>
- </DD>
- <DT><b><a name="tcp_windowsize">tcp_windowsize</a>
- (default: 0)</b></DT><DD>
- <p> An optional workaround for routers that break TCP window scaling.
- Specify a value > 0 and < 65536 to enable this feature. With
- Postfix TCP servers (<a href="smtpd.8.html">smtpd(8)</a>, <a href="qmqpd.8.html">qmqpd(8)</a>), this feature is implemented
- by the Postfix <a href="master.8.html">master(8)</a> daemon. </p>
- <p> To change this parameter without stopping Postfix, you need to
- first terminate all Postfix TCP servers: </p>
- <blockquote>
- <pre>
- # postconf -e <a href="postconf.5.html#master_service_disable">master_service_disable</a>=inet
- # postfix reload
- </pre>
- </blockquote>
- <p> This immediately terminates all processes that accept network
- connections. Next, you enable Postfix TCP servers with the updated
- <a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> setting: </p>
- <blockquote>
- <pre>
- # postconf -e <a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a>=65535 <a href="postconf.5.html#master_service_disable">master_service_disable</a>=
- # postfix reload
- </pre>
- </blockquote>
- <p> If you skip these steps with a running Postfix system, then the
- <a href="postconf.5.html#tcp_windowsize">tcp_windowsize</a> change will work only for Postfix TCP clients (<a href="smtp.8.html">smtp(8)</a>,
- <a href="lmtp.8.html">lmtp(8)</a>). </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="tls_append_default_CA">tls_append_default_CA</a>
- (default: no)</b></DT><DD>
- <p> Append the system-supplied default Certification Authority
- certificates to the ones specified with *_tls_CApath or *_tls_CAfile.
- The default is "no"; this prevents Postfix from trusting third-party
- certificates and giving them relay permission with
- <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
- <p> This feature is available in Postfix 2.4.15, 2.5.11, 2.6.8,
- 2.7.2 and later versions. Specify "<a href="postconf.5.html#tls_append_default_CA">tls_append_default_CA</a> = yes" for
- backwards compatibility, to avoid breaking certificate verification
- with sites that don't use <a href="postconf.5.html#permit_tls_all_clientcerts">permit_tls_all_clientcerts</a>. </p>
- </DD>
- <DT><b><a name="tls_daemon_random_bytes">tls_daemon_random_bytes</a>
- (default: 32)</b></DT><DD>
- <p> The number of pseudo-random bytes that an <a href="smtp.8.html">smtp(8)</a> or <a href="smtpd.8.html">smtpd(8)</a>
- process requests from the <a href="tlsmgr.8.html">tlsmgr(8)</a> server in order to seed its
- internal pseudo random number generator (PRNG). The default of 32
- bytes (equivalent to 256 bits) is sufficient to generate a 128bit
- (or 168bit) session key. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="tls_dane_digest_agility">tls_dane_digest_agility</a>
- (default: on)</b></DT><DD>
- <p> Configure <a href="http://tools.ietf.org/html/rfc7671">RFC7671</a> DANE TLSA digest algorithm agility.
- Do not change this setting from its default value. </p>
- <p> See Section 8 of <a href="http://tools.ietf.org/html/rfc7671">RFC7671</a> for correct key rotation procedures. </p>
- <p> This feature is available in Postfix 2.11 through 3.1. Postfix
- 3.2 and later ignore this configuration parameter and behave as
- though it were set to "on". </p>
- </DD>
- <DT><b><a name="tls_dane_digests">tls_dane_digests</a>
- (default: sha512 sha256)</b></DT><DD>
- <p> DANE TLSA (<a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>, <a href="http://tools.ietf.org/html/rfc7671">RFC 7671</a>, <a href="http://tools.ietf.org/html/rfc7672">RFC 7672</a>) resource-record "matching
- type" digest algorithms in descending preference order. All the
- specified algorithms must be supported by the underlying OpenSSL
- library, otherwise the Postfix SMTP client will not support DANE
- TLSA security. </p>
- <p> Specify a list of digest names separated by commas and/or
- whitespace. Each digest name may be followed by an optional
- "=<number>" suffix. For example, "sha512" may instead be specified
- as "sha512=2" and "sha256" may instead be specified as "sha256=1".
- The optional number must match the <a
- href="https://www.iana.org/assignments/dane-parameters/dane-parameters.xhtml#matching-types"
- >IANA</a> assigned TLSA matching type number the algorithm in question.
- Postfix will check this constraint for the algorithms it knows about.
- Additional matching type algorithms registered with IANA can be added
- with explicit numbers provided they are supported by OpenSSL. </p>
- <p> Invalid list elements are logged with a warning and disable DANE
- support. TLSA RRs that specify digests not included in the list are
- ignored with a warning. </p>
- <p> Note: It is unwise to omit sha256 from the digest list. This
- digest algorithm is the only mandatory to implement digest algorithm
- in <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a>, and many servers are expected publish TLSA records
- with just sha256 digests. Unless one of the standard digests is
- seriously compromised and servers have had ample time to update their
- TLSA records you should not omit any standard digests, just arrange
- them in order from strongest to weakest. </p>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="tls_dane_trust_anchor_digest_enable">tls_dane_trust_anchor_digest_enable</a>
- (default: yes)</b></DT><DD>
- <p> Enable support for <a href="http://tools.ietf.org/html/rfc6698">RFC 6698</a> (DANE TLSA) DNS records that contain
- digests of trust-anchors with certificate usage "2". Do not change
- this setting from its default value. </p>
- <p> This feature is available in Postfix 2.11 through 3.1. It has
- been withdrawn in Postfix 3.2, as trust-anchor TLSA records are now
- widely used and have proved sufficiently reliable. Postfix 3.2 and
- later ignore this configuration parameter and behaves as though it
- were set to "yes". </p>
- </DD>
- <DT><b><a name="tls_disable_workarounds">tls_disable_workarounds</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> List or bit-mask of OpenSSL bug work-arounds to disable. </p>
- <p> The OpenSSL toolkit includes a set of work-arounds for buggy SSL/TLS
- implementations. Applications, such as Postfix, that want to maximize
- interoperability ask the OpenSSL library to enable the full set of
- recommended work-arounds. </p>
- <p> From time to time, it is discovered that a work-around creates a
- security issue, and should no longer be used. If upgrading OpenSSL
- to a fixed version is not an option or an upgrade is not available
- in a timely manner, or in closed environments where no buggy clients
- or servers exist, it may be appropriate to disable some or all of the
- OpenSSL interoperability work-arounds. This parameter specifies which
- bug work-arounds to disable. </p>
- <p> If the value of the parameter is a hexadecimal long integer starting
- with "0x", the bug work-arounds corresponding to the bits specified in
- its value are removed from the <b>SSL_OP_ALL</b> work-around bit-mask
- (see openssl/ssl.h and SSL_CTX_set_options(3)). You can specify more
- bits than are present in SSL_OP_ALL, excess bits are ignored. Specifying
- 0xFFFFFFFF disables all bug-workarounds on a 32-bit system. This should
- also be sufficient on 64-bit systems, until OpenSSL abandons support
- for 32-bit systems and starts using the high 32 bits of a 64-bit
- bug-workaround mask. </p>
- <p> Otherwise, the parameter is a white-space or comma separated list
- of specific named bug work-arounds chosen from the list below. It
- is possible that your OpenSSL version includes new bug work-arounds
- added after your Postfix source code was last updated, in that case
- you can only disable one of these via the hexadecimal syntax above. </p>
- <dl>
- <dt><b>MICROSOFT_SESS_ID_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
- <dt><b>NETSCAPE_CHALLENGE_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
- <dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
- <dt><b>NETSCAPE_REUSE_CIPHER_CHANGE_BUG</b></dt> <dd> also aliased
- as <b>CVE-2010-4180</b>. Postfix 2.8 disables this work-around by
- default with OpenSSL versions that may predate the fix. Fixed in
- OpenSSL 0.9.8q and OpenSSL 1.0.0c.</dd>
- <dt><b>SSLREF2_REUSE_CERT_TYPE_BUG</b></dt> <dd>See
- SSL_CTX_set_options(3)</dd>
- <dt><b>MICROSOFT_BIG_SSLV3_BUFFER</b></dt> <dd>See
- SSL_CTX_set_options(3)</dd>
- <dt><b>MSIE_SSLV2_RSA_PADDING</b></dt> <dd> also aliased as
- <b>CVE-2005-2969</b>. Postfix 2.8 disables this work-around by
- default with OpenSSL versions that may predate the fix. Fixed in
- OpenSSL 0.9.7h and OpenSSL 0.9.8a.</dd>
- <dt><b>SSLEAY_080_CLIENT_DH_BUG</b></dt> <dd>See
- SSL_CTX_set_options(3)</dd>
- <dt><b>TLS_D5_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
- <dt><b>TLS_BLOCK_PADDING_BUG</b></dt> <dd>See SSL_CTX_set_options(3)</dd>
- <dt><b>TLS_ROLLBACK_BUG</b></dt> <dd>See SSL_CTX_set_options(3).
- This is disabled in OpenSSL 0.9.7 and later. Nobody should still
- be using 0.9.6! </dd>
- <dt><b>DONT_INSERT_EMPTY_FRAGMENTS</b></dt> <dd>See
- SSL_CTX_set_options(3)</dd>
- <dt><b>CRYPTOPRO_TLSEXT_BUG</b></dt> <dd>New with GOST support in
- OpenSSL 1.0.0.</dd>
- </dl>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tls_eecdh_auto_curves">tls_eecdh_auto_curves</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The prioritized list of elliptic curves supported by the Postfix
- SMTP client and server. These curves are used by the Postfix SMTP
- server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = auto". The selected curves
- must be implemented by OpenSSL and be standardized for use in TLS
- (<a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a> or its imminent successor). It is unwise to list only
- "bleeding-edge" curves supported by a small subset of clients. The
- default list is suitable for most users. </p>
- <p> Postfix skips curve names that are unknown to OpenSSL, or that
- are known but not yet implemented. This makes it possible to
- "anticipate" support for curves that should be used once they become
- available. In particular, in some OpenSSL versions, the new <a href="http://tools.ietf.org/html/rfc8031">RFC</a>
- <a href="http://tools.ietf.org/html/rfc8031">8031</a> curves "X25519" and "X448" may be known by name, but ECDH
- support for either or both may be missing. These curves may appear
- in the default value of this parameter, even though they'll only
- be usable with later versions of OpenSSL. </p>
- <p> This feature is available in Postfix 3.2 and later, when it is
- compiled and linked with OpenSSL 1.0.2 or later on platforms where
- EC algorithms have not been disabled by the vendor. </p>
- </DD>
- <DT><b><a name="tls_eecdh_strong_curve">tls_eecdh_strong_curve</a>
- (default: prime256v1)</b></DT><DD>
- <p> The elliptic curve used by the Postfix SMTP server for sensibly
- strong
- ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
- server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The phrase "sensibly
- strong" means approximately 128-bit security based on best known
- attacks. The selected curve must be implemented by OpenSSL (as
- reported by ecparam(1) with the "-list_curves" option) and be one
- of the curves listed in Section 5.1.1 of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not
- generally change this setting. Remote SMTP client implementations
- must support this curve for EECDH key exchange to take place. It
- is unwise to choose an "bleeding-edge" curve supported by only a
- small subset of clients. </p>
- <p> The default "strong" curve is rated in NSA <a
- href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
- B</a> for information classified up to SECRET. </p>
- <p> Note: elliptic curve names are poorly standardized; different
- standards groups are assigning different names to the same underlying
- curves. The curve with the X9.62 name "prime256v1" is also known
- under the SECG name "secp256r1", but OpenSSL does not recognize the
- latter name. </p>
- <p> If you want to take maximal advantage of ciphers that offer <a
- href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
- the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
- started</a> section of <a
- href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The
- full document conveniently presents all information about Postfix
- "perfect" forward secrecy support in one place: what forward secrecy
- is, how to tweak settings, and what you can expect to see when
- Postfix uses ciphers with forward secrecy. </p>
- <p> This feature is available in Postfix 2.6 and later, when it is
- compiled and linked with OpenSSL 1.0.0 or later on platforms where
- EC algorithms have not been disabled by the vendor. </p>
- </DD>
- <DT><b><a name="tls_eecdh_ultra_curve">tls_eecdh_ultra_curve</a>
- (default: secp384r1)</b></DT><DD>
- <p> The elliptic curve used by the Postfix SMTP server for maximally
- strong
- ephemeral ECDH key exchange. This curve is used by the Postfix SMTP
- server when "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = ultra". The phrase "maximally
- strong" means approximately 192-bit security based on best known attacks.
- This additional strength comes at a significant computational cost, most
- users should instead set "<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> = strong". The selected
- curve must be implemented by OpenSSL (as reported by ecparam(1) with the
- "-list_curves" option) and be one of the curves listed in Section 5.1.1
- of <a href="http://tools.ietf.org/html/rfc4492">RFC 4492</a>. You should not generally change this setting. </p>
- <p> This default "ultra" curve is rated in NSA <a
- href="http://www.nsa.gov/ia/programs/suiteb_cryptography/">Suite
- B</a> for information classified up to TOP SECRET. </p>
- <p> If you want to take maximal advantage of ciphers that offer <a
- href="FORWARD_SECRECY_README.html#dfn_fs">forward secrecy</a> see
- the <a href="FORWARD_SECRECY_README.html#quick-start">Getting
- started</a> section of <a
- href="FORWARD_SECRECY_README.html">FORWARD_SECRECY_README</a>. The
- full document conveniently presents all information about Postfix
- "perfect" forward secrecy support in one place: what forward secrecy
- is, how to tweak settings, and what you can expect to see when
- Postfix uses ciphers with forward secrecy. </p>
- <p> This feature is available in Postfix 2.6 and later, when it is
- compiled and linked with OpenSSL 1.0.0 or later on platforms where
- EC algorithms have not been disabled by the vendor. </p>
- </DD>
- <DT><b><a name="tls_export_cipherlist">tls_export_cipherlist</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The OpenSSL cipherlist for "export" or higher grade ciphers. This
- defines the meaning of the "export" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
- <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
- <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. With Postfix
- releases before the middle of 2015 this is the default cipherlist
- for the opportunistic ("may") TLS client security level and also
- the default cipherlist for the SMTP server. You are strongly
- encouraged to not change this setting. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="tls_high_cipherlist">tls_high_cipherlist</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The OpenSSL cipherlist for "high" grade ciphers. This defines
- the meaning of the "high" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
- <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
- <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly
- encouraged to not change this setting. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="tls_legacy_public_key_fingerprints">tls_legacy_public_key_fingerprints</a>
- (default: no)</b></DT><DD>
- <p> A temporary migration aid for sites that use certificate
- <i>public-key</i> fingerprints with Postfix 2.9.0..2.9.5, which use
- an incorrect algorithm. This parameter has no effect on the certificate
- fingerprint support that is available since Postfix 2.2. </p>
- <p> Specify "<a href="postconf.5.html#tls_legacy_public_key_fingerprint">tls_legacy_public_key_fingerprints</a> = yes" temporarily,
- pending a migration from configuration files with incorrect Postfix
- 2.9.0..2.9.5 certificate public-key finger prints, to the correct
- fingerprints used by Postfix 2.9.6 and later. To compute the correct
- certificate public-key fingerprints, see <a href="TLS_README.html">TLS_README</a>. </p>
- <p> This feature is available in Postfix 2.9.6 and later. </p>
- </DD>
- <DT><b><a name="tls_low_cipherlist">tls_low_cipherlist</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The OpenSSL cipherlist for "low" or higher grade ciphers. This defines
- the meaning of the "low" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
- <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
- <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly
- encouraged to not change this setting. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="tls_medium_cipherlist">tls_medium_cipherlist</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The OpenSSL cipherlist for "medium" or higher grade ciphers. This
- defines the meaning of the "medium" setting in <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>,
- <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>, <a href="postconf.5.html#smtp_tls_ciphers">smtp_tls_ciphers</a>, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a>,
- <a href="postconf.5.html#lmtp_tls_ciphers">lmtp_tls_ciphers</a>, and <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. This is the
- default cipherlist for mandatory TLS encryption in the TLS client
- (with anonymous ciphers disabled when verifying server certificates).
- This is the default cipherlist for opportunistic TLS with Postfix
- releases after the middle of 2015. You are strongly encouraged to
- not change this setting. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="tls_null_cipherlist">tls_null_cipherlist</a>
- (default: eNULL:!aNULL)</b></DT><DD>
- <p> The OpenSSL cipherlist for "NULL" grade ciphers that provide
- authentication without encryption. This defines the meaning of the "null"
- setting in smtpd_mandatory_tls_ciphers, <a href="postconf.5.html#smtp_tls_mandatory_ciphers">smtp_tls_mandatory_ciphers</a> and
- <a href="postconf.5.html#lmtp_tls_mandatory_ciphers">lmtp_tls_mandatory_ciphers</a>. You are strongly encouraged to not
- change this setting. </p>
- <p> This feature is available in Postfix 2.3 and later. </p>
- </DD>
- <DT><b><a name="tls_preempt_cipherlist">tls_preempt_cipherlist</a>
- (default: no)</b></DT><DD>
- <p> With SSLv3 and later, use the Postfix SMTP server's cipher
- preference order instead of the remote client's cipher preference
- order. </p>
- <p> By default, the OpenSSL server selects the client's most preferred
- cipher that the server supports. With SSLv3 and later, the server may
- choose its own most preferred cipher that is supported (offered) by
- the client. Setting "<a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> = yes" enables server cipher
- preferences. </p>
- <p> While server cipher selection may in some cases lead to a more secure
- or performant cipher choice, there is some risk of interoperability
- issues. In the past, some SSL clients have listed lower priority ciphers
- that they did not implement correctly. If the server chooses a cipher
- that the client prefers less, it may select a cipher whose client
- implementation is flawed. Most notably Windows 2003 Microsoft
- Exchange servers have flawed implementations of DES-CBC3-SHA, which
- OpenSSL considers stronger than RC4-SHA. Enabling server cipher-suite
- selection may create interoperability issues with Windows 2003
- Microsoft Exchange clients. </p>
- <p> This feature is available in Postfix 2.8 and later, in combination
- with OpenSSL 0.9.7 and later. </p>
- </DD>
- <DT><b><a name="tls_random_bytes">tls_random_bytes</a>
- (default: 32)</b></DT><DD>
- <p> The number of bytes that <a href="tlsmgr.8.html">tlsmgr(8)</a> reads from $<a href="postconf.5.html#tls_random_source">tls_random_source</a>
- when (re)seeding the in-memory pseudo random number generator (PRNG)
- pool. The default of 32 bytes (256 bits) is good enough for 128bit
- symmetric keys. If using EGD or a device file, a maximum of 255
- bytes is read. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="tls_random_exchange_name">tls_random_exchange_name</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> Name of the pseudo random number generator (PRNG) state file
- that is maintained by <a href="tlsmgr.8.html">tlsmgr(8)</a>. The file is created when it does
- not exist, and its length is fixed at 1024 bytes. </p>
- <p> As of version 2.5, Postfix no longer uses root privileges when
- opening this file, and the default file location was changed from
- ${<a href="postconf.5.html#config_directory">config_directory</a>}/prng_exch to ${<a href="postconf.5.html#data_directory">data_directory</a>}/prng_exch. As
- a migration aid, an attempt to open the file under a non-Postfix
- directory is redirected to the Postfix-owned <a href="postconf.5.html#data_directory">data_directory</a>, and a
- warning is logged. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="tls_random_prng_update_period">tls_random_prng_update_period</a>
- (default: 3600s)</b></DT><DD>
- <p> The time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to save the state of
- the pseudo random number generator (PRNG) to the file specified
- with $<a href="postconf.5.html#tls_random_exchange_name">tls_random_exchange_name</a>. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="tls_random_reseed_period">tls_random_reseed_period</a>
- (default: 3600s)</b></DT><DD>
- <p> The maximal time between attempts by <a href="tlsmgr.8.html">tlsmgr(8)</a> to re-seed the
- in-memory pseudo random number generator (PRNG) pool from external
- sources. The actual time between re-seeding attempts is calculated
- using the PRNG, and is between 0 and the time specified. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="tls_random_source">tls_random_source</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p> The external entropy source for the in-memory <a href="tlsmgr.8.html">tlsmgr(8)</a> pseudo
- random number generator (PRNG) pool. Be sure to specify a non-blocking
- source. If this source is not a regular file, the entropy source
- type must be prepended: egd:/path/to/egd_socket for a source with
- EGD compatible socket interface, or dev:/path/to/device for a
- device file. </p>
- <p> Note: on OpenBSD systems specify /dev/arandom when /dev/urandom
- gives timeout errors. </p>
- <p> This feature is available in Postfix 2.2 and later. </p>
- </DD>
- <DT><b><a name="tls_session_ticket_cipher">tls_session_ticket_cipher</a>
- (default: Postfix ≥ 3.0: aes-256-cbc, Postfix < 3.0: aes-128-cbc)</b></DT><DD>
- <p> Algorithm used to encrypt <a href="http://tools.ietf.org/html/rfc5077">RFC5077</a> TLS session tickets. This
- algorithm must use CBC mode, have a 128-bit block size, and must
- have a key length between 128 and 256 bits. The default is
- aes-256-cbc. Overriding the default to choose a different algorithm
- is discouraged. </p>
- <p> Setting this parameter empty disables session ticket support
- in the Postfix SMTP server. Another way to disable session ticket
- support is via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="tls_ssl_options">tls_ssl_options</a>
- (default: empty)</b></DT><DD>
- <p> List or bit-mask of OpenSSL options to enable. </p>
- <p> The OpenSSL toolkit provides a set of options that applications
- can enable to tune the OpenSSL behavior. Some of these work around
- bugs in other implementations and are on by default. You can use
- the <a href="postconf.5.html#tls_disable_workarounds">tls_disable_workarounds</a> parameter to selectively disable some
- or all of the bug work-arounds, making OpenSSL more strict at the
- cost of non-interoperability with SSL clients or servers that exhibit
- the bugs. </p>
- <p> Other options are off by default, and typically enable or disable
- features rather than bug work-arounds. These may be turned on (with
- care) via the <a href="postconf.5.html#tls_ssl_options">tls_ssl_options</a> parameter. The value is a white-space
- or comma separated list of named options chosen from the list below.
- The names are not case-sensitive, you can use lower-case if you
- prefer. The upper case values below match the corresponding macro
- name in the ssl.h header file with the SSL_OP_ prefix removed. It
- is possible that your OpenSSL version includes new options added
- after your Postfix source code was last updated, in that case you
- can only enable one of these via the hexadecimal syntax below. </p>
- <p> You should only enable features via the hexadecimal mask when
- the need to control the feature is critical (to deal with a new
- vulnerability or a serious interoperability problem). Postfix DOES
- NOT promise backwards compatible behavior with respect to the mask
- bits. A feature enabled via the mask in one release may be enabled
- by other means in a later release, and the mask bit will then be
- ignored. Therefore, use of the hexadecimal mask is only a temporary
- measure until a new Postfix or OpenSSL release provides a better
- solution. </p>
- <p> If the value of the parameter is a hexadecimal long integer
- starting with "0x", the options corresponding to the bits specified
- in its value are enabled (see openssl/ssl.h and SSL_CTX_set_options(3)).
- You can only enable options not already controlled by other Postfix
- settings. For example, you cannot disable protocols or enable
- server cipher preference. Do not attempt to turn all features by
- specifying 0xFFFFFFFF, this is unlikely to be a good idea. </p>
- <dl>
- <dt><b>LEGACY_SERVER_CONNECT</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
- <dt><b>NO_TICKET</b></dt> <dd>See SSL_CTX_set_options(3).</dd>
- <dt><b>NO_COMPRESSION</b></dt> <dd>Disable SSL compression even if
- supported by the OpenSSL library. Compression is CPU-intensive,
- and compression before encryption does not always improve security. </dd>
- </dl>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a>
- (default: yes)</b></DT><DD>
- <p> Match multiple DNS labels with "*" in wildcard certificates.
- </p>
- <p> Some mail service providers prepend the customer domain name
- to a base domain for which they have a wildcard TLS certificate.
- For example, the MX records for example.com hosted by example.net
- may be: </p>
- <blockquote>
- <pre>
- example.com. IN MX 0 example.com.mx1.example.net.
- example.com. IN MX 0 example.com.mx2.example.net.
- </pre>
- </blockquote>
- <p> and the TLS certificate may be for "*.example.net". The "*"
- then corresponds with multiple labels in the mail server domain
- name. While multi-label wildcards are not widely supported, and
- are not blessed by any standard, there is little to be gained by
- disallowing their use in this context. </p>
- <p> Notes: <p>
- <ul>
- <li> <p> In a certificate name, the "*" is special only when it is
- used as the first label. </p>
- <li> <p> While Postfix (2.11 or later) can match "*" with multiple
- domain name labels, other implementations likely will not. </p>
- <li> <p> Earlier Postfix implementations behave as if
- "<a href="postconf.5.html#tls_wildcard_matches_multiple_labels">tls_wildcard_matches_multiple_labels</a> = no". </p>
- </ul>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="tlsmgr_service_name">tlsmgr_service_name</a>
- (default: tlsmgr)</b></DT><DD>
- <p> The name of the <a href="tlsmgr.8.html">tlsmgr(8)</a> service entry in <a href="master.5.html">master.cf</a>. This
- service maintains TLS session caches and other information in support
- of TLS. </p>
- <p> This feature is available in Postfix 2.11 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_enforce_tls">tlsproxy_enforce_tls</a>
- (default: $<a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>)</b></DT><DD>
- <p> Mandatory TLS: announce STARTTLS support to remote SMTP clients, and
- require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a> for
- further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_service_name">tlsproxy_service_name</a>
- (default: tlsproxy)</b></DT><DD>
- <p> The name of the <a href="tlsproxy.8.html">tlsproxy(8)</a> service entry in <a href="master.5.html">master.cf</a>. This
- service performs plaintext <=> TLS ciphertext conversion. <p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_CAfile">tlsproxy_tls_CAfile</a>
- (default: $<a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a>)</b></DT><DD>
- <p> A file containing (PEM format) CA certificates of root CAs
- trusted to sign either remote SMTP client certificates or intermediate
- CA certificates. See <a href="postconf.5.html#smtpd_tls_CAfile">smtpd_tls_CAfile</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_CApath">tlsproxy_tls_CApath</a>
- (default: $<a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a>)</b></DT><DD>
- <p> A directory containing (PEM format) CA certificates of root CAs
- trusted to sign either remote SMTP client certificates or intermediate
- CA certificates. See <a href="postconf.5.html#smtpd_tls_CApath">smtpd_tls_CApath</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_always_issue_session_ids">tlsproxy_tls_always_issue_session_ids</a>
- (default: $<a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a>)</b></DT><DD>
- <p> Force the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server to issue a TLS session id,
- even when TLS session caching is turned off. See
- <a href="postconf.5.html#smtpd_tls_always_issue_session_ids">smtpd_tls_always_issue_session_ids</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_ask_ccert">tlsproxy_tls_ask_ccert</a>
- (default: $<a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a>)</b></DT><DD>
- <p> Ask a remote SMTP client for a client certificate. See
- <a href="postconf.5.html#smtpd_tls_ask_ccert">smtpd_tls_ask_ccert</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_ccert_verifydepth">tlsproxy_tls_ccert_verifydepth</a>
- (default: $<a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a>)</b></DT><DD>
- <p> The verification depth for remote SMTP client certificates. A
- depth of 1 is sufficient if the issuing CA is listed in a local CA
- file. See <a href="postconf.5.html#smtpd_tls_ccert_verifydepth">smtpd_tls_ccert_verifydepth</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_cert_file">tlsproxy_tls_cert_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>)</b></DT><DD>
- <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA certificate in PEM
- format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
- private RSA key. See <a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_ciphers">tlsproxy_tls_ciphers</a>
- (default: $<a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>)</b></DT><DD>
- <p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
- will use with opportunistic TLS encryption. See <a href="postconf.5.html#smtpd_tls_ciphers">smtpd_tls_ciphers</a>
- for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_dcert_file">tlsproxy_tls_dcert_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>)</b></DT><DD>
- <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA certificate in PEM
- format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
- private DSA key. See <a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a> for further details.
- </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_dh1024_param_file">tlsproxy_tls_dh1024_param_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>)</b></DT><DD>
- <p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
- should use with non-export EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh1024_param_file">smtpd_tls_dh1024_param_file</a>
- for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_dh512_param_file">tlsproxy_tls_dh512_param_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>)</b></DT><DD>
- <p> File with DH parameters that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
- should use with export-grade EDH ciphers. See <a href="postconf.5.html#smtpd_tls_dh512_param_file">smtpd_tls_dh512_param_file</a>
- for further details. The default SMTP server cipher grade is
- "medium" with Postfix releases after the middle of 2015, and as a
- result export-grade cipher suites are by default not used. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_dkey_file">tlsproxy_tls_dkey_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a>)</b></DT><DD>
- <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server DSA private key in PEM
- format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
- server DSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_dcert_file">smtpd_tls_dcert_file</a>.
- See <a href="postconf.5.html#smtpd_tls_dkey_file">smtpd_tls_dkey_file</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_eccert_file">tlsproxy_tls_eccert_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>)</b></DT><DD>
- <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA certificate in
- PEM format. This file may also contain the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
- server private ECDSA key. See <a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a> for further
- details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_eckey_file">tlsproxy_tls_eckey_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a>)</b></DT><DD>
- <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server ECDSA private key in
- PEM format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
- server ECDSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_eccert_file">smtpd_tls_eccert_file</a>.
- See <a href="postconf.5.html#smtpd_tls_eckey_file">smtpd_tls_eckey_file</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_eecdh_grade">tlsproxy_tls_eecdh_grade</a>
- (default: $<a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a>)</b></DT><DD>
- <p> The Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server security grade for ephemeral
- elliptic-curve Diffie-Hellman (EECDH) key exchange. See
- <a href="postconf.5.html#smtpd_tls_eecdh_grade">smtpd_tls_eecdh_grade</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_exclude_ciphers">tlsproxy_tls_exclude_ciphers</a>
- (default: $<a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a>)</b></DT><DD>
- <p> List of ciphers or cipher types to exclude from the <a href="tlsproxy.8.html">tlsproxy(8)</a>
- server cipher list at all TLS security levels. See
- <a href="postconf.5.html#smtpd_tls_exclude_ciphers">smtpd_tls_exclude_ciphers</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_fingerprint_digest">tlsproxy_tls_fingerprint_digest</a>
- (default: $<a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>)</b></DT><DD>
- <p> The message digest algorithm to construct remote SMTP
- client-certificate
- fingerprints. See <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> for further details.
- </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_key_file">tlsproxy_tls_key_file</a>
- (default: $<a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a>)</b></DT><DD>
- <p> File with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server RSA private key in PEM
- format. This file may be combined with the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a>
- server RSA certificate file specified with $<a href="postconf.5.html#smtpd_tls_cert_file">smtpd_tls_cert_file</a>.
- See <a href="postconf.5.html#smtpd_tls_key_file">smtpd_tls_key_file</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_loglevel">tlsproxy_tls_loglevel</a>
- (default: $<a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a>)</b></DT><DD>
- <p> Enable additional Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server logging of TLS
- activity. Each logging level also includes the information that
- is logged at a lower logging level. See <a href="postconf.5.html#smtpd_tls_loglevel">smtpd_tls_loglevel</a> for
- further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_mandatory_ciphers">tlsproxy_tls_mandatory_ciphers</a>
- (default: $<a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>)</b></DT><DD>
- <p> The minimum TLS cipher grade that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
- will use with mandatory TLS encryption. See <a href="postconf.5.html#smtpd_tls_mandatory_ciphers">smtpd_tls_mandatory_ciphers</a>
- for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_mandatory_exclude_ciphers">tlsproxy_tls_mandatory_exclude_ciphers</a>
- (default: $<a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a>)</b></DT><DD>
- <p> Additional list of ciphers or cipher types to exclude from the
- <a href="tlsproxy.8.html">tlsproxy(8)</a> server cipher list at mandatory TLS security levels.
- See <a href="postconf.5.html#smtpd_tls_mandatory_exclude_ciphers">smtpd_tls_mandatory_exclude_ciphers</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_mandatory_protocols">tlsproxy_tls_mandatory_protocols</a>
- (default: $<a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a>)</b></DT><DD>
- <p> The SSL/TLS protocols accepted by the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server
- with mandatory TLS encryption. If the list is empty, the server
- supports all available SSL/TLS protocol versions. See
- <a href="postconf.5.html#smtpd_tls_mandatory_protocols">smtpd_tls_mandatory_protocols</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_protocols">tlsproxy_tls_protocols</a>
- (default: $<a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a>)</b></DT><DD>
- <p> List of TLS protocols that the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server will
- exclude or include with opportunistic TLS encryption. See
- <a href="postconf.5.html#smtpd_tls_protocols">smtpd_tls_protocols</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_req_ccert">tlsproxy_tls_req_ccert</a>
- (default: $<a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a>)</b></DT><DD>
- <p> With mandatory TLS encryption, require a trusted remote SMTP
- client certificate in order to allow TLS connections to proceed.
- See <a href="postconf.5.html#smtpd_tls_req_ccert">smtpd_tls_req_ccert</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_security_level">tlsproxy_tls_security_level</a>
- (default: $<a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a>)</b></DT><DD>
- <p> The SMTP TLS security level for the Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server;
- when a non-empty value is specified, this overrides the obsolete
- parameters <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a> and <a href="postconf.5.html#smtpd_enforce_tls">smtpd_enforce_tls</a>. See
- <a href="postconf.5.html#smtpd_tls_security_level">smtpd_tls_security_level</a> for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_tls_session_cache_timeout">tlsproxy_tls_session_cache_timeout</a>
- (default: $<a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>)</b></DT><DD>
- <p> Obsolete expiration time of Postfix <a href="tlsproxy.8.html">tlsproxy(8)</a> server TLS session
- cache information. Since the cache is shared with <a href="smtpd.8.html">smtpd(8)</a> and managed
- by <a href="tlsmgr.8.html">tlsmgr(8)</a>, there is only one expiration time for the SMTP server cache
- shared by all three services, namely <a href="postconf.5.html#smtpd_tls_session_cache_timeout">smtpd_tls_session_cache_timeout</a>. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_use_tls">tlsproxy_use_tls</a>
- (default: $<a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>)</b></DT><DD>
- <p> Opportunistic TLS: announce STARTTLS support to remote SMTP clients,
- but do not require that clients use TLS encryption. See <a href="postconf.5.html#smtpd_use_tls">smtpd_use_tls</a>
- for further details. </p>
- <p> This feature is available in Postfix 2.8 and later. </p>
- </DD>
- <DT><b><a name="tlsproxy_watchdog_timeout">tlsproxy_watchdog_timeout</a>
- (default: 10s)</b></DT><DD>
- <p> How much time a <a href="tlsproxy.8.html">tlsproxy(8)</a> process may take to process local
- or remote I/O before it is terminated by a built-in watchdog timer.
- This is a safety mechanism that prevents <a href="tlsproxy.8.html">tlsproxy(8)</a> from becoming
- non-responsive due to a bug in Postfix itself or in system software.
- To avoid false alarms and unnecessary cache corruption this limit
- cannot be set under 10s. </p>
- <p> Specify a non-zero time value (an integral value plus an optional
- one-letter suffix that specifies the time unit). Time units: s
- (seconds), m (minutes), h (hours), d (days), w (weeks). </p>
- <p> This feature is available in Postfix 2.8. </p>
- </DD>
- <DT><b><a name="trace_service_name">trace_service_name</a>
- (default: trace)</b></DT><DD>
- <p>
- The name of the trace service. This service is implemented by the
- <a href="bounce.8.html">bounce(8)</a> daemon and maintains a record
- of mail deliveries and produces a mail delivery report when verbose
- delivery is requested with "<b>sendmail -v</b>".
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="transport_delivery_slot_cost">transport_delivery_slot_cost</a>
- (default: $<a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_cost">default_delivery_slot_cost</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: <a href="postconf.5.html#transport_delivery_slot_cost"><i>transport</i>_delivery_slot_cost</a> parameters will not
- show up in "postconf" command output before Postfix version 2.9.
- This limitation applies to many parameters whose name is a combination
- of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
- "_delivery_slot_cost"). </p>
- </DD>
- <DT><b><a name="transport_delivery_slot_discount">transport_delivery_slot_discount</a>
- (default: $<a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_discount">default_delivery_slot_discount</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: <a href="postconf.5.html#transport_delivery_slot_discount"><i>transport</i>_delivery_slot_discount</a> parameters will
- not show up in "postconf" command output before Postfix version
- 2.9. This limitation applies to many parameters whose name is a
- combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
- this case: "_delivery_slot_discount"). </p>
- </DD>
- <DT><b><a name="transport_delivery_slot_loan">transport_delivery_slot_loan</a>
- (default: $<a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_delivery_slot_loan">default_delivery_slot_loan</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: <a href="postconf.5.html#transport_delivery_slot_loan"><i>transport</i>_delivery_slot_loan</a> parameters will not
- show up in "postconf" command output before Postfix version 2.9.
- This limitation applies to many parameters whose name is a combination
- of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
- "_delivery_slot_loan"). </p>
- </DD>
- <DT><b><a name="transport_destination_concurrency_failed_cohort_limit">transport_destination_concurrency_failed_cohort_limit</a>
- (default: $<a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a>)</b></DT><DD>
- <p> A transport-specific override for the
- <a href="postconf.5.html#default_destination_concurrency_failed_cohort_limit">default_destination_concurrency_failed_cohort_limit</a> parameter value,
- where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
- transport. </p>
- <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_failed_cohort_limit"><i>transport</i>_destination_concurrency_failed_cohort_limit</a>
- parameters will not show up in "postconf" command output before
- Postfix version 2.9. This limitation applies to many parameters
- whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
- built-in suffix (in this case:
- "_destination_concurrency_failed_cohort_limit"). </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="transport_destination_concurrency_limit">transport_destination_concurrency_limit</a>
- (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
- <p> A transport-specific override for the
- <a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a> parameter value, where
- <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
- transport. </p>
- <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a>
- parameters will not show up in "postconf" command output before
- Postfix version 2.9. This limitation applies to many parameters
- whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
- built-in suffix (in this case: "_destination_concurrency_limit").
- </p>
- </DD>
- <DT><b><a name="transport_destination_concurrency_negative_feedback">transport_destination_concurrency_negative_feedback</a>
- (default: $<a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a>)</b></DT><DD>
- <p> A transport-specific override for the
- <a href="postconf.5.html#default_destination_concurrency_negative_feedback">default_destination_concurrency_negative_feedback</a> parameter value,
- where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
- transport. </p>
- <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_negative_feedback"><i>transport</i>_destination_concurrency_negative_feedback</a>
- parameters will not show up in "postconf" command output before
- Postfix version 2.9. This limitation applies to many parameters
- whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
- built-in suffix (in this case:
- "_destination_concurrency_negative_feedback"). </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="transport_destination_concurrency_positive_feedback">transport_destination_concurrency_positive_feedback</a>
- (default: $<a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a>)</b></DT><DD>
- <p> A transport-specific override for the
- <a href="postconf.5.html#default_destination_concurrency_positive_feedback">default_destination_concurrency_positive_feedback</a> parameter value,
- where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
- transport. </p>
- <p> Note: some <a href="postconf.5.html#transport_destination_concurrency_positive_feedback"><i>transport</i>_destination_concurrency_positive_feedback</a>
- parameters will not show up in "postconf" command output before
- Postfix version 2.9. This limitation applies to many parameters
- whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
- built-in suffix (in this case:
- "_destination_concurrency_positive_feedback"). </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="transport_destination_rate_delay">transport_destination_rate_delay</a>
- (default: $<a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_destination_rate_delay">default_destination_rate_delay</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: some <a href="postconf.5.html#transport_destination_rate_delay"><i>transport</i>_destination_rate_delay</a> parameters
- will not show up in "postconf" command output before Postfix version
- 2.9. This limitation applies to many parameters whose name is a
- combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
- this case: "_destination_rate_delay"). </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="transport_destination_recipient_limit">transport_destination_recipient_limit</a>
- (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
- <p> A transport-specific override for the
- <a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a> parameter value, where
- <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message delivery
- transport. </p>
- <p> Note: some <a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> parameters
- will not show up in "postconf" command output before Postfix version
- 2.9. This limitation applies to many parameters whose name is a
- combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
- this case: "_destination_recipient_limit"). </p>
- </DD>
- <DT><b><a name="transport_extra_recipient_limit">transport_extra_recipient_limit</a>
- (default: $<a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_extra_recipient_limit">default_extra_recipient_limit</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: <a href="postconf.5.html#transport_extra_recipient_limit"><i>transport</i>_extra_recipient_limit</a> parameters will
- not show up in "postconf" command output before Postfix version
- 2.9. This limitation applies to many parameters whose name is a
- combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
- this case: "_extra_recipient_limit"). </p>
- </DD>
- <DT><b><a name="transport_initial_destination_concurrency">transport_initial_destination_concurrency</a>
- (default: $<a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#initial_destination_concurrency">initial_destination_concurrency</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: some <a href="postconf.5.html#transport_initial_destination_concurrency"><i>transport</i>_initial_destination_concurrency</a>
- parameters will not show up in "postconf" command output before
- Postfix version 2.9. This limitation applies to many parameters
- whose name is a combination of a <a href="master.5.html">master.cf</a> service name and a
- built-in suffix (in this case: "_initial_destination_concurrency").
- </p>
- <p> This feature is available in Postfix 2.5 and later. </p>
- </DD>
- <DT><b><a name="transport_maps">transport_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional lookup tables with mappings from recipient address to
- (message delivery transport, next-hop destination). See <a href="transport.5.html">transport(5)</a>
- for details.
- </p>
- <p>
- Specify zero or more "<a href="DATABASE_README.html">type:table</a>" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found. If you use this
- feature with local files, run "<b>postmap /etc/postfix/transport</b>"
- after making a change. </p>
- <p> Pattern matching of domain names is controlled by the presence
- or absence of "<a href="postconf.5.html#transport_maps">transport_maps</a>" in the <a href="postconf.5.html#parent_domain_matches_subdomains">parent_domain_matches_subdomains</a>
- parameter value. </p>
- <p> For safety reasons, as of Postfix 2.3 this feature does not
- allow $number substitutions in regular expression maps. </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/transport
- <a href="postconf.5.html#transport_maps">transport_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/transport
- </pre>
- </DD>
- <DT><b><a name="transport_minimum_delivery_slots">transport_minimum_delivery_slots</a>
- (default: $<a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_minimum_delivery_slots">default_minimum_delivery_slots</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: <a href="postconf.5.html#transport_minimum_delivery_slots"><i>transport</i>_minimum_delivery_slots</a> parameters will
- not show up in "postconf" command output before Postfix version
- 2.9. This limitation applies to many parameters whose name is a
- combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
- this case: "_minimum_delivery_slots"). </p>
- </DD>
- <DT><b><a name="transport_recipient_limit">transport_recipient_limit</a>
- (default: $<a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_recipient_limit">default_recipient_limit</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: some <a href="postconf.5.html#transport_recipient_limit"><i>transport</i>_recipient_limit</a> parameters will not
- show up in "postconf" command output before Postfix version 2.9.
- This limitation applies to many parameters whose name is a combination
- of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
- "_recipient_limit"). </p>
- </DD>
- <DT><b><a name="transport_recipient_refill_delay">transport_recipient_refill_delay</a>
- (default: $<a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_delay">default_recipient_refill_delay</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: <a href="postconf.5.html#transport_recipient_refill_delay"><i>transport</i>_recipient_refill_delay</a> parameters will
- not show up in "postconf" command output before Postfix version
- 2.9. This limitation applies to many parameters whose name is a
- combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
- this case: "_recipient_refill_delay"). </p>
- <p> This feature is available in Postfix 2.4 and later. </p>
- </DD>
- <DT><b><a name="transport_recipient_refill_limit">transport_recipient_refill_limit</a>
- (default: $<a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_recipient_refill_limit">default_recipient_refill_limit</a>
- parameter value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of
- the message delivery transport. </p>
- <p> Note: <a href="postconf.5.html#transport_recipient_refill_limit"><i>transport</i>_recipient_refill_limit</a> parameters will
- not show up in "postconf" command output before Postfix version
- 2.9. This limitation applies to many parameters whose name is a
- combination of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in
- this case: "_recipient_refill_limit"). </p>
- <p> This feature is available in Postfix 2.4 and later. </p>
- </DD>
- <DT><b><a name="transport_retry_time">transport_retry_time</a>
- (default: 60s)</b></DT><DD>
- <p>
- The time between attempts by the Postfix queue manager to contact
- a malfunctioning message delivery transport.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="transport_time_limit">transport_time_limit</a>
- (default: $<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#command_time_limit">command_time_limit</a> parameter
- value, where <i>transport</i> is the <a href="master.5.html">master.cf</a> name of the message
- delivery transport. </p>
- <p> Note: <a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> parameters will not show up
- in "postconf" command output before Postfix version 2.9. This
- limitation applies to many parameters whose name is a combination
- of a <a href="master.5.html">master.cf</a> service name and a built-in suffix (in this case:
- "_time_limit"). </p>
- </DD>
- <DT><b><a name="transport_transport_rate_delay">transport_transport_rate_delay</a>
- (default: $<a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>)</b></DT><DD>
- <p> A transport-specific override for the <a href="postconf.5.html#default_transport_rate_delay">default_transport_rate_delay</a>
- parameter value, where the initial <i>transport</i> in the parameter
- name is the <a href="master.5.html">master.cf</a> name of the message delivery transport. </p>
- </DD>
- <DT><b><a name="trigger_timeout">trigger_timeout</a>
- (default: 10s)</b></DT><DD>
- <p>
- The time limit for sending a trigger to a Postfix daemon (for
- example, the <a href="pickup.8.html">pickup(8)</a> or <a href="qmgr.8.html">qmgr(8)</a> daemon). This time limit prevents
- programs from getting stuck when the mail system is under heavy
- load.
- </p>
- <p>
- Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks).
- The default time unit is s (seconds).
- </p>
- </DD>
- <DT><b><a name="undisclosed_recipients_header">undisclosed_recipients_header</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- Message header that the Postfix <a href="cleanup.8.html">cleanup(8)</a> server inserts when a
- message contains no To: or Cc: message header. With Postfix 2.8
- and later, the default value is empty. With Postfix 2.4-2.7,
- specify an empty value to disable this feature. </p>
- <p> Example: </p>
- <pre>
- # Default value before Postfix 2.8.
- # Note: the ":" and ";" are both required.
- <a href="postconf.5.html#undisclosed_recipients_header">undisclosed_recipients_header</a> = To: undisclosed-recipients:;
- </pre>
- </DD>
- <DT><b><a name="unknown_address_reject_code">unknown_address_reject_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical response code when the Postfix SMTP server rejects a
- sender or recipient address because its domain is unknown. This
- is one of the possible replies from the restrictions
- <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a> and <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a>.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- </DD>
- <DT><b><a name="unknown_address_tempfail_action">unknown_address_tempfail_action</a>
- (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
- <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_sender_domain">reject_unknown_sender_domain</a>
- or <a href="postconf.5.html#reject_unknown_recipient_domain">reject_unknown_recipient_domain</a> fail due to a temporary error
- condition. Specify "defer" to defer the remote SMTP client request
- immediately. With the default "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix
- SMTP server continues to look for opportunities to reject mail, and
- defers the client request only if it would otherwise be accepted.
- </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="unknown_client_reject_code">unknown_client_reject_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a client
- without valid address <=> name mapping is rejected by the
- <a href="postconf.5.html#reject_unknown_client_hostname">reject_unknown_client_hostname</a> restriction. The SMTP server always replies
- with 450 when the mapping failed due to a temporary error condition.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- </DD>
- <DT><b><a name="unknown_helo_hostname_tempfail_action">unknown_helo_hostname_tempfail_action</a>
- (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
- <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a>
- fails due to an temporary error condition. Specify "defer" to defer
- the remote SMTP client request immediately. With the default
- "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
- for opportunities to reject mail, and defers the client request
- only if it would otherwise be accepted. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="unknown_hostname_reject_code">unknown_hostname_reject_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when the hostname
- specified with the HELO or EHLO command is rejected by the
- <a href="postconf.5.html#reject_unknown_helo_hostname">reject_unknown_helo_hostname</a> restriction.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- </DD>
- <DT><b><a name="unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a>
- (default: 550)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a recipient
- address is local, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> specifies a list of
- lookup tables that does not match the recipient. A recipient
- address is local when its domain matches $<a href="postconf.5.html#mydestination">mydestination</a>,
- $<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> or $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a>.
- </p>
- <p>
- The default setting is 550 (reject mail) but it is safer to initially
- use 450 (try again later) so you have time to find out if your
- <a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> settings are OK.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#unknown_local_recipient_reject_code">unknown_local_recipient_reject_code</a> = 450
- </pre>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="unknown_relay_recipient_reject_code">unknown_relay_recipient_reject_code</a>
- (default: 550)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server reply code when a recipient
- address matches $<a href="postconf.5.html#relay_domains">relay_domains</a>, and <a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> specifies
- a list of lookup tables that does not match the recipient address.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="unknown_virtual_alias_reject_code">unknown_virtual_alias_reject_code</a>
- (default: 550)</b></DT><DD>
- <p>
- The Postfix SMTP server reply code when a recipient address matches
- $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, and $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> specifies a list
- of lookup tables that does not match the recipient address.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="unknown_virtual_mailbox_reject_code">unknown_virtual_mailbox_reject_code</a>
- (default: 550)</b></DT><DD>
- <p>
- The Postfix SMTP server reply code when a recipient address matches
- $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> specifies a list
- of lookup tables that does not match the recipient address.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="unverified_recipient_defer_code">unverified_recipient_defer_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response when a recipient address
- probe fails due to a temporary error condition.
- </p>
- <p>
- Unlike elsewhere in Postfix, you can specify 250 in order to
- accept the address anyway.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- <p>
- This feature is available in Postfix 2.6 and later.
- </p>
- </DD>
- <DT><b><a name="unverified_recipient_reject_code">unverified_recipient_reject_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response when a recipient address
- is rejected by the <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction.
- </p>
- <p>
- Unlike elsewhere in Postfix, you can specify 250 in order to
- accept the address anyway.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="unverified_recipient_reject_reason">unverified_recipient_reject_reason</a>
- (default: empty)</b></DT><DD>
- <p> The Postfix SMTP server's reply when rejecting mail with
- <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>. Do not include the numeric SMTP reply
- code or the enhanced status code. By default, the response includes
- actual address verification details.
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#unverified_recipient_reject_reason">unverified_recipient_reject_reason</a> = Recipient address lookup failed
- </pre>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="unverified_recipient_tempfail_action">unverified_recipient_tempfail_action</a>
- (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
- <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a>
- fails due to a temporary error condition. Specify "defer" to defer
- the remote SMTP client request immediately. With the default
- "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
- for opportunities to reject mail, and defers the client request
- only if it would otherwise be accepted. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="unverified_sender_defer_code">unverified_sender_defer_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a sender address
- probe fails due to a temporary error condition.
- </p>
- <p>
- Unlike elsewhere in Postfix, you can specify 250 in order to
- accept the address anyway.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- <p>
- This feature is available in Postfix 2.6 and later.
- </p>
- </DD>
- <DT><b><a name="unverified_sender_reject_code">unverified_sender_reject_code</a>
- (default: 450)</b></DT><DD>
- <p>
- The numerical Postfix SMTP server response code when a recipient
- address is rejected by the <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a> restriction.
- </p>
- <p>
- Unlike elsewhere in Postfix, you can specify 250 in order to
- accept the address anyway.
- </p>
- <p>
- Do not change this unless you have a complete understanding of <a href="http://tools.ietf.org/html/rfc5321">RFC 5321</a>.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="unverified_sender_reject_reason">unverified_sender_reject_reason</a>
- (default: empty)</b></DT><DD>
- <p> The Postfix SMTP server's reply when rejecting mail with
- <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>. Do not include the numeric SMTP reply
- code or the enhanced status code. By default, the response includes
- actual address verification details.
- <p> Example: </p>
- <pre>
- <a href="postconf.5.html#unverified_sender_reject_reason">unverified_sender_reject_reason</a> = Sender address lookup failed
- </pre>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="unverified_sender_tempfail_action">unverified_sender_tempfail_action</a>
- (default: $<a href="postconf.5.html#reject_tempfail_action">reject_tempfail_action</a>)</b></DT><DD>
- <p> The Postfix SMTP server's action when <a href="postconf.5.html#reject_unverified_sender">reject_unverified_sender</a>
- fails due to a temporary error condition. Specify "defer" to defer
- the remote SMTP client request immediately. With the default
- "<a href="postconf.5.html#defer_if_permit">defer_if_permit</a>" action, the Postfix SMTP server continues to look
- for opportunities to reject mail, and defers the client request
- only if it would otherwise be accepted. </p>
- <p> This feature is available in Postfix 2.6 and later. </p>
- </DD>
- <DT><b><a name="verp_delimiter_filter">verp_delimiter_filter</a>
- (default: -=+)</b></DT><DD>
- <p>
- The characters Postfix accepts as VERP delimiter characters on the
- Postfix <a href="sendmail.1.html">sendmail(1)</a> command line and in SMTP commands.
- </p>
- <p>
- This feature is available in Postfix 1.1 and later.
- </p>
- </DD>
- <DT><b><a name="virtual_alias_address_length_limit">virtual_alias_address_length_limit</a>
- (default: 1000)</b></DT><DD>
- <p>
- The maximal length of an email address after virtual alias expansion.
- This stops virtual aliasing loops that increase the address length
- exponentially.
- </p>
- <p>
- This feature is available in Postfix 3.0 and later.
- </p>
- </DD>
- <DT><b><a name="virtual_alias_domains">virtual_alias_domains</a>
- (default: $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b></DT><DD>
- <p> Postfix is final destination for the specified list of virtual
- alias domains, that is, domains for which all addresses are aliased
- to addresses in other local or remote domains. The SMTP server
- validates recipient addresses with $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> and rejects
- non-existent recipients. See also the <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> class
- in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file </p>
- <p>
- This feature is available in Postfix 2.0 and later. The default
- value is backwards compatible with Postfix version 1.1.
- </p>
- <p>
- The default value is $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> so that you can keep all
- information about <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a> in one place. If you have
- many users, it is better to separate information that changes more
- frequently (virtual address -> local or remote address mapping)
- from information that changes less frequently (the list of virtual
- domain names).
- </p>
- <p> Specify a list of host or domain names, "/file/name" or
- "<a href="DATABASE_README.html">type:table</a>" patterns, separated by commas and/or whitespace. A
- "/file/name" pattern is replaced by its contents; a "<a href="DATABASE_README.html">type:table</a>"
- lookup table is matched when a table entry matches a lookup string
- (the lookup result is ignored). Continue long lines by starting
- the next line with whitespace. Specify "!pattern" to exclude a host
- or domain name from the list. The form "!/file/name" is supported
- only in Postfix version 2.4 and later. </p>
- <p>
- See also the <a href="VIRTUAL_README.html">VIRTUAL_README</a> and <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> documents
- for further information.
- </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = virtual1.tld virtual2.tld
- </pre>
- </DD>
- <DT><b><a name="virtual_alias_expansion_limit">virtual_alias_expansion_limit</a>
- (default: 1000)</b></DT><DD>
- <p>
- The maximal number of addresses that virtual alias expansion produces
- from each original recipient.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="virtual_alias_maps">virtual_alias_maps</a>
- (default: $<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b></DT><DD>
- <p>
- Optional lookup tables that alias specific mail addresses or domains
- to other local or remote address. The table format and lookups
- are documented in <a href="virtual.5.html">virtual(5)</a>. For an overview of Postfix address
- manipulations see the <a href="ADDRESS_REWRITING_README.html">ADDRESS_REWRITING_README</a> document.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later. The default
- value is backwards compatible with Postfix version 1.1.
- </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- Note: these lookups are recursive.
- </p>
- <p>
- If you use this feature with indexed files, run "<b>postmap
- /etc/postfix/virtual</b>" after changing the file.
- </p>
- <p>
- Examples:
- </p>
- <pre>
- <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">dbm</a>:/etc/postfix/virtual
- <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/virtual
- </pre>
- </DD>
- <DT><b><a name="virtual_alias_recursion_limit">virtual_alias_recursion_limit</a>
- (default: 1000)</b></DT><DD>
- <p>
- The maximal nesting depth of virtual alias expansion. Currently
- the recursion limit is applied only to the left branch of the
- expansion graph, so the depth of the tree can in the worst case
- reach the sum of the expansion and recursion limits. This may
- change in the future.
- </p>
- <p>
- This feature is available in Postfix 2.1 and later.
- </p>
- </DD>
- <DT><b><a name="virtual_delivery_status_filter">virtual_delivery_status_filter</a>
- (default: $<a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a>)</b></DT><DD>
- <p> Optional filter for the <a href="virtual.8.html">virtual(8)</a> delivery agent to change the
- delivery status code or explanatory text of successful or unsuccessful
- deliveries. See <a href="postconf.5.html#default_delivery_status_filter">default_delivery_status_filter</a> for details. </p>
- <p> This feature is available in Postfix 3.0 and later. </p>
- </DD>
- <DT><b><a name="virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a>
- (default: $<a href="postconf.5.html#default_destination_concurrency_limit">default_destination_concurrency_limit</a>)</b></DT><DD>
- <p> The maximal number of parallel deliveries to the same destination
- via the virtual message delivery transport. This limit is enforced
- by the queue manager. The message delivery transport name is the
- first field in the entry in the <a href="master.5.html">master.cf</a> file. </p>
- </DD>
- <DT><b><a name="virtual_destination_recipient_limit">virtual_destination_recipient_limit</a>
- (default: $<a href="postconf.5.html#default_destination_recipient_limit">default_destination_recipient_limit</a>)</b></DT><DD>
- <p> The maximal number of recipients per message for the virtual
- message delivery transport. This limit is enforced by the queue
- manager. The message delivery transport name is the first field in
- the entry in the <a href="master.5.html">master.cf</a> file. </p>
- <p> Setting this parameter to a value of 1 changes the meaning of
- <a href="postconf.5.html#virtual_destination_concurrency_limit">virtual_destination_concurrency_limit</a> from concurrency per domain
- into concurrency per recipient. </p>
- </DD>
- <DT><b><a name="virtual_gid_maps">virtual_gid_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Lookup tables with the per-recipient group ID for <a href="virtual.8.html">virtual(8)</a> mailbox
- delivery.
- </p>
- <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
- It does not apply when mail is delivered with a different mail
- delivery program. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p>
- In a lookup table, specify a left-hand side of "@domain.tld" to
- match any user in the specified domain that does not have a specific
- "user@domain.tld" entry.
- </p>
- <p>
- When a recipient address has an optional address extension
- (user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
- the full address first, and when the lookup fails, it looks up the
- unextended address (user@domain.tld).
- </p>
- <p>
- Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
- regular expression substitution of $1 etc. in regular expression
- lookup tables, because that would open a security hole.
- </p>
- <p>
- Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
- silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
- it will open the table directly. Before Postfix version 2.2, the
- <a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
- </p>
- </DD>
- <DT><b><a name="virtual_mailbox_base">virtual_mailbox_base</a>
- (default: empty)</b></DT><DD>
- <p>
- A prefix that the <a href="virtual.8.html">virtual(8)</a> delivery agent prepends to all pathname
- results from $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> table lookups. This is a safety
- measure to ensure that an out of control map doesn't litter the
- file system with mailboxes. While <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> could be
- set to "/", this setting isn't recommended.
- </p>
- <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
- It does not apply when mail is delivered with a different mail
- delivery program. </p>
- <p>
- Example:
- </p>
- <pre>
- <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail
- </pre>
- </DD>
- <DT><b><a name="virtual_mailbox_domains">virtual_mailbox_domains</a>
- (default: $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>)</b></DT><DD>
- <p> Postfix is final destination for the specified list of domains;
- mail is delivered via the $<a href="postconf.5.html#virtual_transport">virtual_transport</a> mail delivery transport.
- By default this is the Postfix <a href="virtual.8.html">virtual(8)</a> delivery agent. The SMTP
- server validates recipient addresses with $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
- and rejects mail for non-existent recipients. See also the virtual
- mailbox domain class in the <a href="ADDRESS_CLASS_README.html">ADDRESS_CLASS_README</a> file. </p>
- <p> This parameter expects the same syntax as the <a href="postconf.5.html#mydestination">mydestination</a>
- configuration parameter. </p>
- <p>
- This feature is available in Postfix 2.0 and later. The default
- value is backwards compatible with Postfix version 1.1.
- </p>
- </DD>
- <DT><b><a name="virtual_mailbox_limit">virtual_mailbox_limit</a>
- (default: 51200000)</b></DT><DD>
- <p>
- The maximal size in bytes of an individual <a href="virtual.8.html">virtual(8)</a> mailbox or
- maildir file, or zero (no limit). </p>
- <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
- It does not apply when mail is delivered with a different mail
- delivery program. </p>
- </DD>
- <DT><b><a name="virtual_mailbox_lock">virtual_mailbox_lock</a>
- (default: see "postconf -d" output)</b></DT><DD>
- <p>
- How to lock a UNIX-style <a href="virtual.8.html">virtual(8)</a> mailbox before attempting
- delivery. For a list of available file locking methods, use the
- "<b>postconf -l</b>" command.
- </p>
- <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
- It does not apply when mail is delivered with a different mail
- delivery program. </p>
- <p>
- This setting is ignored with <b>maildir</b> style delivery, because
- such deliveries are safe without application-level locks.
- </p>
- <p>
- Note 1: the <b>dotlock</b> method requires that the recipient UID
- or GID has write access to the parent directory of the recipient's
- mailbox file.
- </p>
- <p>
- Note 2: the default setting of this parameter is system dependent.
- </p>
- </DD>
- <DT><b><a name="virtual_mailbox_maps">virtual_mailbox_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Optional lookup tables with all valid addresses in the domains that
- match $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
- </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p>
- In a lookup table, specify a left-hand side of "@domain.tld" to
- match any user in the specified domain that does not have a specific
- "user@domain.tld" entry.
- </p>
- <p> The remainder of this text is specific to the <a href="virtual.8.html">virtual(8)</a> delivery
- agent. It does not apply when mail is delivered with a different
- mail delivery program. </p>
- <p>
- The <a href="virtual.8.html">virtual(8)</a> delivery agent uses this table to look up the
- per-recipient mailbox or maildir pathname. If the lookup result
- ends in a slash ("/"), maildir-style delivery is carried out,
- otherwise the path is assumed to specify a UNIX-style mailbox file.
- Note that $<a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> is unconditionally prepended to
- this path.
- </p>
- <p>
- When a recipient address has an optional address extension
- (user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
- the full address first, and when the lookup fails, it looks up the
- unextended address (user@domain.tld).
- </p>
- <p>
- Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
- regular expression substitution of $1 etc. in regular expression
- lookup tables, because that would open a security hole.
- </p>
- <p>
- Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
- silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
- it will open the table directly. Before Postfix version 2.2, the
- <a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
- </p>
- </DD>
- <DT><b><a name="virtual_maps">virtual_maps</a>
- (default: empty)</b></DT><DD>
- <p> Optional lookup tables with a) names of domains for which all
- addresses are aliased to addresses in other local or remote domains,
- and b) addresses that are aliased to addresses in other local or
- remote domains. Available before Postfix version 2.0. With Postfix
- version 2.0 and later, this is replaced by separate controls: <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>
- and <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>. </p>
- </DD>
- <DT><b><a name="virtual_minimum_uid">virtual_minimum_uid</a>
- (default: 100)</b></DT><DD>
- <p>
- The minimum user ID value that the <a href="virtual.8.html">virtual(8)</a> delivery agent accepts
- as a result from $<a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> table lookup. Returned
- values less than this will be rejected, and the message will be
- deferred.
- </p>
- <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
- It does not apply when mail is delivered with a different mail
- delivery program. </p>
- </DD>
- <DT><b><a name="virtual_transport">virtual_transport</a>
- (default: virtual)</b></DT><DD>
- <p>
- The default mail delivery transport and next-hop destination for
- final delivery to domains listed with $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>.
- This information can be overruled with the <a href="transport.5.html">transport(5)</a> table.
- </p>
- <p>
- Specify a string of the form <i>transport:nexthop</i>, where <i>transport</i>
- is the name of a mail delivery transport defined in <a href="master.5.html">master.cf</a>.
- The <i>:nexthop</i> destination is optional; its syntax is documented
- in the manual page of the corresponding delivery agent.
- </p>
- <p>
- This feature is available in Postfix 2.0 and later.
- </p>
- </DD>
- <DT><b><a name="virtual_uid_maps">virtual_uid_maps</a>
- (default: empty)</b></DT><DD>
- <p>
- Lookup tables with the per-recipient user ID that the <a href="virtual.8.html">virtual(8)</a>
- delivery agent uses while writing to the recipient's mailbox.
- </p>
- <p> This parameter is specific to the <a href="virtual.8.html">virtual(8)</a> delivery agent.
- It does not apply when mail is delivered with a different mail
- delivery program. </p>
- <p>
- Specify zero or more "type:name" lookup tables, separated by
- whitespace or comma. Tables will be searched in the specified order
- until a match is found.
- </p>
- <p>
- In a lookup table, specify a left-hand side of "@domain.tld"
- to match any user in the specified domain that does not have a
- specific "user@domain.tld" entry.
- </p>
- <p>
- When a recipient address has an optional address extension
- (user+foo@domain.tld), the <a href="virtual.8.html">virtual(8)</a> delivery agent looks up
- the full address first, and when the lookup fails, it looks up the
- unextended address (user@domain.tld).
- </p>
- <p>
- Note 1: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent disallows
- regular expression substitution of $1 etc. in regular expression
- lookup tables, because that would open a security hole.
- </p>
- <p>
- Note 2: for security reasons, the <a href="virtual.8.html">virtual(8)</a> delivery agent will
- silently ignore requests to use the <a href="proxymap.8.html">proxymap(8)</a> server. Instead
- it will open the table directly. Before Postfix version 2.2, the
- <a href="virtual.8.html">virtual(8)</a> delivery agent will terminate with a fatal error.
- </p>
- </DD>
- </dl>
- </body>
- </html>
|