There may be a few reasons duplicate emails are being sent to your contacts, two are explained below.
1. Duplicate emails may be sent because of a mechanism that Salesforce has built in to ensure that each email reaches its intended recipient.
To ensure proper delivery of email, each email contains data which signifies the end of the email. When mail servers receive this data, the email is considered to have reached its intended recipient. When the 'end of message' data is not processed by the recipient's mail server, generally due to a miscommunication between the mail servers, the Salesforce mail server assumes that the email was not properly received, and resends the email.
2. On some Objects when you double or triple click the send button on an email from Salesforce can cause multiple emails to go out to your contacts.
How can you tell the difference in between which you are affected by is very simple:
If the emails time stamp has 2 minutes difference it is due to reason #1.
If the emails time stamps are the same then it is due to reason #2.