Preheat oven to 350 degrees F (175 degrees C). Grease and flour two 9 inch cake pans. This cake is known for sticking, you may want to cut out parchment circles to fit your pan, place in bottom of pan. If you use cocoa powder instead of flour, you won't get that white residue.
Use the first set of ingredients to make the cake. In a medium bowl, stir together the sugar, flour, cocoa, baking soda, baking powder and salt. Add the eggs, milk, oil and vanilla, mix for 3 minutes with an electric mixer. Stir in the boiling water by hand. Pour evenly into the two prepared pans (note that the batter will be thin, it's supposed to be - promise!).
Bake for 30 to 35 minutes in the preheated oven, until a toothpick inserted comes out clean. Cool for 10 minutes before removing from pans to cool completely. The times are approximate, it can take longer depending on the weather and your oven.
To make the frosting, use the second set of ingredients. Cream butter until light and fluffy. Stir in the cocoa and confectioners' sugar alternately with the milk and vanilla. Beat to a spreading consistency.
Split the layers of cooled cake horizontally, cover the top of each layer with frosting, then stack them onto a serving plate. Frost the outside of the cake.
NOTE: For a REALLY rich cake, use Dutch Processed cocoa. Seriously, I would almost insist that you do. It really does make it SO yummy.