Get your API key
All integrations DevOps

GitLab + MailKite

GitLab is a complete DevOps platform. Point its SMTP at MailKite and every merge request, pipeline notification, and invite goes out over your own DKIM-signed domain.

What you need

  • A verified domain with SPF + DKIM published
  • Your API key (mk_live_…)
  • GitLab self-hosted (Omnibus or source install)

Configure SMTP

For Omnibus installations, edit /etc/gitlab/gitlab.rb. For source installations, edit config/gitlab.yml. Add the SMTP configuration block with MailKite credentials.

SMTP Hostsmtp.mailkite.dev
SMTP Port587
EncryptionTLS (STARTTLS)
Usernamemailkite
PasswordYour API key (mk_live_…)
From Addressgitlab@yourdomain.com (on a verified domain)
/etc/gitlab/gitlab.rb
# /etc/gitlab/gitlab.rb (Omnibus) or gitlab.yml

gitlab_rails['smtp_address'] = "smtp.mailkite.dev"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "mailkite"
gitlab_rails['smtp_password'] = "mk_live_..."
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@yourdomain.com'

Test it

Invite a new user to your GitLab instance or trigger a pipeline notification. Check your MailKite dashboard to confirm the message was relayed.

Troubleshooting

  • Emails not sending — confirm the gitlab_email_from address is on a verified domain.
  • 535 Authentication failed — your password must be your mk_live_… API key, not a separate SMTP password.
  • Omnibus reconfigure — after editing gitlab.rb, run gitlab-ctl reconfigure for changes to take effect.
  • GitLab.com — GitLab.com does not support custom SMTP. Use GitLab self-hosted for MailKite integration.

See the SMTP relay docs for the full connection reference, or all integrations for other platforms.