MM reads certain specially-named files automatically, and they provide several ways of customizing MM. Actually, customizing by setting variables and mail aliases is a special case of this, since those settings are saved for future sessions in one of the specially-named files, .mminit, and MM then executes the set and define commands as it starts up.
The type of customizing described here is advanced and most users will not ever use it. Some users do like to take the time, however, and for them, MM can be made to act a bit differently.
The file .mminit contains set and define commands that will be executed when an MM process starts. The file is optional and can be created and maintained by MM's save-init command, which tells MM to update .mminit to include all current settings, namely define commands for all your personal mail-aliases, and set commands for any variables that have been changed.
You can also change .mminit yourself with an editor. You can add or remove set and define commands (no other commands apply). For best results, do this with no MM process running. If you suspend MM (leaving with quit or exit for example), change .mminit, and restart the suspended MM, anomalies may result because that MM process won't automatically re-read in the changed .mminit file (you could type take .mminit to run the commands in .mminit).
The file .mmfast is a processed version of .mminit that runs a little faster: MM uses .mmfast if it exists and is more recent than .mminit. MM updates .mmfast automatically right after .mminit when you save-init. If you have edited .mminit, then the next time MM starts up, .mminit will be the more recent of the two, and MM will read .mminit instead and rewrite .mmfast to match it. The variable fast-init-file, normally set to yes, makes MM use and update .mmfast, so you can turn off the use of .mmfast with set fast-init-file no and save-init if you want to.
The file .mmrc can contain any Top-Level MM commands that you would like executed when a new MM process starts. .mmrc is an optional file that you would create and maintain with an editor. The format is the same as for a file to be run with the take command, and the difference is that the .mmrc file gets taken automatically every time.
The commands in .mmrc are executed after .mminit. If .mmrc has any set or define commands that contradict .mminit, .mmrc's versions will override them because .mmrc's commands are executed second.
On the other hand, .mmrc is executed ahead of the automatic get command that is normally done to get your main mail file, so at the time .mmrc is run, there is no current mail file yet. If you want any commands in .mmrc to act on a mail file, include a get command first, like get, and then headers unseen or whatever. Including a get command overrides the automatic get, so it's not done twice (otherwise, the variable auto-startup-get, normally set to yes, controls the automatic get of the main mail file at startup).
For each mail file, you may also hav