diff options
Diffstat (limited to 'doc/email-configuration.markdown')
-rw-r--r-- | doc/email-configuration.markdown | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/doc/email-configuration.markdown b/doc/email-configuration.markdown new file mode 100644 index 00000000..c66996c6 --- /dev/null +++ b/doc/email-configuration.markdown @@ -0,0 +1,173 @@ +Email configuration +=================== + +User settings +------------- + +To receive email notifications, users of Kanboard must have: + +- Activated notifications in their profile +- Have a valid email address in their profile +- Be member of the project that will trigger notifications + +Note: The logged user who performs the action doesn't receive any notifications, only other project members. + +Email transports +---------------- + +There are several email transports available: + +- SMTP +- Sendmail +- PHP native mail function +- Mailgun +- Postmark +- Sendgrid + +Server settings +--------------- + +By default, Kanboard will use the bundled PHP mail function to send emails. +Usually that require no configuration if your server can already send emails. + +However, it's possible to use other methods, the SMTP protocol and Sendmail. + +### SMTP configuration + +Rename the file `config.default.php` to `config.php` and change these values: + +```php +// We choose "smtp" as mail transport +define('MAIL_TRANSPORT', 'smtp'); + +// We define our server settings +define('MAIL_SMTP_HOSTNAME', 'mail.example.com'); +define('MAIL_SMTP_PORT', 25); + +// Credentials for authentication on the SMTP server (not mandatory) +define('MAIL_SMTP_USERNAME', 'username'); +define('MAIL_SMTP_PASSWORD', 'super password'); +``` + +It's also possible to use a secure connection, TLS or SSL: + +```php +define('MAIL_SMTP_ENCRYPTION', 'ssl'); // Valid values are "null", "ssl" or "tls" +``` + +### Sendmail configuration + +By default the sendmail command will be `/usr/sbin/sendmail -bs` but you can customize that in your config file. + +Example: + +```php +// We choose "sendmail" as mail transport +define('MAIL_TRANSPORT', 'sendmail'); + +// If you need to change the sendmail command, replace the value +define('MAIL_SENDMAIL_COMMAND', '/usr/sbin/sendmail -bs'); +``` + +### PHP native mail function + +This is the default configuration: + +```php +define('MAIL_TRANSPORT', 'mail'); +``` + +### Mailgun HTTP API + +You can use the HTTP API of Mailgun to send emails. + +Configuration: + +```php +// We choose "mailgun" as mail transport +define('MAIL_TRANSPORT', 'mailgun'); + +// Mailgun API key +define('MAILGUN_API_TOKEN', 'YOUR_API_KEY'); + +// Mailgun domain name +define('MAILGUN_DOMAIN', 'YOUR_DOMAIN_CONFIGURED_IN_MAILGUN'); + +// Be sure to use the sender email address configured in Mailgun +define('MAIL_FROM', 'sender-address-configured-in-mailgun@example.org'); +``` + +### Postmark HTTP API + +Postmark is a third-party email service. +If you already use the Postmark integration to receive emails in Kanboard you can use the same provider to send email too. + +This system use their HTTP API instead of the SMTP protocol. + +Here are the required settings for this configuration: + +```php +// We choose "postmark" as mail transport +define('MAIL_TRANSPORT', 'postmark'); + +// Copy and paste your Postmark API token +define('POSTMARK_API_TOKEN', 'COPY HERE YOUR POSTMARK API TOKEN'); + +// Be sure to use the Postmark configured sender email address +define('MAIL_FROM', 'sender-address-configured-in-postmark@example.org'); +``` + +### Sendgrid HTTP API + +You can use the HTTP API of Sendgrid to send emails. + +Configuration: + +```php +// We choose "sendgrid" as mail transport +define('MAIL_TRANSPORT', 'sendgrid'); + +// Sendgrid username +define('SENDGRID_API_USER', 'YOUR_SENDGRID_USERNAME'); + +// Sendgrid password +define('SENDGRID_API_KEY', 'YOUR_SENDGRID_PASSWORD'); +``` + +### The sender email address + +By default, emails will use the sender address `notifications@kanboard.local`. +It's not possible to reply to this address. + +You can customize this address by changing the value of the constant `MAIL_FROM` in your config file. + +```php +define('MAIL_FROM', 'kanboard@mydomain.tld'); +``` + +That can be useful if your SMTP server configuration doesn't accept the default address. + +### How to display a link to the task in notifications? + +To do that, you have to specify the URL of your Kanboard installation in your [Application Settings](http://kanboard.net/documentation/application-configuration). +By default, nothing is defined, so no links will be displayed. + +Examples: + +- http://demo.kanboard.net/ +- http://myserver/kanboard/ +- http://kanboard.mydomain.com/ + +Don't forget the ending slash `/`. + +You need to define that manually because Kanboard cannot guess the URL from a command line script and some people have very specific configuration. + +Troubleshooting +--------------- + +If no emails are send and you are sure that everything is configured correctly: + +- Check your spam folder +- Enable the debug mode and check the debug file `data/debug.log`, you should see the exact error +- Be sure that your server or your hosting provider allow you to send emails +- If you use SeLinux, allow PHP to send emails |