In many Apex implementation, we will write code to send Email to Contacts or Leads. There is a limit you need to be aware of:
The detailed limit can be found here.
If you want to overcome the limit, you can consider iContact. Once you have registered, you can log in to the Developer Portal. Inside the portal, you can find API to do this. The limit of emails is depending on the package you subscribe. Instead of sending emails directly from Salesforce, you can do it through iContact.