Many SaaS applications rely on external email services such as SendGrid or Amazon SES to deliver
emails. This isn’t always portable to enterprise installations because these services might not
be reachable. It’s preferable to provide configuration options to let your customer configure
their own SMTP gateway, and use that to deliver emails for on-prem installations.
There are many settings that are needed to completely configure an SMTP connection. To help,
we’ve created a config snippet you can copy and paste into your YAML. This YAML snippet is at
the bottom of this page. We also have created and included in the snippet an
SMTP Auth test command.
This will create a test button next to the settings so that the customer can validate they’ve
entered valid information.
Following this example, you’ll have a settings section that looks like this:
The YAML to create this is:
- name: smtp_on
title: Email Server Settings
description: Configure your outgoing email server settings
items:
- name: smtp_enabled
default: smtp_enabled_no
type: select_one
items:
- name: smtp_enabled_yes
title: Enable SMTP
recommended: true
type: text
- name: smtp_enabled_no
title: Disable SMTP
type: text
- name: smtp
when: smtp_enabled=smtp_emabled_yes
test_proc:
display_name: Test SMTP Authentication
command: smtp_auth
arg_fields:
- smtp_host_address
- smtp_starttls
- smtp_auth_type
- smtp_username
- smtp_password
items:
- name: smtp_host_address
title: SMTP Server Address
default: smtp.gmail.com:587
help_text: "*please note you must include the port like so: `smtp.gmail.com:587`*"
type: text
required: true
- name: smtp_username
title: SMTP Username
help_text: A valid user account to log in to your SMTP server
type: text
affix: left
- name: smtp_password
title: SMTP Password
help_text: The password for the user
type: password
affix: right
- name: smtp_from_address
title: From Address
help_text: The from address that will be used in outgoing emails
type: text
- name: smtp_starttls
title: Encryption Type
default: 1
type: select_one
items:
- name: 1
title: Enable STARTTLS
recommended: true
type: text
- name: 0
title: Disable STARTTLS
type: text
- name: smtp_auth_type
default: Login
title: SMTP Authentication Type
type: select_one
items:
- name: Login
title: Login
type: text
- name: CRAM-MD5
title: CRAM-MD5
type: text
- name: Plain
title: Plain
type: text