May 2, 2005
I run a local postfix on my machine, and in 10.3 I had to modify /etc/hostconfig to tell the OS to run postfix upon boot. I upgraded to Tiger today, and postgres would no longer start upon boot.10.4 relies on launchd for crond as well as a bunch of service launching. Stock, postfix is set to run every minute if there are any files in /var/spool/postfix/maildrop. I like a livelier postfix.
The plist that is configuring postfix under launchd is /System/Library/LaunchDaemons/org.postfix.master.plist. You can either run the Property List Editor as root and remove the two ProgramArguments "-e" and "60", as well as the whole QueueDirectories field, and add a "RunAtLoad" key with the value "true", or just su or sudo and replace the file with this plist:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.postfix.master</string> <key>Program</key> <string>/usr/libexec/postfix/master</string> <key>ProgramArguments</key> <array> <string>master</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>After this , you can either just restart, or reload the service like so:
$ sudo launchctl stop org.postfix.master $ sudo launchctl unload /System/Library/LaunchDaemons/org.postfix.master.plist $ sudo launchctl load /System/Library/LaunchDaemons/org.postfix.master.plist $ sudo launchctl start org.postfix.master
Thanks to Stefan Schumacher for pointing out we need to use the RunAtLoad key for postfix to run on startup!