First, decide what the message is for
There are only four honest reasons to send a last message: to apologise, to correct something factually important, to say goodbye properly, or to leave a door open without pushing it. Anything else is a request for reassurance, and reassurance is not something you can ask a person you hurt to provide.
A structure that works
Use four short movements and stop. Most strong final messages are between sixty and a hundred and fifty words.
- Name the specific thing. Not I am sorry for everything, but I am sorry I dismissed you when you told me you were struggling in March.
- Show what you understand now, in one sentence, without listing the work you have done to earn credit.
- Say what you want for them, and mean it even if it does not include you.
- Release them. One line: you do not need to reply to this.
What to cut
Cut the timeline of the relationship. Cut the part where you explain their behaviour to them. Cut the phrase I just need to know. Cut every question mark. Cut any mention of what you have been through since, unless it is one clause and it is not a bid for sympathy.
Timing
Two weeks is too soon to be believed. Two years is not too late to be received. The useful test is whether you can write the message, leave it for three days, reread it, and still recognise yourself in it.
Sending it in a way that respects them
The delivery matters as much as the words. A message that arrives with no way to refuse it is a demand. A message that announces itself, shows who is asking, and lets the person open it or delete it without an argument is a request. Only one of those is fair to send to somebody who stopped replying.