On 2/26/11 2:06 AM, Christian Roessner at c+postfix_org...@roessner-network-solutions.com wrote:
> Am Samstag, den 26.02.2011, 08:51 +0100 schrieb Christian Roessner: >> Hi, >> >>> This got my attention because I run the Apple provided Postfix (2.5.5) on >>> Mac OS X client (10.6.6 specifically). What do you know - when I look at the >>> launchctl plist Apple provides to start Postfix, it does so by running >>> master directly. Thanks Apple! >> >> Calling /usr/libexec/postfix/master in the plist. That should not be >> critics. My friend Lars runs three X-Serve servers. One Tiger, Leopard >> and before posting here, I asked him to please just look into the plist >> and tell me, what is called. > > cat /System/Library/LaunchDaemons/org.postfix.master.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> > <string>-e</string> > <string>60</string> > </array> > <key>QueueDirectories</key> > <array> > <string>/var/spool/postfix/maildrop</string> > </array> > <key>AbandonProcessGroup</key> > <true/> > </dict> > </plist> > > Here you see the plist. It must not start postfix by calling master > directly. I think a little of what you are trying to say is getting lost in translation. What you posted is the Apple provided plist that is supposed to run Postfix for only 60 seconds as an outgoing only server. I had modified it to remove the "-e 60" so it runs all the time as a full server. But as of last night, I have disabled it and replaced it with a "run at boot only" plist (note that user or 3rd party provided plists go in /Library/LaunchDaemons with /System/Library/LaunchDaemons reserved for Apple provided plists): # cat /Library/LaunchDaemons/postfix.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>postfix</string> <key>OnDemand</key> <true/> <key>ProgramArguments</key> <array> <string>/var/root/start_postfix.sh</string> </array> <key>RunAtLoad</key> <true/> <key>ServiceIPC</key> <false/> </dict> </plist> The script it calls is simply: # cat /var/root/start_postfix.sh #!/bin/sh postfix start sleep 1 With the "sleep 1" being necessary to deal with launchd not liking programs that daemonize. It wants things it starts to stick around so it can monitor them. But with OnDemand set to true, it does not do anything when that script dies. And as Wietse said, he's never seen Postfix die so not a big deal that no launchd monitoring will be provided (this is SOHO server - I am on e-mail enough that I'll know if there is a problem and there are no paid users I need to worry about). -- Larry Stone lston...@stonejongleux.com http://www.stonejongleux.com/