From 99e5ff81619e0914048d8db4d488eba40e12005f Mon Sep 17 00:00:00 2001 From: Michael Kuron Date: Sun, 31 Oct 2021 17:10:57 +0100 Subject: [PATCH] Update Thunderbird client instructions for built-in CardDAV support --- docs/client/client-thunderbird.md | 66 ++---------- docs/download/build-thunderbird-plugins.sh | 61 ----------- docs/download/thunderbird-plugins.php | 118 --------------------- docs/third_party-thunderbird.md | 28 ----- mkdocs.yml | 1 - 5 files changed, 6 insertions(+), 268 deletions(-) delete mode 100755 docs/download/build-thunderbird-plugins.sh delete mode 100644 docs/download/thunderbird-plugins.php delete mode 100644 docs/third_party-thunderbird.md diff --git a/docs/client/client-thunderbird.md b/docs/client/client-thunderbird.md index c863d4e5f..7fd3efa8c 100644 --- a/docs/client/client-thunderbird.md +++ b/docs/client/client-thunderbird.md @@ -6,76 +6,22 @@ If this is the first time you launched Thunderbird, it asks you whether you would like a new email address. Click Skip this and use my existing email and proceed to step 4.
  • - Go to the Tools menu and select Account Settings. -
  • -
  • - Click the Account Actions dropdown menu at the bottom left and select Add Mail Account. + Go to the File menu and select New, Existing Mail Account....
  • Enter your name (), email address () and your password. Make sure the Remember password checkbox is selected and click Continue.
  • - Once the configuration has been automatically detected, click Done. + Once the configuration has been automatically detected, make sure IMAP is selected and click Done.
  • - If you already had other accounts configured in Thunderbird, select the new one () on the left, click the Account Actions dropdown and select Set as Default. + To use your contacts from the server, click on the arrow next to "Address Books" and click the Connect button on each address book you would like to use.
  • - Close the account settings window with the OK button. + To use your calendars from the server, click on the arrow next to "Calendars" and click the Connect button on each calendar you would like to use.
  • -
  • - In your web browser, download SOGo ConnectorSOGo Connector. -
  • -
  • - Back in Thunderbird, go to the Tools menu and select Add-ons. -
  • -
  • - Click Extensions on the left and ensure that the Lightning add-on is already installed. It is installed by default in the Windows and macOS versions of Thunderbird, but if you are running Linux and installed Thunderbird through your distribution's package manager, Lightning might be available as a separate package (e.g. xul-ext-lightning on Ubuntu). -
  • -
  • - Click Extensions on the left, click the little gear icon at the top and select Install Add-on From File. Select the file you downloaded in step 9, click Open and, after waiting for a few seconds, Install Now. -
  • -
  • - Click the Restart Now button at the top that appears. -
  • -
  • - Thunderbird briefly shows a message that it is updating extensions, then restarts automatically once more. -
  • -
  • - When you are prompted to authenticate for , enter your email address and password, check Use Password Manager and click OK. +
  • + Click Finish to close the Account Setup window.
  • -
    -Automatic configuration of calendars and address books in Thunderbird is not currently supported. - You can ask your server administrator to enable SOGo Connector if you need it. -
    - -
    -Automatic configuration of calendars and address books (from step 9 onward) in Thunderbird is only supported if your server administrator has enabled [SOGo Connector](https://mailcow.github.io/mailcow-dockerized-docs/third_party-thunderbird). -
    - -## Different method of connecting Cal-/CardDAV in Thunderbird with automatic detection of address books and calendars - -Instead of using SOGo Connector you can use a combination of - -- https://addons.thunderbird.net/de/thunderbird/addon/tbsync/ and -- https://addons.thunderbird.net/de/thunderbird/addon/dav-4-tbsync/ - -1. To add your Cal-/CardDAV accounts go to `Tools` and find TbSync - -![TbSync](../images/thunderbird-tbsync.png) - -2. You can add new accounts via the CalDAV & CardDAV provider: - -![TbSync - CalDAV & CardDAV Provider](../images/thunderbird-tbsync-caldav.png) - -3. Choose "Automatic Configuration". Use your mail address as account and username. Use your mail password as DAV password. The server URL is your MAILCOW_HOSTNAME (specifying any protocol is not necessary, just enter the full domain). - -4. Now tick the checkbox for "Enable and synchronize this account" in the synchronization status tab: - -![TbSync - Enable](../images/thunderbird-tbsync-enable.png) - -5. Several available resources should appear in the same window area now. Tick all checkboxes of the resources (address books and calendars) that you want to sync. Choose a synchronization period (in minutes) in the same window area before clicking on "Synchronize now". If you leave the sync at "0" it will only sync manually so choose at least 30 minutes for periodic synchronization. - -If you want to manually synchronize you can find this option under "Account actions" - the dropdown-menu where you added the Cal-/CardDAV account (step 2). diff --git a/docs/download/build-thunderbird-plugins.sh b/docs/download/build-thunderbird-plugins.sh deleted file mode 100755 index 35ff84a26..000000000 --- a/docs/download/build-thunderbird-plugins.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash - -set -e - -MAILHOST=$1 -if [ "$MAILHOST" = "" ]; then - echo "Usage: echo example.com example.org | $0 mailcow.example.com" - exit 1 -fi - -cd $(dirname $0) - -# we have to use the master branch, because there is no tag or release at the moment -wget -O connector.zip https://github.com/inverse-inc/sogo-connector/archive/master.zip -unzip connector.zip - -# build custom connector -while read DOMAINS; do - for DOMAIN in $DOMAINS; do - echo "Building SOGo Connector for $DOMAIN hosted on $MAILHOST" - cd sogo-connector-master - mkdir -p custom/${DOMAIN} - cp -r custom/sogo-demo/* custom/${DOMAIN}/ - sed -i "s/https:\/\/demo\.sogo\.nu/https:\/\/${MAILHOST}/g" custom/${DOMAIN}/chrome/content/sogo-connector/general/custom-preferences.js - sed -i "s/plugins\/updates\.php[?]/thunderbird-plugins.php?domain=${DOMAIN}\&/g" chrome/content/sogo-connector/global/extensions.rdf - # adjust sogo-connector.autocomplete.server.urlid - sed -i "s/\"public\"/\"${MAILHOST}\"/g" custom/${DOMAIN}/chrome/content/sogo-connector/general/custom-preferences.js - # remove wrong timezone setting - sed -i 's/char_pref(\"calendar\.timezone\.local\", \"\/mozilla\.org\/20070129_1\/America\/Montreal\");//g' custom/${DOMAIN}/chrome/content/sogo-connector/general/custom-preferences.js - - echo 'bool_pref("mail.collect_email_address_outgoing", false);' >> custom/${DOMAIN}/chrome/content/sogo-connector/general/custom-preferences.js - make build=${DOMAIN} - CONNECTOR_VER=$(grep \"version\" manifest.json | awk -F '"' '{print $4}') - CONNECTOR_MIN_VER=$(grep strict_min_version manifest.json | grep -Eo '[0-9\.]+' | head -n 1) - mv sogo-connector-*.xpi ../sogo-connector-${CONNECTOR_VER}-${DOMAIN}.xpi - cd .. - done -done - -# if you add any other plugins below, you need to add them into extensions.rdf as in the line commented out above - -# # download Sieve plugin -# SIEVE_RELEASES=$(wget --header="Accept: application/vnd.github.v3+json" -qO - https://api.github.com/repos/thsmi/sieve/releases) -# SIEVE_VER=$(echo "$SIEVE_RELEASES" | grep -o '"tag_name": *"[^"]*"' | head -n 1 | awk -F '"' '{print $4}') -# SIEVE_URL=$(echo "$SIEVE_RELEASES" | grep -o '"browser_download_url": *"[^"]*"' | head -n 1 | awk -F '"' '{print $4}') -# wget -O sieve-${SIEVE_VER}.xpi ${SIEVE_URL} -# unset SIEVE_RELEASES -# -# # download ACL plugin -# IMAP_ACL_RELEASES=$(wget -qO - 'https://addons.thunderbird.net/en-US/thunderbird/addon/imap-acl-extension/') -# IMAP_ACL_VER=$(echo "$IMAP_ACL_RELEASES" | grep version-number | awk -F '[<>]' '{print $3}' | head -n 1) -# IMAP_ACL_URL=$(echo "$IMAP_ACL_RELEASES" | grep -o 'https://.*\.xpi' | head -n 1) -# wget -O imap_acl_extension-${IMAP_ACL_VER}-tb.xpi ${IMAP_ACL_URL} -# unset IMAP_ACL_RELEASES - -# update version file -echo "sogo-connector@inverse.ca;${CONNECTOR_VER};sogo-connector-${CONNECTOR_VER}-__DOMAIN__.xpi;${CONNECTOR_MIN_VER}" > version.csv -# echo "sieve@mozdev.org;${SIEVE_VER};sieve-${SIEVE_VER}.xpi" >> version.csv -# echo "imap-acl@sirphreak.com;${IMAP_ACL_VER};imap_acl_extension-${IMAP_ACL_VER}-tb.xpi" >> version.csv - -rm -rf sogo-connector-master *.zip diff --git a/docs/download/thunderbird-plugins.php b/docs/download/thunderbird-plugins.php deleted file mode 100644 index 889cdf35d..000000000 --- a/docs/download/thunderbird-plugins.php +++ /dev/null @@ -1,118 +0,0 @@ - 'thunderbird', - 'version' => $row[1], - 'filename' => str_replace('__DOMAIN__', $_GET["domain"], $row[2]), - ); - if (count($row) > 3) - { - $plugins[$row[0]]['min_version'] = $row[3]; - } - else - { - $plugins[$row[0]]['min_version'] = '30.0'; - } - } - fclose($fh); - } -} - -$applications -= array( "thunderbird" => "{3550f703-e582-4d05-9a08-453d09bdfdc6} - __MIN_VERSION__ - 99.*" ); - -$pluginname = $_GET["plugin"]; -$plugin =& $plugins[$pluginname]; -$application =& $applications[$plugin["application"]]; - -if ( $plugin ) { - $platform = $_GET["platform"]; - if ( $platform - && file_exists( $platform . "/" . $plugin["filename"] ) ) { - $plugin["filename"] = $platform . "/" . $plugin["filename"]; - } - elseif ( !file_exists( $plugin["filename"] ) ) { - $plugin = false; - } -} - -if (preg_match('/Thunderbird\/([0-9\.]+)/', $_SERVER['HTTP_USER_AGENT'], $client_ver)) -{ - $client_ver = $client_ver[1]; -} -else -{ - $client_ver = $plugin['min_version']; -} - -if ( $plugin ) { - if (version_compare($client_ver, $plugin['min_version'], '<')) { - header("Content-type: text/plain; charset=utf-8", true, 404); - echo( 'Plugin not compatible with client version' ); - exit; - } - header("Content-type: text/xml; charset=utf-8"); - echo ('' . "\n"); -?> - - - - - -
  • - - - - - - - - - - -
  • -
    -
    -
    -
    - diff --git a/docs/third_party-thunderbird.md b/docs/third_party-thunderbird.md deleted file mode 100644 index 8f018c9de..000000000 --- a/docs/third_party-thunderbird.md +++ /dev/null @@ -1,28 +0,0 @@ -# Build the SOGo Connector plugin - -Install GNU Make, tar, and ZIP if you don't already have them installed. On Debian/Ubuntu, this can be done using - -``` -apt-get install make tar zip -``` - -Next, go to `data/web` inside mailcow-dockerized. -Place the file [thunderbird-plugins.php](download/thunderbird-plugins.php) into that directory. -Create a new directory `thunderbird-plugins` and place the script [build-plugins.sh](download/build-thunderbird-plugins.sh) into it. -Finally, execute the script with your hostname as an argument and piping it the names of all domains that mailcow handles. -All of this can be done using the following commands: - -``` -cd data/web -curl -LO https://github.com/mailcow/mailcow-dockerized-docs/raw/master/docs/download/thunderbird-plugins.php -mkdir thunderbird-plugins -cd thunderbird-plugins -curl -Lo build-plugins.sh https://github.com/mailcow/mailcow-dockerized-docs/raw/master/docs/download/build-thunderbird-plugins.sh -chmod +x build-plugins.sh -echo example.com example.org | ./build-plugins.sh mailcow.example.com -``` - -# Install it in Thunderbird - -After you have set up your mailcow IMAP account in Thunderbird, download the SOGo Connector plugin for your domain, e.g. https://mailcow.example.com/thunderbird-plugins/sogo-connector-68.0.1-example.com.xpi (see `data/web/thunderbird-plugins`), and install it into Thunderbird. -All your address books and calendars will be configured automatically. diff --git a/mkdocs.yml b/mkdocs.yml index be490673a..10b570ebe 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -142,7 +142,6 @@ nav: - 'Nextcloud': 'third_party-nextcloud.md' - 'Portainer': 'third_party-portainer.md' - 'Roundcube': 'third_party-roundcube.md' - - 'SOGo Connector for Thunderbird': 'third_party-thunderbird.md' extra: palette: primary: "indigo"