An indirect object pronoun tells to whom or for whom an action is done.
Indirect object pronouns are used to replace an indirect object noun.
-me (to/for) me
-te (to/for) you (familiar)
-le (to/for) him, her, you (formal)
-nos (to/for) us
-os (to/for) you (familiar)
-les (to/for) them, you
Since le and les have more than one meaning, you can make the meaning clear by adding a+ name, noun or pronoun.
Like direct object pronouns and reflexive pronouns, indirect object pronouns are placed right before the verb or attatched to the infinitive.
-Juan me compra un regalo.
(John buys me a gift.)
-Ella le escribe una carta.
(She writes him a letter.)