I'm assuming you would like to send a message along with a transaction that goes to a "normal" account, not a "smart contract" account. Maybe even from a "normal" account as well.
What you can do is convert your text message to hex, using any online converter, for example this one.
Most wallets have a data
field for a transaction, where you then paste the hex. From within a contract, you would have to use the call
method, as described here.
For example, a message like "3 o'clock at the tower" converts to "0x33206f27636c6f636b2061742074686520746f776572", which you send along in the "data" field.
If the receiver does not get these data in their wallet, they will have to look it up the transaction on the blockchain explorer like etherscan, scroll down and find the field Input Data
, where your hex string will be displayed.
Be sure that the receiver know how to convert this back. They could use an online hex to text converter like this one.