If not otherwise noted, all emails will be sent instantly (unless spooling is activated in swiftmailer.yaml).
You have to adapt two settings in your
.env configuration file:
MAILER_URL- your smtp connection details for sending emails
MAILER_FROM- an application wide “from” address for all emails
The following emails will be sent by Kimai:
You can test your email configuration with the command
bin/console -vv swiftmailer:email:send, which will ask you for all required fields:
The email will be sent using the transport from your configured
If your SMTP credentials contain special character like
@ or other ones which are not URL-safe, then they need to be urlencoded.
This can be done with one command, assuming your password is
mG0/d1@3aT.Z)s then execute:
php -r "echo urlencode('mG0/d1@3aT.Z)s');" mG0%2Fd1%403aT.Z%29s
MAILER_URL might look like this:
If you have the following error in your logfile:
app.ERROR: Exception occurred while flushing email queue: Expected response code 354 but got code "503", with message "503-All RCPT commands were rejected with this error: 503-R1: HELO should be a FQDN or address literal (See RFC 2821 126.96.36.199) 503 Valid RCPT command must precede DATA "  
you might suffer from a wrong configuration (read the documentation linked above) and try a full featured SMTP URL with a dedicated user account for authentication:
Password should not contain URL characters like ‘&@:’, which can cause problems parsing the SMTP URL. If you have to use one of these characters, you can:
$ php -r "echo urlencode('your@password');"
If that still doesn’t help, try to set a
local_domain in the local.yaml config file:
swiftmailer: local_domain: 'kimai.local'
local_domain will be used for the
HELO command when SwiftMailer contacts your SMTP.