kkapsner / keepassxc-mail

MailExtension to talk to keepassxc
GNU General Public License v3.0
62 stars 5 forks source link
keepassxc mailextension thunderbird-extension

KeePassXC-Mail codebeat badge

Mozilla Thunderbird extension for KeePassXC with Native Messaging.

Based on KeePassXC-Browser and keebird.

Installation for KeePassXC

Hopefully we can get this as simple as for KeePassXC-Browser in the future.

  1. Configure KeePassXC-Browser as described in this document. Make sure to enable the integration for Firefox.
  2. Create the configuration file for Native Messaging as described below in Native Messaging configuration.
  3. Install the add-on in Thunderbird. Either install it from addons.thunderbird.net or download the latest prebuilt xpi or build it yourself (npm install, npm run build, the xpi will be in the mail-ext-artifacts directory).

Installation for KeePass 2

  1. Install KeepassNatMsg and configure it described in this document
  2. Install the add-on in Thunderbird. Either install it from addons.thunderbird.net or download the latest prebuilt xpi or build it yourself (npm install, npm run build, the xpi will be in the mail-ext-artifacts directory).

Native Messaging configuration

Windows

Run the following commands in the PowerShell:

$browserJSONPath=Get-ItemPropertyValue -path 'HKCU:\Software\Mozilla\NativeMessagingHosts\org.keepassxc.keepassxc_browser' -name '(default)'
$mailJSONPath=Join-Path -path (Split-Path -path $browserJSONPath) -childPath de.kkapsner.keepassxc_mail.json

cat $browserJSONPath |
 %{$_ -replace "keepassxc-browser@keepassxc.org","keepassxc-mail@kkapsner.de"} |
 %{$_ -replace "org.keepassxc.keepassxc_browser","de.kkapsner.keepassxc_mail"} |
 Out-File -filePath $mailJSONPath -Encoding ASCII

New-Item -path 'HKCU:\Software\Mozilla\NativeMessagingHosts\de.kkapsner.keepassxc_mail' -type Directory -force
Set-ItemProperty -path 'HKCU:\Software\Mozilla\NativeMessagingHosts\de.kkapsner.keepassxc_mail' -name '(default)' -value $mailJSONPath

Linux

NOTE: if Thunderbird is installed via Snap or flatpak it might not work (see #95 for further details)

Run the following command in a terminal:

cat ~/.mozilla/native-messaging-hosts/org.keepassxc.keepassxc_browser.json \
 | sed s/keepassxc-browser@keepassxc.org/keepassxc-mail@kkapsner.de/ \
 | sed s/org.keepassxc.keepassxc_browser/de.kkapsner.keepassxc_mail/ \
 > ~/.mozilla/native-messaging-hosts/de.kkapsner.keepassxc_mail.json

Mac OS X

Run the following command in a terminal:

cat ~/Library/Application\ Support/Mozilla/NativeMessagingHosts/org.keepassxc.keepassxc_browser.json \
 | sed s/keepassxc-browser@keepassxc.org/keepassxc-mail@kkapsner.de/ \
 | sed s/org.keepassxc.keepassxc_browser/de.kkapsner.keepassxc_mail/ \
 > ~/Library/Application\ Support/Mozilla/NativeMessagingHosts/de.kkapsner.keepassxc_mail.json
ln -s ~/Library/Application\ Support/Mozilla/NativeMessagingHosts/ ~/Library/Mozilla/

Finding entries in the password database

KeePassXC-Mail uses the following schema to find matching entries for a given server:

Tipp

If you have the same user and password for receiving (imap/pop3) and sending (smtp) and do not want to duplicate your entries you can go to the "Browser Integration" section of the entry definition in KeePassXC and add the second URL there.

Translations

You can contribute to keepassxc-mail by translating it and/or improving the translations. For further instructions go to https://github.com/kkapsner/keepassxc-mail/issues/30.

Icon

Icon is based on the icon of KeePassXC-Browser - just the colors are changed to some colors of the Thunderbird.

Privacy note

KeePassXC-Mail itself does not contact any server and does not store any private data. For the automatic update process (before version 0.9) a server hosted by PixelX is contacted. Apart of the usual server logging (IP address, access time and accessed location) nothing is stored. After version 0.9 this extension is hosted on addons.thunderbird.net.

Used third party scripts