Proton to Odoo19 bridge module
Proton Mail enforces end-to-end encryption (E2EE) and zero-access architecture, standard SMTP/IMAP setups fail if you try to connect Odoo directly to the public Proton cloud. Odoo cannot decrypt your mailbox, and Proton won't accept plaintext connections from external applications.
To establish an automated, secure pipeline between your Odoo 19 database and Proton, you must route communications through a localized decryption layer: Proton Mail Bridge.
The Architecture
Since your Odoo 19 instance runs on a local/private server context (/opt/odoo19), you run Proton Mail Bridge as a headless background daemon on that exact same host (or within your private virtual network).
[ Odoo 19 App Server ]
│
▼ (Standard Local TLS: Port 1143 / 1025)
[ Proton Mail Bridge Daemon (Localhost) ]
│
▼ (End-to-End Encrypted Tunnel)
[ Proton Mail Cloud Infrastructure ]
Step 1: Install Headless Proton Mail Bridge on the Server
Log into your server terminal as root and install the official CLI bridge client:
Bash
# Add Proton repository keys and download the bridge CLI client
wget https://proton.me/download/bridge/protonmail-bridge_cli_amd64.deb
apt install ./protonmail-bridge_cli_amd64.deb -y
Next, run the interactive bridge configuration utility to link your secure account:
Bash
protonmail-bridge --cli
- Use the
logincommand within the prompt interface. - Enter your Proton credentials and handling keys.
- Type
change modeand ensure it is set to Combined or split SMTP/IMAP configurations. - Type
infoto display your automatically generated local passwords and port assignments. Keep these open.
Step 2: Configure Odoo 19 Native Mail Connections
You do not need a messy custom third-party module to bridge the data vectors; Odoo 19’s native technical server matrix is built to talk to local SMTP/IMAP endpoints.
1. Outgoing Mail (SMTP Gateway)
- Go to Settings -> Activate Developer Mode.
- Navigate to Settings -> Technical -> Email -> Outgoing Mail Servers.
- Create a new record:
- Description:
Proton Bridge Outbound - SMTP Server:
127.0.0.1(Your local host address) - SMTP Port:
1025(Or the alternative port supplied byprotonmail-bridge --cli info) - Connection Security:
STARTTLS - Username: Your full Proton email address.
- Password: The unique Bridge app password (not your login password).
- Description:
- Click Test Connection.
2. Incoming Mail (IMAP Sourcing to Chatter, Blogs, & Leads)
- Navigate to Settings -> Technical -> Email -> Incoming Mail Servers.
- Create a new record:
- Name:
Proton Bridge Inbound - Server Type:
IMAP Server - Server Name:
127.0.0.1 - Port:
1143 - SSL/TLS: Check this box.
- Username: Your Proton email address.
- Password: The unique Bridge app password.
- Name:
- Choose your target action (e.g., Create a new Lead/Opportunity or append a Project Task).
- Click Test & Confirm.
Step 3: Keep the Bridge Alive (Systemd Service)
To prevent your AI agents and email channels from dropping out after closing the SSH session, turn the Proton Bridge into a system daemon.
Create a systemd unit file at /etc/systemd/system/proton-bridge.service:
Ini, TOML
[Unit]
Description=Proton Mail Bridge Headless Daemon for Odoo ERP
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/protonmail-bridge --noninteractive
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Reload and activate the service:
Bash
systemctl daemon-reload
systemctl enable proton-bridge --now
The Result: True Collaborative Decentralization
Once active, your automated Python scripts (like the news_scraper_agent.py or the trend_crawler.py we built earlier) can interact with customers via standard Odoo workflows (message_post()).
Odoo passes the data locally to the Bridge, which packages it into Proton's zero-access E2EE architecture before sending it to the global web, ensuring complete communication privacy for your enterprise workspace.
Member discussion