{
    "mode": "info",
    "parameter": "trivial-rewrite",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/info/trivial-rewrite/json",
    "generated": "2026-07-05T11:57:57Z",
    "synopsis": "trivial-rewrite [generic Postfix daemon options]",
    "sections": {
        "NAME": {
            "content": "trivial-rewrite - Postfix address rewriting and resolving daemon\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "trivial-rewrite [generic Postfix daemon options]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The  trivial-rewrite(8)  daemon processes three types of client service\nrequests:\n\nrewrite context address\nRewrite an address to standard form, according  to  the  address\nrewriting context:\n\nlocal  Append  the domain names specified with $myorigin or $my-\ndomain to incomplete addresses; do swapbangpath and  al-\nlowpercenthack processing as described below, and strip\nsource  routed  addresses  (@site,@site:user@domain)   to\nuser@domain form.\n\nremote Append  the domain name specified with $remoteheaderre-\nwritedomain to incomplete addresses. Otherwise  the  re-\nsult  is identical to that of the local address rewriting\ncontext. This prevents Postfix from appending  the  local\ndomain to spam from poorly written remote clients.\n\nresolve sender address\nResolve  the address to a (transport, nexthop, recipient, flags)\nquadruple. The meaning of the results is as follows:\n\ntransport\nThe delivery agent to use. This is the first field of  an\nentry in the master.cf file.\n\nnexthop\nThe host to send to and optional delivery method informa-\ntion.\n\nrecipient\nThe envelope recipient address that is passed on to  nex-\nthop.\n\nflags  The address class, whether the address requires relaying,\nwhether the address has problems, and whether the request\nfailed.\n\nverify sender address\nResolve the address for address verification purposes.\n",
            "subsections": []
        },
        "SERVER PROCESS MANAGEMENT": {
            "content": "The  trivial-rewrite(8) servers run under control by the Postfix master\nserver.  Each server  can  handle  multiple  simultaneous  connections.\nWhen all servers are busy while a client connects, the master creates a\nnew server process, provided that the  trivial-rewrite  server  process\nlimit  is  not  exceeded.  Each trivial-rewrite server terminates after\nserving at least $maxuse clients of after $maxidle  seconds  of  idle\ntime.\n",
            "subsections": []
        },
        "STANDARDS": {
            "content": "None. The command does not interact with the outside world.\n",
            "subsections": []
        },
        "SECURITY": {
            "content": "The  trivial-rewrite(8)  daemon is not security sensitive.  By default,\nthis daemon does not talk to remote or local users.  It can  run  at  a\nfixed low privilege in a chrooted environment.\n",
            "subsections": []
        },
        "DIAGNOSTICS": {
            "content": "Problems and transactions are logged to syslogd(8) or postlogd(8).\n",
            "subsections": []
        },
        "CONFIGURATION PARAMETERS": {
            "content": "On  busy  mail systems a long time may pass before a main.cf change af-\nfecting trivial-rewrite(8) is  picked  up.  Use  the  command  \"postfix\nreload\" to speed up a change.\n\nThe  text  below provides only a parameter summary. See postconf(5) for\nmore details including examples.\n",
            "subsections": []
        },
        "COMPATIBILITY CONTROLS": {
            "content": "resolvedequotedaddress (yes)\nResolve a recipient address  safely  instead  of  correctly,  by\nlooking inside quotes.\n\nAvailable with Postfix version 2.1 and later:\n\nresolvenulldomain (no)\nResolve  an  address  that ends in the \"@\" null domain as if the\nlocal hostname were specified, instead of rejecting the  address\nas invalid.\n\nAvailable with Postfix version 2.3 and later:\n\nresolvenumericdomain (no)\nResolve  \"user@ipaddress\"  as \"user@[ipaddress]\", instead of re-\njecting the address as invalid.\n\nAvailable with Postfix version 2.5 and later:\n\nallowminuser (no)\nAllow a sender or recipient address to have  `-'  as  the  first\ncharacter.\n",
            "subsections": []
        },
        "ADDRESS REWRITING CONTROLS": {
            "content": "myorigin ($myhostname)\nThe  domain  name that locally-posted mail appears to come from,\nand that locally posted mail is delivered to.\n\nallowpercenthack (yes)\nEnable the rewriting of the form \"user%domain\" to \"user@domain\".\n\nappendatmyorigin (yes)\nWith locally submitted mail, append the string  \"@$myorigin\"  to\nmail addresses without domain information.\n\nappenddotmydomain (Postfix >= 3.0: no, Postfix < 3.0: yes)\nWith  locally  submitted mail, append the string \".$mydomain\" to\naddresses that have no \".domain\" information.\n\nrecipientdelimiter (empty)\nThe set of characters that can separate a user name from its ex-\ntension  (example:  user+foo),  or a .forward file name from its\nextension (example: .forward+foo).\n\nswapbangpath (yes)\nEnable the rewriting of \"site!user\" into \"user@site\".\n\nAvailable in Postfix 2.2 and later:\n\nremoteheaderrewritedomain (empty)\nDon't rewrite message headers from remote clients  at  all  when\nthis  parameter is empty; otherwise, rewrite message headers and\nappend the specified domain name to incomplete addresses.\n",
            "subsections": []
        },
        "ROUTING CONTROLS": {
            "content": "The following is applicable to Postfix version 2.0 and later.   Earlier\nversions  do  not have support for: virtualtransport, relaytransport,\nvirtualaliasdomains, virtualmailboxdomains or proxyinterfaces.\n\nlocaltransport (local:$myhostname)\nThe default mail delivery transport and next-hop destination for\nfinal  delivery  to  domains  listed with mydestination, and for\n[ipaddress]  destinations   that   match   $inetinterfaces   or\n$proxyinterfaces.\n\nvirtualtransport (virtual)\nThe default mail delivery transport and next-hop destination for\nfinal delivery to domains listed with $virtualmailboxdomains.\n\nrelaytransport (relay)\nThe default mail delivery transport and next-hop destination for\nremote delivery to domains listed with $relaydomains.\n\ndefaulttransport (smtp)\nThe default mail delivery transport and next-hop destination for\ndestinations that do not match $mydestination, $inetinterfaces,\n$proxyinterfaces,  $virtualaliasdomains, $virtualmailboxdo-\nmains, or $relaydomains.\n\nparentdomainmatchessubdomains (see 'postconf -d' output)\nA list of Postfix features where the pattern \"example.com\"  also\nmatches  subdomains  of example.com, instead of requiring an ex-\nplicit \".example.com\" pattern.\n\nrelayhost (empty)\nThe  next-hop  destination(s)  for  non-local  mail;   overrides\nnon-local domains in recipient addresses.\n\ntransportmaps (empty)\nOptional  lookup  tables with mappings from recipient address to\n(message delivery transport, next-hop destination).\n\nAvailable in Postfix version 2.3 and later:\n\nsenderdependentrelayhostmaps (empty)\nA sender-dependent override for the global  relayhost  parameter\nsetting.\n\nAvailable in Postfix version 2.5 and later:\n\nemptyaddressrelayhostmapslookupkey (<>)\nThe  senderdependentrelayhostmaps  search string that will be\nused instead of the null sender address.\n\nAvailable in Postfix version 2.7 and later:\n\nemptyaddressdefaulttransportmapslookupkey (<>)\nThe senderdependentdefaulttransportmaps search  string  that\nwill be used instead of the null sender address.\n\nsenderdependentdefaulttransportmaps (empty)\nA sender-dependent override for the global defaulttransport pa-\nrameter setting.\n",
            "subsections": []
        },
        "ADDRESS VERIFICATION CONTROLS": {
            "content": "Postfix version 2.1 introduces sender and recipient  address  verifica-\ntion.  This feature is implemented by sending probe email messages that\nare not actually delivered.  By default,  address  verification  probes\nuse  the  same  route  as regular mail. To override specific aspects of\nmessage routing for address verification probes, specify one or more of\nthe following:\n\naddressverifylocaltransport ($localtransport)\nOverrides the localtransport parameter setting for address ver-\nification probes.\n\naddressverifyvirtualtransport ($virtualtransport)\nOverrides the virtualtransport parameter  setting  for  address\nverification probes.\n\naddressverifyrelaytransport ($relaytransport)\nOverrides the relaytransport parameter setting for address ver-\nification probes.\n\naddressverifydefaulttransport ($defaulttransport)\nOverrides the defaulttransport parameter  setting  for  address\nverification probes.\n\naddressverifyrelayhost ($relayhost)\nOverrides  the relayhost parameter setting for address verifica-\ntion probes.\n\naddressverifytransportmaps ($transportmaps)\nOverrides the transportmaps parameter setting for address veri-\nfication probes.\n\nAvailable in Postfix version 2.3 and later:\n\naddressverifysenderdependentrelayhostmaps   ($senderdependentre-\nlayhostmaps)\nOverrides the senderdependentrelayhostmaps parameter  setting\nfor address verification probes.\n\nAvailable in Postfix version 2.7 and later:\n\naddressverifysenderdependentdefaulttransportmaps  ($senderdepen-\ndentdefaulttransportmaps)\nOverrides the senderdependentdefaulttransportmaps  parameter\nsetting for address verification probes.\n",
            "subsections": []
        },
        "MISCELLANEOUS CONTROLS": {
            "content": "configdirectory (see 'postconf -d' output)\nThe  default  location of the Postfix main.cf and master.cf con-\nfiguration files.\n\ndaemontimeout (18000s)\nHow much time a Postfix daemon process may take to handle a  re-\nquest before it is terminated by a built-in watchdog timer.\n\nemptyaddressrecipient (MAILER-DAEMON)\nThe recipient of mail addressed to the null address.\n\nipctimeout (3600s)\nThe  time limit for sending or receiving information over an in-\nternal communication channel.\n\nmaxidle (100s)\nThe maximum amount of time that an idle Postfix  daemon  process\nwaits for an incoming connection before terminating voluntarily.\n\nmaxuse (100)\nThe maximal number of incoming connections that a Postfix daemon\nprocess will service before terminating voluntarily.\n\nrelocatedmaps (empty)\nOptional lookup tables with new contact information for users or\ndomains that no longer exist.\n\nprocessid (read-only)\nThe process ID of a Postfix command or daemon process.\n\nprocessname (read-only)\nThe process name of a Postfix command or daemon process.\n\nqueuedirectory (see 'postconf -d' output)\nThe location of the Postfix top-level queue directory.\n\nshowuserunknowntablename (yes)\nDisplay  the  name  of the recipient table in the \"User unknown\"\nresponses.\n\nsyslogfacility (mail)\nThe syslog facility of Postfix logging.\n\nsyslogname (see 'postconf -d' output)\nA prefix that  is  prepended  to  the  process  name  in  syslog\nrecords, so that, for example, \"smtpd\" becomes \"prefix/smtpd\".\n\nAvailable in Postfix version 2.0 and later:\n\nhelpfulwarnings (yes)\nLog  warnings about problematic configuration settings, and pro-\nvide helpful suggestions.\n\nAvailable in Postfix 3.3 and later:\n\nservicename (read-only)\nThe master.cf service name of a Postfix daemon process.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "postconf(5), configuration parameters\ntransport(5), transport table format\nrelocated(5), format of the \"user has moved\" table\nmaster(8), process manager\npostlogd(8), Postfix logging\nsyslogd(8), system logging\n",
            "subsections": []
        },
        "README FILES": {
            "content": "Use \"postconf readmedirectory\" or \"postconf htmldirectory\" to  locate\nthis information.\nADDRESSCLASSREADME, Postfix address classes howto\nADDRESSVERIFICATIONREADME, Postfix address verification\n",
            "subsections": []
        },
        "LICENSE": {
            "content": "The Secure Mailer license must be distributed with this software.\n\nAUTHOR(S)\nWietse Venema\nIBM T.J. Watson Research\nP.O. Box 704\nYorktown Heights, NY 10598, USA\n\nWietse Venema\nGoogle, Inc.\n111 8th Avenue\nNew York, NY 10011, USA\n\nTRIVIAL-REWRITE(8postfix)",
            "subsections": []
        }
    },
    "summary": "trivial-rewrite - Postfix address rewriting and resolving daemon",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "postconf",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/postconf/5/json"
        },
        {
            "name": "transport",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/transport/5/json"
        },
        {
            "name": "relocated",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/relocated/5/json"
        },
        {
            "name": "master",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/master/8/json"
        },
        {
            "name": "postlogd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/postlogd/8/json"
        },
        {
            "name": "syslogd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/syslogd/8/json"
        }
    ]
}