if you can take one more reply . .
once you get on the ship, ask to see what the 'best way' is
On my line, totally depends on the run. If envelopes, we use a Miami PO box, if a package, the street address of our head office as the package gets accepted by the mailroom and there's a 'proof of signature'. I ebay'ed a laptop when I was on the Radiance during an Alaska run and had it shipped to the port agent in Juneau. Due to my job, I had a good working relationship with him and was able to give him a heads up when the UPS shipping notice came thru it was arriving and he hand delivered it to the ship 8)
Many crewmembers, if they know they'll be on the same run for a stretch, will rent a mailbox at a Mailboxes Etc store or similar, or even get a mailbox at the closest US post office if us ports are in the run (like St Thomas in the V.I's)
Ships notoriously "lose" mail - so make sure your present is sent with delivery confirmation
BTW - port agents and their contact info is a good thing to know. They and their companies are the ships agent and help, native to whatever port you're in. They'll get you to your ship when you sign off and on, looks for and deliver parts for the marine department, take crewmembers to medical appts, get anything and everything and anyone on and off the ship. If you ever "miss" your ship in a port, they're the person to contact to help you, passenger or crew.