Seeking a Friend for the End of the World

In New York City, a news report is broadcast informing the world that a mission to stop an incoming asteroid has failed, and that the asteroid will make impact in three weeks, destroying all life on Earth. Dodge Petersen (Steve Carell) and his wife Linda (Nancy Carell) listen to the broadcast from the side of the road. When Dodge makes an uninterested response, Linda looks at him in disgust and flees the vehicle.
While everyone around him reacts differently to the newsâfrom suicide to constant drugs and guilt-free sexâDodge's life has not changed at all. He does not stop going into his meaningless job as an insurance salesman, still employs his cleaning lady, and spends his nights alone.
After attending a friend's wild party, where he declines offers of sex and drugs, Dodge returns home to reminisce about his high school sweetheart, Olivia, when he notices his neighbor Penny (Keira Knightley) crying on the fire escape. She has just broken up with her boyfriend Owen (Adam Brody) for making her miss her last opportunity to see her family in England. At her apartment, Penny gives Dodge three years' worth of his mail that was incorrectly delivered to her and in the process unwittingly tells him that his wife was having an affair.
Dodge storms off into the night, guzzling codeine-laced cough syrup and window cleaner in a suicide attempt. He wakes up in a park, with a dog tethered to his foot and a note on his sweater reading "Sorry", which becomes the dog's namesake. Dodge takes Sorry home, opens the old mail, and is surprised to discover a three-month-old letter from Olivia, which explains that he was "the love of her life". Later, a riot breaks out on his block. Abandoning the self-centered Owen amidst the rioters, Dodge explains to Penny that he knows someone who could fly her to England if she helps him find Olivia. She agrees and the two set off with Sorry for Dodge's hometown in Delaware.
Along the way, Dodge and Penny run out of gas, share a bizarre experience with a suicidal motorist (William Petersen), witness the eruption of an orgy at a restaurant, have sex in a pick-up truck, and spend a night in jail. They get a ride to Camden, New Jersey, where they meet Penny's ex-boyfriend Speck (Derek Luke), who is prepared for the apocalypse. Speck has a working satellite phone in his bunker, and lets Penny contact her family. Penny and Dodge borrow a car of Speck's and eventually make it to Olivia's family home. Dodge and Penny walk up toward the door of the home, they find no one and spend the day together, during which they realize mutual affection. Penny discovers a letter from Olivia to her parents, which reveals Olivia's address. Penny and Dodge drive to Olivia's home, where upon arrival, Dodge leaves a letter to Olivia and expresses his feelings for Penny. Later, they discover a marriage ceremony performed at the beach; Dodge and Penny kiss and join the ceremony. Afterward, they go to the house of the man who Dodge promised could take Penny to England. This man turns out to be Dodge's estranged father, Frank (Martin Sheen). After making amends with Frank, Dodge puts a sleeping Penny into his father's plane, whispering to her that she is the real love of his life. Frank and Penny depart, leaving Dodge behind.
Dodge returns to his apartment with Sorry; they soon enter Penny's apartment, where Dodge sets a record in her turntable and listens until the power dies. Lighting a candle, Dodge hears Sorry whining - Penny has returned, upset that he allowed her to leave; they embrace. As the two lie in bed, Penny is scared, knowing that, in only moments, human life on Earth will be annihilated. Dodge distracts her by asking her to tell him of her childhood. They feel and hear a deep booming sound, and Penny tells Dodge she wishes they had known each other sooner. Dodge replies that there never would have been enough time together, and professes his love for her. When they feel and hear a second deep, booming sound, Penny panics, telling him she thought they would save each other, and Dodge assures her they did. Finally, Penny smiles as the screen fades to white. The asteroid has destroyed the Earth, and ended all life on it.

Question: Who gives Dodge three years' worth of his mail that was incorrectly delivered?
Answer: Penny; Penny