What is the CF file format?
A .cf file is the runtime configuration file for Sendmail, one of the oldest Unix mail transfer agents, originally written by Eric Allman at UC Berkeley in 1983 and now maintained by Proofpoint. The canonical file is named sendmail.cf and lives at /etc/mail/sendmail.cf on most Linux and Unix systems; a companion submit.cf governs submission-mode operation.
The file is plain text but uses a dense, cryptic syntax that is notoriously difficult to read or write by hand. Each line begins with a single capital letter that signals its directive type: D declares macros, C and F define address classes, O sets options, S opens a ruleset, R specifies address-rewriting rules, and M defines mailer configurations. The rewriting rules use $ operators to match and transform addresses, producing a compact but nearly unreadable notation.
Because of this complexity, the supported workflow is to never edit .cf directly. Instead, administrators maintain a small, human-readable .mc macro file and regenerate sendmail.cf by running the m4 macro processor. A V line near the top of the file (for example, V10/Berkeley) records the Sendmail version that generated it.
Typical generated files weigh 30-60 KB even though the source .mc is only a few kilobytes. The .cf extension is also claimed by unrelated formats such as ColdFusion components and CFEngine policy files, so context matters when you encounter one.
Security & safety
RISK: MEDIUMReading a sendmail.cf is safe - it's plain text. The real risk is in EDITING: sendmail.cf controls a mail server, so a typo or bad rule can stop mail flow, cause delivery loops, or - worse - turn the server into an open relay that spammers abuse. Rules: never hand-edit the cryptic .cf; edit the small sendmail.mc and regenerate with m4. Always back up the working .cf first (cp sendmail.cf sendmail.cf.bak), change one thing at a time, and test before relying on it. Be especially careful with relay/access settings copied from untrusted tutorials, since a misconfigured relay is a security and reputation hazard.
Format details
in a nutshell- ColdFusion component / template - Adobe ColdFusion source files use .cfc/.cfm; some setups use .cf for ColdFusion includes or components.
- CFEngine policy file - Configuration-management policy written in the CFEngine language, loaded by the cf-agent.
- Generic application config - Various programs reuse .cf as a plain-text settings file with their own key/value syntax.
Programs that open CF files
Technical details
deep spec| MIME type | text/plain |
| Typical file name | sendmail.cf; also submit.cf for submission-mode operation |
| Default path on Linux/Unix | /etc/mail/sendmail.cf |
| Encoding | ASCII / UTF-8 plain text |
| Typical file size | 30-60 KB (generated file); the source .mc is usually only a few kilobytes |
| File signature / magic bytes | None - plain text; identified by dense single-letter directive lines (D, S, R, M, O) and $ rewrite operators |
| Version marker | V line near the file top (e.g., V10/Berkeley) ties the file to the Sendmail release that generated it |
| Directive types | D (macros), C/F (address classes), O (options), P (precedence), S (rulesets), R (rewrite rules), M (mailer definitions) |
| Generation method | Compiled from a .mc source file using the m4 macro processor; direct hand-editing is strongly discouraged |
| Rewrite-rule syntax | Rules use $ operators (e.g., $+, $*, $1) as pattern tokens and are grouped into numbered or named rulesets |
| Runtime behavior | Sendmail reads sendmail.cf at startup; a SIGHUP or restart is required for changes to take effect |
| Associated operating systems | Linux, BSD, Solaris, AIX, HP-UX; historically also macOS (which shipped Sendmail until OS X 10.8) |
| Extension name collision | The .cf extension is also used by ColdFusion components, CFEngine policy files, and generic application configs - context is required to disambiguate |
| Companion file | submit.cf governs Sendmail's submission daemon (port 587); generated alongside sendmail.cf from submit.mc |
| Released | 1983 (Sendmail, one of the original Unix MTAs); sendmail.cf syntax dates to that era |
| Latest version | Tied to Sendmail releases (8.x); sendmail.cf is generated by m4 from a .mc file |
| Specification | www.proofpoint.com |
CF conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about CF files.