Codebase list davmail / 009f6da
New upstream version 6.0.1.3390 Alexandre Rossi 2 years ago
14 changed file(s) with 163 addition(s) and 59 deletion(s). Raw diff Collapse all Expand all
77 [![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=mguessan_davmail&metric=alert_status)](https://sonarcloud.io/dashboard/index/mguessan_davmail)
88 [![SonarCloud Bugs](https://sonarcloud.io/api/project_badges/measure?project=mguessan_davmail&metric=bugs)](https://sonarcloud.io/dashboard/index/mguessan_davmail)
99 [![SonarCloud Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=mguessan_davmail&metric=vulnerabilities)](https://sonarcloud.io/dashboard/index/mguessan_davmail)
10
11 :warning: **HttpClient 4 migration in progress**: Trunk will not be as stable as usual
1210
1311 Ever wanted to get rid of Outlook ? DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP gateway allowing users to use any mail client with Exchange, even from the internet through Outlook Web Access on any platform, tested on MacOSX, Linux and Windows
1412
2119 ## Download
2220 Download latest DavMail release on Sourceforge
2321
24 [![Download DavMail POP/IMAP/SMTP/Caldav to Exchange](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/davmail/files/davmail/5.5.1/)
22 [![Download DavMail POP/IMAP/SMTP/Caldav to Exchange](https://a.fsdn.com/con/app/sf-download-button)](https://sourceforge.net/projects/davmail/files/davmail/6.0.0/)
2523
2624 ## Trunk builds
2725 Latest working builds are now available on Appveyor:
2826
29 * Windows setup [davmail-5.5.1-trunk-setup.exe](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-5.5.1-trunk-setup.exe?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
30 * Windows 64 bits setup [davmail-5.5.1-trunk-setup64.exe](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-5.5.1-trunk-setup64.exe?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
31 * Windows noinstall package [davmail-5.5.1-trunk-windows-noinstall.zip](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-5.5.1-trunk-windows-noinstall.zip?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
32 * Windows standalone (with embedded Azul JRE-FX) package [davmail-5.5.1-trunk-windows-standalone.zip](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-5.5.1-trunk-windows-standalone.zip?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
27 * Windows setup [davmail-6.0.0-trunk-setup.exe](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-6.0.0-trunk-setup.exe?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
28 * Windows 64 bits setup [davmail-6.0.0-trunk-setup64.exe](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-6.0.0-trunk-setup64.exe?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
29 * Windows noinstall package [davmail-6.0.0-trunk-windows-noinstall.zip](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-6.0.0-trunk-windows-noinstall.zip?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
30 * Windows standalone (with embedded Azul JRE-FX) package [davmail-6.0.0-trunk-windows-standalone.zip](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-6.0.0-trunk-windows-standalone.zip?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
3331
34 * Platform independent package [davmail-5.5.1-trunk.zip](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-5.5.1-trunk.zip?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
32 * Platform independent package [davmail-6.0.0-trunk.zip](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail-6.0.0-trunk.zip?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
3533
36 * Debian package [davmail_5.5.1-trunk-1_all.deb](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail_5.5.1-trunk-1_all.deb?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
34 * Debian package [davmail_6.0.0-trunk-1_all.deb](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2Fdavmail_6.0.0-trunk-1_all.deb?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
3735
38 * OSX application [DavMail-MacOSX-5.5.1-trunk.app.zip](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2FDavMail-MacOSX-5.5.1-trunk.app.zip?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
36 * OSX application [DavMail-MacOSX-6.0.0-trunk.app.zip](https://ci.appveyor.com/api/projects/mguessan/davmail/artifacts/dist%2FDavMail-MacOSX-6.0.0-trunk.app.zip?job=Environment%3A%20JAVA_HOME%3DC%3A%5CProgram%20Files%5CJava%5Cjdk1.8.0)
3937
4038 ## Contribute
4139 Contributions are welcome, you can either [submit a patch](https://sourceforge.net/p/davmail/patches/) or create a [Github pull request](https://github.com/mguessan/davmail/pulls).
0 ## DavMail 6.0.1 2021-12-03
1 Bugfix release with a few Office 365 enhancements
2
3 ### O365
4 - O365: default to MSCAPI on windows for native client certificate access
5 - O365: name button Send instead of OK in manual authenticator dialog
6 - OS65: merge https://github.com/mguessan/davmail/pull/158 Added Copy to Clipboard button Manual auth dialog
7
8 ### Linux
9 - Linux: improve "davmail azul" error handling
10 - Linux: Update changelog in RPM spec
11 - Linux: Fix RPM spec, remote source does not work
12 - Linux: Merge RPM spec contribution from michals on https://build.opensuse.org, check for systemd support and deploy the right service
13
14 ### HC4
15 - HC4: make DavMail Kerberos configuration provider
16
17 ### EWS
18 - EWS: merge https://github.com/mguessan/davmail/pull/106 Support servers only offering EWS/Services.wsdl instead of EWS/Exchange.asmx
19
20 ### Documentation
21 - Doc: Remove HttpClient migration warning
22 - Doc: instructions on standalone setup on Linux for best O365 support
23 - Update readme for Github home page
24
25
026 ## DavMail 6.0.0 2021-07-05
127 First major release in a long time, main change is switch from HttpClient 3 to 4, please report any regression related to this major rewrite.
228 DavMail now supports more O365 configurations, including access to client certificate to validate device trust.
00 <project name="DavMail" default="dist" basedir=".">
11 <property file="user.properties"/>
2 <property name="version" value="6.0.0"/>
2 <property name="version" value="6.0.1"/>
33
44 <path id="classpath">
55 <pathelement location="classes"/>
0 %{?!davrel: %define davrel 6.0.0}
1 %{?!davsvn: %define davsvn 3376}
0 %{?!davrel: %define davrel 6.0.1}
1 %{?!davsvn: %define davsvn 3390}
22 %define davver %{davrel}-%{davsvn}
3
4 %define systemd_support 0%{?suse_version} >= 1210 || 0%{?el7} || 0%{?el8} || 0%{?fedora}
5 %define systemd_macros 0%{?suse_version} >= 1210
36
47 Summary: DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP gateway for Microsoft Exchange
58 Name: davmail
1316 BuildRequires: ant >= 1.7.1, desktop-file-utils
1417 %{?fedora:BuildRequires: lua}
1518 %{?fedora:BuildRequires: systemd}
19 %if %systemd_macros
20 BuildRequires: systemd-rpm-macros
21 %endif
1622 %{?el6:BuildRequires: ant-apache-regexp}
1723 %if 0%{?fedora} == 18
1824 # missing ant dep on original Fedora 18
1925 BuildRequires: xml-commons-apis
20 %endif
21 %if 0%{?is_opensuse}
22 BuildRequires: insserv-compat
2326 %endif
2427 # force Java 7 on RHEL6
2528 %{?el6:BuildRequires: java-1.8.0-openjdk-devel}
9598 # Init scripts, icons, configurations
9699 install -m 0775 src/bin/davmail $RPM_BUILD_ROOT%{_bindir}/davmail
97100 install -m 0644 src/init/davmail-logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/davmail
98 install -m 0775 src/init/davmail-init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/davmail
99 ln -sf %{_sysconfdir}/init.d/davmail $RPM_BUILD_ROOT%{_sbindir}/rcdavmail
100101 install -m 0644 src/etc/davmail.properties $RPM_BUILD_ROOT%{_sysconfdir}
101102 # https://fedoraproject.org/wiki/TomCallaway/DesktopFileVendor
102103 desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications/ src/desktop/davmail.desktop --vendor=""
103104 install -m 0775 src/init/davmail-wrapper $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail/davmail
104 %if 0%{?suse_version} >= 1210 || 0%{?el7} || 0%{?el8} || 0%{?fedora}
105 %if %systemd_support
105106 install -D -m 644 src/init/davmail.service %{buildroot}%{_unitdir}/davmail.service
107 %else
108 install -m 0775 src/init/davmail-init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/davmail
109 ln -sf %{_sysconfdir}/init.d/davmail $RPM_BUILD_ROOT%{_sbindir}/rcdavmail
106110 %endif
107111
108112 # Actual DavMail files
126130 /usr/sbin/groupadd -f -r davmail > /dev/null 2>&1 || :
127131 /usr/sbin/useradd -r -s /sbin/nologin -d /var/lib/davmail -M \
128132 -g davmail davmail > /dev/null 2>&1 || :
133 %if %systemd_macros
134 %service_add_pre davmail.service
135 %endif
129136
130137 %post
131138 file=/var/log/davmail.log
136143 /bin/chown davmail:davmail ${file}
137144 /bin/chmod 0640 ${file}
138145
146 %if %systemd_macros
147 %service_add_post davmail.service
148 %else
139149 # proper service handling http://en.opensuse.org/openSUSE:Cron_rename
140150 %{?fillup_and_insserv:
141151 %{fillup_and_insserv -y davmail}
145155 /sbin/chkconfig --add davmail
146156 #/sbin/chkconfig davmail on
147157 }
158 %endif
148159
149160 %preun
161 %if %systemd_macros
162 %service_del_preun davmail.service
163 if [ "$1" = "0" ]; then
164 %else
150165 if [ "$1" = "0" ]; then
151166 /sbin/service davmail stop > /dev/null 2>&1 || :
152167 /bin/rm -f /var/lib/davmail/pid > /dev/null 2>&1 || :
158173 /sbin/chkconfig davmail off
159174 /sbin/chkconfig --del davmail
160175 }
176 %endif
161177 /usr/sbin/userdel davmail
162178 if [ ! `grep davmail /etc/group` = "" ]; then
163179 /usr/sbin/groupdel davmail
165181 fi
166182
167183 %postun
184 %if %systemd_macros
185 %service_del_postun davmail.service
186 %else
168187 if [ $1 -ge 1 ]; then
169188 %{?restart_on_update:
170189 %{restart_on_update davmail}
175194 /sbin/service davmail condrestart > /dev/null 2>&1 || :
176195 }
177196 fi
197 %endif
178198
179199 %files
180200 %defattr (-,root,root,-)
181201 %{_bindir}/*
202
203 %if %systemd_support
204 %{_unitdir}/davmail.service
205 %else
206 %{_sysconfdir}/init.d/davmail
182207 %{_sbindir}/rcdavmail
183 %{_sysconfdir}/init.d/davmail
184
185 %if 0%{?suse_version} >= 1210 || 0%{?el7} || 0%{?el8} || 0%{?fedora}
186 %{_unitdir}/davmail.service
187208 %endif
188209
189210 %config(noreplace) %{_sysconfdir}/logrotate.d/davmail
197218 %attr(0775,davmail,davmail) %{_localstatedir}/lib/davmail
198219
199220 %changelog
200 * Sun Apr 19 2020 Mickael Guessant <mguessan@free.fr>
201 - update to 5.5.1
221 * Wed Jul 07 2021 Michal Suchanek <msuchanek@suse.com>
222 - Tumbleweed no longer supports init.d services and fails build when installed
223 - Only install one of init.d service and systemd service.
224 - Use systemd service macros on SUSE
225
226 * Mon Jul 05 2021 Mickael Guessant <mguessan@free.fr>
227 - update to 6.0.0
202228
203229 * Wed Apr 15 2020 Mickael Guessant <mguessan@free.fr>
204230 - update to 5.5.0
44 <groupId>davmail</groupId>
55 <artifactId>davmail</artifactId>
66 <packaging>jar</packaging>
7 <version>6.0.0</version>
7 <version>6.0.1</version>
88 <name>DavMail POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange and Office 365 Gateway</name>
99 <organization>
1010 <name>Mickaël Guessant</name>
3838 <developer_name>Mickaël Guessant</developer_name>
3939 <content_rating type="oars-1.1" />
4040 <releases>
41 <release version="6.0.1" date="2021-12-03">
42 <description>
43 <p>
44 Bugfix release with a few Office 365 enhancements
45
46 ### O365
47 - O365: default to MSCAPI on windows for native client certificate access
48 - O365: name button Send instead of OK in manual authenticator dialog
49 - OS65: merge https://github.com/mguessan/davmail/pull/158 Added Copy to Clipboard button Manual auth dialog
50
51 ### Linux
52 - Linux: improve "davmail azul" error handling
53 - Linux: Update changelog in RPM spec
54 - Linux: Fix RPM spec, remote source does not work
55 - Linux: Merge RPM spec contribution from michals on https://build.opensuse.org, check for systemd support and deploy the right service
56
57 ### HC4
58 - HC4: make DavMail Kerberos configuration provider
59
60 ### EWS
61 - EWS: merge https://github.com/mguessan/davmail/pull/106 Support servers only offering EWS/Services.wsdl instead of EWS/Exchange.asmx
62
63 ### Documentation
64 - Doc: Remove HttpClient migration warning
65 - Doc: instructions on standalone setup on Linux for best O365 support
66 - Update readme for Github home page
67 </p>
68 </description>
69 </release>
4170 <release version="6.0.0" date="2021-07-05">
4271 <description>
4372 <p>
1010
1111 # Experimental: download Azul JRE FX with command 'davmail azul'
1212 if [ "x$1" = 'xazul' ]; then
13 curl -L -o $BASE/jre.tgz "https://api.azul.com/zulu/download/community/v1.0/bundles/latest/binary/?jdk_version=15&ext=tar.gz&os=linux&arch=x86&hw_bitness=64&bundle_type=jre&features=fx"
13 if curl -L --fail -o $BASE/jre.tgz "https://api.azul.com/zulu/download/community/v1.0/bundles/latest/binary/?jdk_version=15&ext=tar.gz&os=linux&arch=x86&hw_bitness=64&bundle_type=jre&features=fx"; then
14 echo Downloaded Azul JRE
15 else
16 echo Unable to download Azul JRE
17 exit 1
18 fi;
1419 rm -Rf $BASE/jre
1520 mkdir $BASE/jre
1621 tar xvzf jre.tgz -C $BASE/jre --strip 1
203203 SETTINGS.put("davmail.ssl.keystoreFile", "");
204204 SETTINGS.put("davmail.ssl.keystorePass", "");
205205 SETTINGS.put("davmail.ssl.keyPass", "");
206 SETTINGS.put("davmail.ssl.clientKeystoreType", "");
206 if (isWindows()) {
207 // default to MSCAPI on windows for native client certificate access
208 SETTINGS.put("davmail.ssl.clientKeystoreType", "MSCAPI");
209 } else {
210 SETTINGS.put("davmail.ssl.clientKeystoreType", "");
211 }
207212 SETTINGS.put("davmail.ssl.clientKeystoreFile", "");
208213 SETTINGS.put("davmail.ssl.clientKeystorePass", "");
209214 SETTINGS.put("davmail.ssl.pkcs11Library", "");
183183
184184 } else if (Settings.EWS.equals(mode) || Settings.O365.equals(mode)
185185 // direct EWS even if mode is different
186 || poolKey.url.toLowerCase().endsWith("/ews/exchange.asmx")) {
187 if (poolKey.url.toLowerCase().endsWith("/ews/exchange.asmx")) {
186 || poolKey.url.toLowerCase().endsWith("/ews/exchange.asmx")
187 || poolKey.url.toLowerCase().endsWith("/ews/services.wsdl")) {
188 if (poolKey.url.toLowerCase().endsWith("/ews/exchange.asmx")
189 || poolKey.url.toLowerCase().endsWith("/ews/services.wsdl")) {
188190 ExchangeSession.LOGGER.debug("Direct EWS authentication");
189191 session = new EwsExchangeSession(poolKey.url, poolKey.userName, poolKey.password);
190192 } else {
2828 import javax.swing.text.html.StyleSheet;
2929 import java.awt.*;
3030 import java.net.URISyntaxException;
31 import java.awt.datatransfer.Clipboard;
32 import java.awt.datatransfer.StringSelection;
3133
3234 public class O365ManualAuthenticatorDialog extends JDialog {
3335 final JTextField codeField = new JTextField(30);
125127 protected JPanel getButtonPanel(final String initUrl) {
126128 JPanel buttonPanel = new JPanel();
127129 JButton openButton = new JButton(BundleMessage.format("UI_BUTTON_OPEN"));
128 JButton okButton = new JButton(BundleMessage.format("UI_BUTTON_OK"));
130 JButton copyButton = new JButton(BundleMessage.format("UI_BUTTON_COPY"));
131 JButton sendButton = new JButton(BundleMessage.format("UI_BUTTON_SEND"));
129132 JButton cancelButton = new JButton(BundleMessage.format("UI_BUTTON_CANCEL"));
130133 openButton.addActionListener(evt -> DesktopBrowser.browse(initUrl));
131 okButton.addActionListener(evt -> {
134 sendButton.addActionListener(evt -> {
132135 code = codeField.getText();
133136 setVisible(false);
134137 });
136139 code = null;
137140 setVisible(false);
138141 });
142 copyButton.addActionListener(evt -> {
143 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
144 clipboard.setContents(new StringSelection(initUrl), null);
145 });
139146
140147 buttonPanel.add(openButton);
141 buttonPanel.add(okButton);
148 buttonPanel.add(copyButton);
149 buttonPanel.add(sendButton);
142150 buttonPanel.add(cancelButton);
143151 return buttonPanel;
144152 }
9999
100100 Security.setProperty("ssl.SocketFactory.provider", "davmail.http.DavGatewaySSLSocketFactory");
101101
102 // DavMail is Kerberos configuration provider
103 Security.setProperty("login.configuration.provider", "davmail.http.KerberosLoginConfiguration");
104
102105 // reenable basic proxy authentication on Java >= 1.8.111
103106 System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");
104107
152152 UI_BUTTON_HELP=Help
153153 UI_BUTTON_OK=OK
154154 UI_BUTTON_SAVE=Save
155 UI_BUTTON_COPY=Copy to clipboard
155156 UI_BUTTON_OPEN=Open
156157 UI_BUTTON_DEFAULT=Default
157158 UI_BUTTON_DEFAULT_HELP=Reset default logging levels
152152 UI_BUTTON_OK=OK
153153 UI_BUTTON_OPEN=Aperto
154154 UI_BUTTON_SAVE=Salva
155 UI_BUTTON_COPY=Copia negli appunti
155156 UI_BUTTON_DEFAULT=Predefinito
156157 UI_BUTTON_DEFAULT_HELP=Ripristinare i livelli di registrazione predefinita
157158 UI_CALDAV_PORT=Porta HTTP CalDAV:
1010 <body>
1111
1212 <section name="DavMail Setup on linux">
13 <subsection name="Standalone setup">
14 <p>Prerequisite: Latest OpenJDK with OpenJFX support for best O365 support.
15 Download of latest Azul FX now included in latest davmail script.
16 If SWT is available it provides an improved tray icon (incompatible with O365Interactive mode).
17 If you do not want any tray icon run DavMail with the <code>-notray</code> option.
18 </p>
19
20 <p>Download the the platform independent package from Sourceforge and uncompress it with
21 your favorite tool. If you want improved SWT tray icon add the appropriate SWT library in lib
22 folder from <a href="http://www.eclipse.org/swt/">http://www.eclipse.org/swt/</a>, e.g.
23 swt-4.9-gtk-linux-x86_64.jar
24 </p>
25 <code>unzip davmail-<em>version</em>.zip</code>
26
27 <p>Run <code>./davmail azul</code> once to fetch latest Azul JRE FX.
28 </p>
29
30 <p>Just run <code>./davmail</code> to launch DavMail.
31 You should now see the DavMail gateway icon in the tray :
32 </p>
33 <div style="width: 100%;text-align: center">
34 <img align="middle" src="images/ubuntutray.png" alt=""/>
35 </div>
36 </subsection>
37
1338 <subsection name="Debian package">
1439 <p>This page describes DavMail setup as a graphical application, if you don't want or need a user interface you can run
1540 <a href="serversetup.html">DavMail in server mode</a>
4469 <p>If it still does not work, launch DavMail with notray option:</p>
4570 <code>davmail -notray</code>
4671 </subsection>
47 <subsection name="Manual setup">
48 <p>Prerequisite: OpenJDK 8 or later or Sun (Oracle) JRE 8 or later.
49 If SWT is available it provides an improved tray icon.
50 If you do not want any tray icon run DavMail with the <code>-notray</code> option.
51 </p>
52 <p>Note: some users reported issues with OpenJDK 6, please upgrade to OpenJDK 7 or later in this case.</p>
5372
54 <p>You should first download and install Java, with the graphical package manager or through
55 command line.
56 </p>
57 <p>Under Ubuntu, launch System/Administration/Synaptic Package Manager, quick search
58 default-jre, mark for installation and click Apply
59 </p>
60 <p>Or use the following command:</p>
61 <code>sudo apt-get install default-jre</code>
62
63 <p>Download the the platform independent package from Sourceforge and uncompress it with
64 your favorite tool. If you want improved SWT tray icon add the appropriate SWT library in lib
65 folder from <a href="http://www.eclipse.org/swt/">http://www.eclipse.org/swt/</a>, e.g.
66 swt-4.9-gtk-linux-x86_64.jar
67 </p>
68 <p>Just run <code>davmail</code> to launch DavMail.
69 You should now see the DavMail gateway icon in the tray :
70 </p>
71 <div style="width: 100%;text-align: center">
72 <img align="middle" src="images/ubuntutray.png" alt=""/>
73 </div>
73 <subsection name="Settings">
7474 <p>Adjust DavMail settings :
7575 <a href="gettingstarted.html">Getting started</a>
7676 </p>