Attempting to send mails using mail(1) from the macOS terminal shell results in the following message and the mail is not sent.

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

I have checked for the directory where I think it should be and it's there:

root# ls -ld /var/spool/postfix/public/pickup
prw--w--w-  1 _postfix  _postdrop  0 Dec 31  2016 /var/spool/postfix/public/pickup

I've read that Postfix is launched ephemerally to send mail but I don't know how - I have no idea how Postfix is configured on macOS. I know Postfix from Linux but am unfamiliar with macOS.

I'd just like to fix this so my script can send email its output.

Pertinent system details:

  System Version: macOS 10.12.6 (16G29) (Sierra)
  Kernel Version: Darwin 16.7.0
  • Did you apply any configuration for Postfix before using it?
    – nohillside
    Jun 15, 2019 at 11:33
  • No. I expected it to "just work" because it is a mac :) And it has "just worked" in the past, but likely before an OS update. I have mails sent it the same way dated 2014 so it worked back then.
    – starfry
    Jun 15, 2019 at 11:36
  • 2
    To my rather big surprise I just learned that it indeed "just works" :-)
    – nohillside
    Jun 15, 2019 at 11:41
  • My answer might not nail your situation. But, we don’t have an answer that I’ve seen saying you should troubleshoot this in the graphical mail app - connection doctor. Can you validate my assumption that you don’t have mail sending from the GUI at the same time as you get failures from the command line?
    – bmike
    Jun 15, 2019 at 12:47
  • Mails send fine using outlook. I'm going to do some more digging based on your answer and report back...
    – starfry
    Jun 15, 2019 at 12:57

1 Answer 1


Sending mail from the command line involves two things.

  1. Open the Apple mail app (/Applications/Mail.app only) and make sure your default account can send mail (or be sure you configured internet accounts preference pane to provide Apple mail credentials for sendmail )
  2. Send the mail without making any command line or Unix changes.

Step 1 is missing and assumed in the linked question / selected answer. Also, if you don’t want to send mail from an account you enter in your mail app, grab a stand alone install of sendemail as it’s quite easy to set up with your smtp server of choice:

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .