rCTF Docs
Overview

Email providers

Configure email delivery with SMTP, Amazon SES, Postmark, or Mailgun.

Email providers send verification and recovery emails. You need one configured if you want email-based registration, account recovery, or email changes to work.

Tip (What we use in practice)

For events we run or help operate (including Malta CTF, idek CTF, and DiceCTF), we typically use Postmark for transactional delivery. The others are perfectly reasonable choices too. SMTP works with any provider you already have credentials for, SES is the cheapest at volume if you’re already on AWS, and Mailgun is a fine alternative if you prefer it. Pick whichever fits your existing infrastructure.

Configuration#

Email config includes the provider, a sender address, and an optional logo URL for email templates:

email:
provider:
name: emails/smtp
options:
smtpUrl: smtp://user:password@mail.example.com:587
from: noreply@example.com
logoUrl: https://example.com/logo.png # Optional
Note

Without an email provider, registrations complete immediately without verification (no email goes out), users can’t recover their accounts, and email-based division ACLs can’t be enforced.

Providers#

Sends emails over SMTP using Nodemailer.

email:
provider:
name: emails/smtp
options:
smtpUrl: smtp://user:password@mail.example.com:587
from: noreply@example.com
OptionEnvironment VariableDescription
smtpUrlRCTF_SMTP_URLSMTP connection URL

Sends emails through Amazon Simple Email Service.

email:
provider:
name: emails/ses
options:
awsKeyId: AKIAIOSFODNN7EXAMPLE
awsKeySecret: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
awsRegion: us-east-1
from: noreply@example.com
OptionEnvironment VariableDescription
awsKeyIdRCTF_SES_KEY_IDAWS access key ID
awsKeySecretRCTF_SES_KEY_SECRETAWS secret access key
awsRegionRCTF_SES_REGIONAWS region
Warning

Make sure your SES account is out of the sandbox and the sender address is verified before you use it.

Sends emails through the Postmark API.

email:
provider:
name: emails/postmark
options:
serverToken: your-server-token
from: noreply@example.com
OptionEnvironment VariableDescription
serverTokenRCTF_POSTMARK_SERVER_TOKENPostmark server token

Sends emails through the Mailgun API.

email:
provider:
name: emails/mailgun
options:
apiKey: your-api-key
domain: mail.example.com
from: noreply@example.com
OptionEnvironment VariableDescription
apiKeyRCTF_MAILGUN_API_KEYMailgun API key
domainRCTF_MAILGUN_DOMAINMailgun sending domain
Esc

Start typing to search the docs.