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)
We usually use Postmark for events including Malta CTF, idek CTF, DiceCTF, and SekaiCTF. SES is inexpensive at higher volume when the event already uses AWS. SMTP works with any mail service that provides credentials, and Mailgun is another hosted option. Account limits and existing infrastructure usually matter more than the provider itself.
Configuration
Configure a provider and sender address. You can also add an email-specific logo:
email: provider: name: emails/smtp options: smtpUrl: smtp://user:password@mail.example.com:587 from: noreply@example.com logoUrl: https://example.com/email-logo.png # OptionalWhen email.logoUrl is unset, emails use the top-level logoLightUrl and logoDarkUrl values instead. The logo can also be set with the RCTF_EMAIL_LOGO_URL environment variable.
Note
Without an email provider, registration skips verification, account recovery is unavailable, and email-based division ACLs cannot be enforced.
Registration and recovery emails are rate limited by client IP and destination address, with or without captcha. Configure proxy trust correctly so the limiter sees the participant’s IP rather than the proxy’s.
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| Option | Environment Variable | Description |
|---|---|---|
smtpUrl |
RCTF_SMTP_URL |
SMTP 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| Option | Environment Variable | Description |
|---|---|---|
awsKeyId |
RCTF_SES_KEY_ID |
AWS access key ID |
awsKeySecret |
RCTF_SES_KEY_SECRET |
AWS secret access key |
awsRegion |
RCTF_SES_REGION |
AWS 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| Option | Environment Variable | Description |
|---|---|---|
serverToken |
RCTF_POSTMARK_SERVER_TOKEN |
Postmark 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| Option | Environment Variable | Description |
|---|---|---|
apiKey |
RCTF_MAILGUN_API_KEY |
Mailgun API key |
domain |
RCTF_MAILGUN_DOMAIN |
Mailgun sending domain |