civimail sending email multiple times
Preferably, you'll want to dig into your outgoing mail service logs. How you do that depends on how you've setup civimail. It might be as simple as inspecting a file like /var/log/mail on your server, or it might involve something more complicated if you're using a remote outgoing mail service.

The challenge is to figure out which part of the mailing process is generating multiple mails. Typically this would occur where one server is passing off the mail to another server, and it's being received but not acknowledged, so the first server tries again later. A bad firewall, or misconfigured server along the way, for example. This would show up with the multiple mails having different receive times.

If you don't have access to your maillogs, inspecting the raw mail headers of the received mail may show some clues (e.g. warnings by one or more of the servers that are handling your mail).