The key to understanding this difference in aspect (not tense) lies in knowing what kind of verb we're dealing with. For verbs that describe actions (食【た】べる, 走【はし】る, etc) and events (降【ふ】る, 吹【ふ】く, etc), ~ている shows the continuation of an action. For verbs that describe changes in state (死【し】ぬ, 割【わ】れる, 溶【と】ける, etc), ~ている shows the continuation of a state.
Another way to conceptualize this is the idea that action/event verbs can take place over a length of time, while change-in-state verbs often happen instantaneously.
There are some diagrams on page 54 of this book that help a little. I will redraw two of them here (with some modifications) for the sake of convenience:
Type 1: action/event verbs
Type 2: change-in-state verbs
So where does 送【おく】る fit in? We might be tempted to think that 送【おく】る is an action verb, and in a sense it is, as it is transitive and takes a direct object. But 送【おく】る shows an instantaneous change in state: a change from not-sent to sent. This is why 送【おく】っている means "I have sent [it]."
"Ah," you say, "but there are change-in-state verbs that happen over a length of time. How do we deal with those?" Let's look at 溶【と】ける:
アイスが溶【と】けているよ。はやく食【た】べなさい。 Your ice cream is melting. Hurry up and eat it.
アイスが溶【と】けちゃうよ。はやく食【た】べなさい。 Your ice cream will melt away. Hurry up and eat it.
うわぁ、アイスがぜんぶ溶【と】けている。どうしよう? Woah, the ice cream has all melted. What should we do?
友【とも】だちとしゃべっている間【あいだ】に、アイスが溶【と】けちゃった。 My ice cream melted away while I was chatting with a friend.
溶【と】ける is one of those pesky verbs that doesn't fit into just one of our categories above. It could be taken as either an event verb or a change-in-state verb. So 溶【と】けている could be taken as "is melting" or "has melted", depending on the context. Verbs such as 死【し】ぬ, however, show only an instantaneous change in state. 死【し】んでいる always means "has died", and not "is dying".
"But!" you say, not wishing to be denied any chance for objection, "What about using ~ている with expressions of frequency?" This is where ~ている doesn't line up with any of our nice English translations:
古【ふる】くなった細胞【さいぼう】は毎日【まいにち】死【し】んでいる。 Old cells die every day. (not are dying or have died)
毎週【まいしゅう】大阪【おおさか】に行【い】っている。 I go to Osaka every week. (not am going or have gone)
This could be interpreted as a use of progressive aspect, but translating it into English with an -ing verb form doesn't work grammatically.
Movement verbs
Verbs like 行【い】く, 来【く】る, and 帰【かえ】る, which deal with movement from one point to another, look like action verbs on the surface, but in their ~ている forms, they work more like change-in-state verbs:
彼【かれ】は日本【にほん】に行【い】っている。 He has gone to Japan. (He went to Japan, and is still there.)
お父【とう】さんはまだ帰【かえ】っていない。 Dad hasn't come home yet. (He may be on the way home, but the change in state from not-home to home hasn't happened yet.)
~ところ
There are times when you want to take a change-in-state verb and "zoom in" on the point when the change takes place to treat it like a continuous-action verb. This is what ~ところ is for:
送【おく】るところだ。 I am just about to send it.
送【おく】っているところだ。 I am sending it right now. (implies that the speaker has her finger on the button for "Send")
送【おく】ったところだ。 I just sent it.
Naturally, ところ can also mean "place", so you might have to do some contextual sleuthing to figure out which is meant:
ビルが崩壊【ほうかい】しているところを見【み】た。 I saw the building as it was collapsing. (note ~ている in Japanese, was in English!)
道路【どうろ】の崩壊【ほうかい】しているところを直【なお】す。 We will repair the places where the road has collapsed.
~つつある, attaching to the ~ます stem (壊【こわ】れつつある), can be used like ~ところ, but is more common in writing than in speech.
~てある
The main difference between ~ている and ~てある (aside from the fact that ~てある requires a transitive verb, which I'm sure you already know), is that ~てある implies the existence of an actor who performs the action for some purpose. ~ている, on the other hand, has no such implication, and reads as though the action occurred with no particular purpose. Thus we can draw the following contrast:
○ 寒【さむ】いので、窓【まど】が閉【し】めてあります。 It's cold, so the window has been closed.
× 寒【さむ】いので、窓【まど】が閉【し】まっています。 It's cold, so the window is closed. (incorrect)
Suppose, however, you walk into a room with an open window, and you have no idea whether the window was opened for some purpose. In this case, ~てある is incorrect:
○ あ、窓【まど】が開【あ】いている。 Ah, the window is open.
× あ、窓【まど】が開【あ】けてある。 Ah, the window has been opened. (incorrect)