Setting Up Email Notifications in Pterodactyl with Postmark

Published on

Your Pterodactyl panel sends zero emails. No password resets, no notifications, nothing. Here is how to configure Postmark as your mail driver with DNS records and the artisan command.

Written by Jochem Wassenaar – CEO of Space-Node – 15+ years combined experience in game server hosting, VPS infrastructure, and 24/7 streaming solutions. Read author bio →

pterodactyl email postmark setup guide

You installed Pterodactyl. Users create accounts. They click "Forgot Password" and nothing arrives. No welcome emails. No server creation confirmations. The panel works perfectly, but it is completely silent on email.

This is one of the most common Pterodactyl setup issues. The panel needs an external email service to send messages. It does not include a built-in mail server. Postmark is one of the cleanest options because it gives you 100 free emails per month on the developer tier and has near-instant delivery.


Step 1: Create a Postmark Account

Go to postmarkapp.com and sign up. After confirming your email, you land on the dashboard.

  1. Click "Servers" in the top navigation
  2. Click "Create Server"
  3. Give it a name like "Panel Notifications"
  4. Open the server and go to "API Tokens"
  5. Copy the "Server API Token". You need this for the panel configuration

Step 2: Verify Your Sending Domain

Postmark requires domain verification so your emails do not land in spam.

  1. In Postmark, go to "Sender Signatures"
  2. Click "Add Domain"
  3. Enter your domain (e.g. panel.space-node.net)
  4. Postmark gives you DNS records to add

Add these DNS records to your domain registrar:

| Type | Host | Value | |---|---|---| | TXT | _dmarc.yourdomain.com | v=DMARC1; p=none | | CNAME | pm-bounces.yourdomain.com | pm.mtasv.net | | TXT | yourdomain.com | (Postmark SPF verification string) | | CNAME | (DKIM selector).yourdomain.com | (Postmark DKIM value) |

Postmark shows you the exact values to copy. After adding the records, click "Verify" in the Postmark dashboard. DNS propagation takes 5 to 60 minutes.


Step 3: Configure Pterodactyl

SSH into your panel server and navigate to the Pterodactyl installation directory:

cd /var/www/pterodactyl

Run the mail environment setup command:

php artisan p:environment:mail

The command asks a series of questions:

Mail Driver: smtp
SMTP Host: smtp.postmarkapp.com
SMTP Port: 587
Encryption: tls
Username: (paste your Postmark Server API Token here)
Password: (paste the same Postmark Server API Token here)
Mail From Address: noreply@yourdomain.com
Mail From Name: Your Panel Name

Postmark uses the API token as both the SMTP username and password. This is not a mistake. That is how their SMTP authentication works.

After answering all questions, the command updates your .env file automatically. You can verify by checking:

cat .env | grep MAIL

You should see:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.postmarkapp.com
MAIL_PORT=587
MAIL_USERNAME=your-api-token
MAIL_PASSWORD=your-api-token
MAIL_FROM=noreply@yourdomain.com
MAIL_FROM_NAME=Your Panel Name
MAIL_ENCRYPTION=tls

Step 4: Clear Config Cache and Test

Clear the cached configuration so the panel picks up the new settings:

php artisan config:clear
php artisan queue:restart

Now test by triggering a password reset from the panel login page. You should receive the email within seconds.


Troubleshooting

Emails still not sending:

Check the queue worker. Pterodactyl sends emails through a background queue. If the queue worker is not running, emails pile up and never send.

php artisan queue:work --queue=high,standard,low

For production, this should be managed by a process supervisor like systemd or supervisord. Check if the pteroq service is running:

systemctl status pteroq

If it is inactive, start and enable it:

systemctl start pteroq
systemctl enable pteroq

Emails going to spam:

Your DNS verification is incomplete. Go back to Postmark and confirm that all four DNS records (SPF, DKIM, DMARC, bounce) show green checkmarks. Incomplete verification causes email providers to flag your messages as suspicious.

"Connection could not be established" error:

Your server's firewall is blocking outbound connections to port 587. Open it:

sudo ufw allow out 587/tcp

Why Postmark Over Other Services

| Service | Free Tier | Delivery Speed | Setup Complexity | |---|---|---|---| | Postmark | 100 emails/month | Near instant | Low | | Mailgun | 100 emails/day for 3 months | Fast | Medium | | SendGrid | 100 emails/day | Fast | Medium | | SMTP2GO | 1000 emails/month | Fast | Low | | Self-hosted (Postfix) | Unlimited | Varies | Very High (and emails often land in spam) |

For a game server panel, you send a small number of emails (password resets, server notifications). Postmark's free tier covers this easily and their delivery reputation is excellent.

On Space-Node, the panel comes pre-configured with email notifications. You do not need to set up any of this yourself. Check the plans here.

Jochem Wassenaar

About the Author

Jochem Wassenaar – CEO of Space-Node – Experts in game server hosting, VPS infrastructure, and 24/7 streaming solutions with 15+ years combined experience.

Since 2023
500+ servers hosted
4.8/5 avg rating

Our team specializes in Minecraft, FiveM, Rust, and 24/7 streaming infrastructure, operating enterprise-grade AMD Ryzen 9 hardware in Netherlands datacenters. We maintain GDPR compliance and ISO 27001-aligned security standards.

View Space-Node's full team bio and credentials →

Launch Your VPS Today

Get started with professional VPS hosting powered by enterprise hardware. Instant deployment and 24/7 support included.

Setting Up Email Notifications in Pterodactyl with Postmark