The Mail Service Integration package integrates transactional email services into Concrete, replacing the default mail service by one of the services provided by this package. At this moment it supports Mailgun, Mandrill (Mailchimp) and Sendgrid (also Mailjet starting from version 2.0). Configure and enable a service of your choice and Concrete uses this service to send all emails.
Version 2.0 of this package won't work in Concrete 5.8.2 and higher due to changes in the core. Version 3.0 for of this package does work in Concrete 5.8.2 and higher. If you are upgrading this package from 2.0 there's no problem but if you have a lower version you will have to uninstall the package and replace it with 3.0.
I just released a new version; 2.0, for Concrete 5.8. It's a major overhaul and I got rid of all the 3rd party libraries which greatly simplified the package. It also doesn't modify your config file anymore and I added Mailjet as a new provider making this the 4th transactional email service provided by this package. Because of changes in Concrete's core in 5.8, this add-on would no longer work. So I created this version. If you are upgrading your Concrete installation to 5.8 you will have to uninstall this package before upgrading. After the upgrade you can install version 2.0 of this package. Because Concrete version 5.8.2 introduced new changes to the core, version 2.0 of this package will not work on Concrete version 5.8.2 and higher. You will need version 3.0.
This package uses 3rd party api's (Mailgun, Sendgrid, Mandrill and Mailjet) for which you need to register with the corresponding providers and create api-keys. These parties offer free accounts as well as paid accounts.
Support on creating and configuring these accounts is not included in the support for this add-on, as these are services are offered by 3rd parties. Configuration is quite straightforward however though, and if you can't figure it out I will be glad to help you out.
Next to creating an account you will also have to add DKIM and MX records to your DNS settings for your domain in order for the transactional email service to verify your domain. This is only possible if you have access to the DNS settings panel of your domain. You will also have to know how to configure these and that requires some knowledge. It's not very difficult but it can be somewhat overwhelming if you have never done it before and are not a tech-savy person.
Though Concrete 5.7 runs on PHP version 5.3, this add-on requires PHP version 5.4 to run. That is becauses those requirements are derived from the 3rd part libraries used in this add-on. Check the PHP version used on your hosting environment to see if you meet this requirement. This add-on will not install if your PHP version is less than 5.4.
At installation the package modifies your configuration file (version 2.0 and higher of this package don't do this anymore) and installs a ServiceProvider that overrides the default service provider for the email service. So every time Concrete calls the email service, our service provider returns the email service you configured and enabled, making Concrete use that service. The configuration file is the file used to override or add configuration settings for your website. It is empty by default.
All emails sent by Concrete, such as password reset links and other notifications, will then be sent using the configured email service.
You can enable one service at a time. If you disable all services, Concrete will use the default mail service.
The benefit of using contract mailers like Mailgun is that you can send large batches of email without overloading your SMTP server (Concrete uses SMTP by default). Another benefit is that you can use the extra services provided by the contract mailers to track your emails. It's also very convenient if your website is hosted on a server without email configured; this way you can still send emails.