Heat oven to 350 degrees. Line cupcake pan with liners; set aside.
In a medium bowl, sift together flour, baking powder, and salt. In the bowl of an electric mixer fitted with the paddle attachment, cream butter and sugar until light and fluffy. Add eggs one at a time, scrape down bowl, and beat in vanilla.
Add flour mixture and milk alternatively, beginning and ending with flour.
Divide batter evenly among liners, about three-quarters full each. Bake until golden and tops spring back to touch, about 20 minutes for regular cupcakes, and 8 to 10 minutes for miniature cupcakes, rotating pan once if needed. Transfer to wire rack; cool completely.
In the bowl of an electric mixer fitted with the paddle attachment, cream butter until smooth and creamy, 2 to 3 minutes. With mixer on low speed, add 6 cups sugar, milk, and vanilla; mix until light and fluffy. If necessary, gradually add remaining 2 cups sugar to reach desired consistency.