Clean and debeard the mussels. If any mussels are opened, tap them lightly on a hard surface. If they don't close, discard them.
Add 2 tablespoons wine to a large lidded saucepan. Add the mussels, cover with the lid and cook over a high heat for 3-4 minutes, shaking the pan periodically until they have opened (discard any that do not open). Remove from the heat and strain into a colander over a large bowl. Reserve the cooking liquor and keep the mussels warm.
In the same pan, melt the butter and gently cook the shallot, ham and garlic for 4-5 minutes, until softened but not browned. Add the mussel cooking liquor and remaining wine. Bring to a boil and cook until the volume of liquid has reduced by half. Add the mussels and herbs and mix well, then season with black pepper.
Serve in warmed bowls with some crusty bread.