Preheat the oven to 350°F (175°C).
Grease and flour three 9-inch round cake pans.
In a large mixing bowl, combine flour, sugar, cocoa powder, baking powder, baking soda, and salt.
In a separate bowl, whisk together milk, oil, eggs, and vanilla.
Combine the wet and dry ingredients, mixing until just combined.
Divide the batter evenly among the three prepared pans.
Bake for 25-30 minutes or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes before removing them.
Transfer the cakes to a wire rack to cool completely.
Prepare the frosting by combining granulated sugar, evaporated milk, butter, and vanilla.
Cook the mixture over medium heat until it thickens, stirring constantly.
Remove from heat and stir in the coconut and pecans.
Once the cakes are completely cool, frost the top of one layer and stack another on top.
Repeat the frosting process for the second layer and top with the third layer.
Frost the top and sides of the cake with the remaining frosting.
Allow the frosted cake to set for at least 30 minutes before serving.