Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round baking pans.
In a large bowl, stir together the flour, sugar, cocoa powder, baking powder, baking soda, and salt.
Add the eggs, milk, oil, and vanilla. Beat on medium speed for 2 minutes. Stir in the boiling water (batter will be thin).
Pour the batter evenly into the prepared pans.
Bake for 30 to 35 minutes, or until a toothpick inserted into the center comes out clean. Cool for 10 minutes, then remove from pans to wire racks to cool completely.
For the frosting, beat the butter in a medium bowl until creamy. Gradually add the powdered sugar and cocoa powder, beating until smooth. Add the milk and vanilla, and beat until light and fluffy.
Frost the cooled cakes. Place one layer on a serving plate, spread with frosting, then top with the second layer. Frost the top and sides of the cake.