Skip to content

Email Setup

Configure email service for your Flowless instance to send verification emails, password resets, and notifications.


Overview

Flowless includes an integrated email service powered by ZeptoMail for sending:

  • Email verification
  • Password reset
  • Welcome emails
  • Account notifications

Default Email Service

ZeptoMail (Included)

All Flowless instances come with ZeptoMail pre-configured:

  • Free Plan: 1,000 emails/month
  • Pro Plan: 10,000 emails/month
  • Enterprise Plan: Unlimited or custom SMTP

No configuration required - emails work out of the box!


Email Configuration

Access Email Settings

  1. Log in to Pubflow.com
  2. Navigate to your Flowless instance
  3. Go to SettingsEmail

Email Templates

Available Templates

Flowless provides customizable email templates:

1. Email Verification

Subject: Verify your email address

Content:

Hi {{name}},

Welcome to {{app_name}}!

Please verify your email address by clicking the link below:

{{verification_link}}

This link will expire in 24 hours.

If you didn't create an account, you can safely ignore this email.

Thanks,
The {{app_name}} Team

2. Password Reset

Subject: Reset your password

Content:

Hi {{name}},

We received a request to reset your password for {{app_name}}.

Click the link below to reset your password:

{{reset_link}}

This link will expire in 1 hour.

If you didn't request a password reset, you can safely ignore this email.

Thanks,
The {{app_name}} Team

3. Welcome Email

Subject: Welcome to !

Content:

Hi {{name}},

Welcome to {{app_name}}! We're excited to have you on board.

Here are some helpful links to get started:
- Dashboard: {{dashboard_link}}
- Documentation: {{docs_link}}
- Support: {{support_link}}

If you have any questions, feel free to reach out to our support team.

Thanks,
The {{app_name}} Team

Customizing Email Templates

Template Variables

Available variables in all templates:

VariableDescriptionExample
User's first nameJohn
User's emailuser@example.com
Your app nameMy App
Email verification linkhttps://...
Password reset linkhttps://...
Dashboard URLhttps://app.myapp.com
Documentation URLhttps://docs.myapp.com
Support URLhttps://support.myapp.com

Edit Templates

  1. Go to SettingsEmailTemplates
  2. Select the template to edit
  3. Modify the subject and content
  4. Use for dynamic content
  5. Preview the template
  6. Save changes

Email Settings

Sender Information

Configure the sender details:

json
{
  "from_name": "My App",
  "from_email": "noreply@myapp.com",
  "reply_to": "support@myapp.com"
}

TIP

Use a professional email address for better deliverability.

Email Verification

Configure email verification behavior:

json
{
  "verification_required": true,
  "verification_link_expiry_hours": 24,
  "send_welcome_email": true
}

Options:

  • Required: Users must verify before login
  • Optional: Users can login without verification
  • Disabled: No verification emails sent

Password Reset

Configure password reset settings:

json
{
  "reset_link_expiry_hours": 1,
  "max_reset_attempts": 3
}

Custom SMTP (Enterprise)

Configure Custom SMTP

For Enterprise plans, you can use your own SMTP server:

json
{
  "smtp_host": "smtp.gmail.com",
  "smtp_port": 587,
  "smtp_secure": true,
  "smtp_user": "your-email@gmail.com",
  "smtp_password": "your-app-password",
  "from_email": "noreply@yourdomain.com",
  "from_name": "Your App"
}

Supported SMTP Providers

  • Gmail: smtp.gmail.com:587
  • SendGrid: smtp.sendgrid.net:587
  • Mailgun: smtp.mailgun.org:587
  • AWS SES: email-smtp.us-east-1.amazonaws.com:587
  • Custom: Any SMTP server

Gmail Setup

  1. Enable 2-factor authentication
  2. Generate an App Password
  3. Use App Password in SMTP settings
json
{
  "smtp_host": "smtp.gmail.com",
  "smtp_port": 587,
  "smtp_secure": true,
  "smtp_user": "your-email@gmail.com",
  "smtp_password": "your-app-password"
}

Testing Email

Send Test Email

  1. Go to SettingsEmailTest
  2. Enter a test email address
  3. Select template to test
  4. Click Send Test Email
  5. Check your inbox

Test via API

bash
curl -X POST https://your-instance.pubflow.com/test/send-email \
  -H "Content-Type: application/json" \
  -H "X-Admin-Key: your_admin_key" \
  -d '{
    "to": "test@example.com",
    "template": "verification",
    "data": {
      "name": "Test User",
      "verification_link": "https://example.com/verify"
    }
  }'

Email Deliverability

Best Practices

  1. Use a custom domain (not @gmail.com)
  2. Set up SPF records
  3. Set up DKIM records
  4. Set up DMARC records
  5. Monitor bounce rates
  6. Keep email list clean

DNS Records

Add these DNS records for better deliverability:

SPF Record

Type: TXT
Name: @
Value: v=spf1 include:_spf.zeptomail.com ~all

DKIM Record

Type: TXT
Name: zeptomail._domainkey
Value: [Provided by ZeptoMail]

DMARC Record

Type: TXT
Name: _dmarc
Value: v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com

Monitoring Email

Email Analytics

View email statistics in the dashboard:

  • Sent: Total emails sent
  • Delivered: Successfully delivered
  • Bounced: Failed deliveries
  • Opened: Email opens (if tracking enabled)
  • Clicked: Link clicks (if tracking enabled)

Email Logs

View detailed email logs:

┌─────────────────────────────────────────────────────────┐
│                    EMAIL LOGS                            │
├─────────────────────────────────────────────────────────┤
│                                                          │
│  2025-12-07 10:00:00  ✅ Verification sent              │
│  To: user@example.com                                    │
│  Status: Delivered                                       │
│                                                          │
│  2025-12-07 09:45:00  ✅ Password reset sent            │
│  To: another@example.com                                 │
│  Status: Delivered                                       │
│                                                          │
│  2025-12-07 09:30:00  ❌ Welcome email failed           │
│  To: invalid@example.com                                 │
│  Status: Bounced (Invalid email)                         │
│                                                          │
└─────────────────────────────────────────────────────────┘

Troubleshooting

Emails Not Sending

  1. Check email settings in dashboard
  2. Verify SMTP credentials (if using custom SMTP)
  3. Check spam folder
  4. Verify DNS records (SPF, DKIM, DMARC)
  5. Check email logs for errors

Emails Going to Spam

  1. Set up SPF, DKIM, DMARC records
  2. Use a custom domain (not free email providers)
  3. Avoid spam trigger words in subject/content
  4. Keep bounce rate low (< 5%)
  5. Warm up your domain (start with low volume)

High Bounce Rate

  1. Validate email addresses before sending
  2. Remove invalid emails from your list
  3. Use double opt-in for registrations
  4. Monitor bounce reports

Next Steps