Try running 'postfix check' to see if it finds any obvious errors which will include incorrect permissions and should point you in the right direction.


See below to resolve the following error:

postdrop: warning: unable to look up public/pickup: No such file or directory

Run the following command as root:

mkfifo /var/spool/postfix/public/pickup

And then, restart the service :

service postfix restart

Looks like either your /var/spool/postfix directory structure is missing a directory or the permissions are wrong. On CentOS it looks like:

drwx------ 2 postfix root     4096 Jan  5 16:49 active
drwx------ 2 postfix root     4096 Dec 23 16:18 bounce
drwx------ 2 postfix root     4096 Aug 14  2008 corrupt
drwx------ 4 postfix root     4096 Dec 16 08:55 defer
drwx------ 4 postfix root     4096 Dec 16 08:55 deferred
drwx------ 2 postfix root     4096 Aug 14  2008 flush
drwx------ 2 postfix root     4096 Aug 14  2008 hold
drwx------ 2 postfix root     4096 Jan  5 16:49 incoming
drwx-wx--- 2 postfix postdrop 4096 Jan  5 16:49 maildrop
drwxr-xr-x 2 root    root     4096 Dec 31 14:16 pid
drwx------ 2 postfix root     4096 Dec 31 14:39 private
drwx--x--- 2 postfix postdrop 4096 Dec 31 14:39 public
drwx------ 2 postfix root     4096 Aug 14  2008 saved
drwx------ 2 postfix root     4096 Aug 14  2008 trace

Check your /var/log/mail or /var/log/maillog file for error messages. The reason you can't stop postfix is because it's not starting in the first place.