You did the right thing in giving out a PO box. Also try not to take checks through the mail. Paypal is the way to go online.
I would say no real customer will ever offer to send money right away without some discussion first. In my experience, they should (and will) discuss shipping, and costs, and timelines beforehand. Before you respond with ANY personal information (beyond what they have, your email address), always engage your customer to sort of feel them out. Thank them for their interest and ask them how they found you. Ask where they live, maybe explain your shipping policy. Have a little chat before you hand over personal information.