Activate the yeast: In the bowl of your mixer add the warm milk, yeast and sugar and mix with the dough hook or paddle attachment. Let it rest for 5 minutes, the mixture should be frothy on top. If not, start over with new yeast.
Make the dough: Add the eggs, butter, vanilla extract, salt and 2 cups of the flour to the mixer bowl and beat on low speed for 1 minute. Scrape down the sides of the bowl, if needed. Switch to the dough hook if you were using the paddle attachment, and add remaining 2 cups of flour to the mixer bowl. Continue mixing on medium speed for another 2 to 3 minutes, the dough should come clean from the sides of the bowl, if still sticky add a bit more flour, 1 tbsp at a time. Don't add too much flour, you want the dough slightly sticky. If you poke it with your finger, it should bounce back from the indentation.
Let the dough rise: Place the dough in a large bowl that's been lightly oiled and coat the dough as well with oil. Cover the bowl with plastic wrap and let the dough rise in a warm place for about an hour, or until doubled in size.
Cut out donuts: Punch down the dough to release air. Lightly flour your clean work surface. Place the dough on the surface and using a rolling pin, roll the dough until it's about ½ inch in thickness. Using a donut cutter, cut out donuts. If you don't have a donut cutter, using a cookie cutter and a piping tip for the small holes. Transfer the donuts to a baking sheet. Place a cooling rack over another baking sheet.
Fry donuts: Pour oil in a large Dutch oven or heavy-duty pot and heat over medium heat to 375°F. Add 2 to 3 donuts at a time and cook for 1 minute per side. Carefully transfer cooked donuts using a slotted spoon onto the prepared cooling rack. Repeat with remaining donuts.
Make the glaze: Combine all the glaze ingredients together and whisk until smooth. Either dunk the donuts in the glaze or drizzle the glaze over the top of the donuts.