ProtonMail SMTP Settings
Configure ProtonMail for sending emails via SMTP using Proton Mail Bridge. End-to-end encrypted email service based in Switzerland.
Proton Mail Bridge Required
ProtonMail does not offer direct SMTP access. You must install and run Proton Mail Bridge on your local computer. Bridge is available only for paid ProtonMail accounts.
table_chart Quick Reference (via Bridge)
| Setting | Value |
|---|---|
| SMTP Server | 127.0.0.1 (localhost) |
| Port (STARTTLS) | 1025 |
| IMAP Port | 1143 |
| Username | Your ProtonMail email address |
| Password | Bridge-generated password |
| Encryption | STARTTLS |
| Required Plan | Paid plan (Mail Plus or higher) |
How Proton Mail Bridge Works
Proton Mail Bridge runs locally on your computer and acts as a translator between your email client and ProtonMail's encrypted servers.
- Your app connects to Bridge on localhost
- Bridge encrypts the email with your ProtonMail key
- Bridge sends encrypted email to ProtonMail servers
- End-to-end encryption is preserved
End-to-end encryption maintained
Step-by-Step Setup Guide
Download Proton Mail Bridge
Download Bridge from proton.me/mail/bridge:
- Available for Windows, macOS, and Linux
- Requires a paid ProtonMail account
- Install and launch the application
Sign In to Bridge
Log in with your ProtonMail credentials:
- Open Proton Mail Bridge
- Click 'Add account'
- Enter your ProtonMail email and password
- Complete 2FA if enabled
Get Bridge Credentials
Bridge generates unique SMTP credentials:
- Click on your account in Bridge
- Select 'Mailbox configuration'
- Copy the generated password
- Note the SMTP settings shown
This password is different from your ProtonMail account password!
Configure Your Application
Use these settings (Bridge must be running):
- Server:
127.0.0.1 - Port:
1025 - Security: STARTTLS
- Username: Your ProtonMail email
- Password: Bridge-generated password
Code Examples
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# ProtonMail Bridge settings (Bridge must be running!)
SMTP_HOST = "127.0.0.1"
SMTP_PORT = 1025
SMTP_USER = "your-email@protonmail.com"
SMTP_PASS = "bridge-generated-password"
# Create message
msg = MIMEMultipart()
msg['From'] = SMTP_USER
msg['To'] = "recipient@example.com"
msg['Subject'] = "Test Email via ProtonMail"
body = "This is a test email sent via ProtonMail Bridge."
msg.attach(MIMEText(body, 'plain'))
# Send email via Bridge
with smtplib.SMTP(SMTP_HOST, SMTP_PORT) as server:
server.starttls()
server.login(SMTP_USER, SMTP_PASS)
server.send_message(msg)
print("Email sent successfully!")
Limitations
close Not Suitable For
- Server-side applications
- Cloud/headless environments
- High-volume sending
- Web applications without local access
check Works Well For
- Desktop email clients
- Local development
- Personal automation scripts
- Privacy-sensitive communications
Frequently Asked Questions
Can I use ProtonMail SMTP on a server?
Not easily. Bridge requires a desktop environment. For servers, consider using a different email provider for sending.
Is Bridge free?
Bridge itself is free, but it requires a paid ProtonMail account (Mail Plus, Proton Unlimited, or Business plan).
Why does ProtonMail require Bridge?
ProtonMail uses end-to-end encryption. Bridge handles the encryption/decryption locally so your emails remain secure while being compatible with standard email protocols.