This guide explains how to set up email notifications for new config submissions using Proton Mail.
When a new config submission is created (GitHub issue with config-submission label), an automated email will be sent to notify the admin.
Features:
- ✉️ HTML and plain text email formats
- 🎨 Beautiful branded email template
- ⚡ Instant notifications (triggered immediately)
- 🔒 Secure SMTP via Proton Mail
- 📊 Direct links to GitHub issue and admin dashboard
- Proton Mail Account - You mentioned you have a paid Proton email
- Proton Mail Bridge or App Password - Required for SMTP access
- GitHub Repository Admin Access - To add secrets
- Download and install Proton Mail Bridge
- Log in with your Proton account
- Bridge will provide you with:
- SMTP server:
127.0.0.1(local) or usesmtp.protonmail.chfor cloud - Port:
587(STARTTLS) or465(SSL) - Username: Your Proton email address
- Password: Generated by Bridge (NOT your account password)
- SMTP server:
Proton Mail doesn't support traditional app passwords like Gmail. You need to use Bridge or configure SMTP directly.
SMTP Settings for Proton Mail:
- Host:
smtp.protonmail.ch - Port:
587(STARTTLS) or465(SSL) - Encryption: TLS/STARTTLS
- Username: Your full Proton email (e.g.,
admin@proton.me) - Password: Your Proton account password OR Bridge-generated password
- Go to your GitHub repository: https://github.com/yusufkaraaslan/skillseekersweb
- Navigate to Settings → Secrets and variables → Actions
- Click New repository secret
- Add the following secrets:
| Secret Name | Value | Example |
|---|---|---|
NOTIFICATION_EMAIL_HOST |
SMTP server address | smtp.protonmail.ch |
NOTIFICATION_EMAIL_PORT |
SMTP port | 587 |
NOTIFICATION_EMAIL_USER |
Your Proton email | notifications@proton.me |
NOTIFICATION_EMAIL_PASSWORD |
Proton password or Bridge password | your-secure-password |
NOTIFICATION_EMAIL_TO |
Admin email to receive notifications | youremail@proton.me |
Example:
NOTIFICATION_EMAIL_HOST = smtp.protonmail.ch
NOTIFICATION_EMAIL_PORT = 587
NOTIFICATION_EMAIL_USER = skillseekers-bot@proton.me
NOTIFICATION_EMAIL_PASSWORD = ********** (from Bridge or account)
NOTIFICATION_EMAIL_TO = yusuf@proton.me
The workflow template is already created but disabled (.yml.template extension).
To activate:
# Rename the template file to activate it
mv .github/workflows/email-notification-template.yml.template \
.github/workflows/config-submission-email-notification.yml
# Commit and push
git add .github/workflows/config-submission-email-notification.yml
git commit -m "feat: Enable email notifications for config submissions"
git push origin master- Create a test GitHub issue with the
config-submissionlabel - The workflow should trigger automatically
- Check your email (defined in
NOTIFICATION_EMAIL_TO) - You should receive a formatted email with submission details
What the email includes:
- Issue number and title
- Author username
- Submission timestamp
- Direct link to GitHub issue
- Direct link to admin dashboard
- SLA reminder (48-hour review)
The email will look like this:
┌─────────────────────────────────────────┐
│ 🔔 New Config Submission │
│ Skill Seekers Admin Notification │
└─────────────────────────────────────────┘
A new config submission has been received:
#123 Add React Documentation Config
👤 Author: @johndoe
📅 Submitted: 2026-01-17T12:00:00Z
⏱️ SLA: Review within 48 hours
[View GitHub Issue →] [Open Admin Dashboard →]
Next Steps:
1. Review the config in the GitHub issue
2. Verify all fields are correct
3. Approve ✅ or Reject ❌ via the admin dashboard
Check:
- ✅ All GitHub secrets are correctly set
- ✅ Workflow file is renamed from
.yml.templateto.yml - ✅ Issue has the
config-submissionlabel - ✅ Check GitHub Actions tab for workflow run status
- ✅ Check spam folder
Solution:
- If using Proton Mail Bridge, make sure it's running
- Verify SMTP credentials are correct
- Try using port
465with SSL instead of587with STARTTLS - Ensure password is from Bridge, not your account password
Solution:
- Check
.github/workflows/directory for the.ymlfile (not.yml.template) - Verify the workflow file is committed and pushed to
masterbranch - Check GitHub Actions → Workflows to see if it's listed
Solution:
- Verify
NOTIFICATION_EMAIL_HOSTis correct (smtp.protonmail.ch) - Check
NOTIFICATION_EMAIL_PORT(use587for STARTTLS or465for SSL) - Ensure your network/firewall allows outbound SMTP connections
✅ DO:
- Use Proton Mail Bridge for secure SMTP access
- Store credentials in GitHub Secrets (never commit to code)
- Use a dedicated email for notifications (e.g.,
skillseekers-bot@proton.me) - Enable 2FA on your Proton account
- Regularly rotate passwords
❌ DON'T:
- Hardcode email credentials in workflow files
- Use your personal email password
- Share GitHub secrets publicly
- Commit
.envfiles with credentials
View workflow runs:
- Go to GitHub repository
- Click Actions tab
- Click Email Notification for Config Submissions workflow
- See run history and logs
Disable notifications temporarily:
# Rename to disable
mv .github/workflows/config-submission-email-notification.yml \
.github/workflows/config-submission-email-notification.yml.disabledIf Proton Mail SMTP doesn't work, consider:
- Discord Webhook - Instant notifications to Discord channel (free, easy setup)
- Slack Webhook - Notifications to Slack workspace
- GitHub Mobile App - Native GitHub notifications (no setup required)
- SendGrid API - Dedicated email API service (free tier: 100 emails/day)
If you encounter issues:
- Check Proton Mail Bridge documentation
- Review GitHub Actions logs
- Check workflow file syntax in GitHub editor
Last Updated: 2026-01-17 Status: ⏳ Template created, waiting for Proton email credentials to activate