|
|
<p><a name="top"></a></p>
|
|
|
<h1 id="fairemail-support">FairEmail support</h1>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F">Google
|
|
|
Translate</a></p>
|
|
|
<p>🇬🇧 If you have a question, please check the following frequently
|
|
|
asked questions first. <a href="#quick-support">At the bottom</a>, you
|
|
|
can find out how to ask other questions, request features, and report
|
|
|
bugs. You will receive an answer in your own language.</p>
|
|
|
<p>🇩🇪 Wenn Sie eine Frage haben, überprüfen Sie bitte zuerst die
|
|
|
folgenden häufig gestellten Fragen. <a href="#quick-support">Unten</a>
|
|
|
erfahren Sie, wie Sie andere Fragen stellen, Funktionen anfordern und
|
|
|
Fehler melden können. Sie erhalten eine Antwort in Ihrer eigenen
|
|
|
Sprache.</p>
|
|
|
<p>🇫🇷 Si vous avez une question, veuillez d’abord vérifier les questions
|
|
|
fréquemment posées suivantes. <a href="#quick-support">En bas</a>, vous
|
|
|
pouvez découvrir comment poser d’autres questions, demander des
|
|
|
fonctionnalités et signaler des bogues. Vous recevrez une réponse dans
|
|
|
votre propre langue.</p>
|
|
|
<p><br></p>
|
|
|
<p><strong>Important</strong></p>
|
|
|
<p>There is a lot of technical information in this FAQ, mostly for
|
|
|
specific problems or specific use cases. For other more common
|
|
|
questions, please see the tutorials below or contact me via <em>Get
|
|
|
support</em> below.</p>
|
|
|
<p><br></p>
|
|
|
<h2 id="tutorials">Tutorials</h2>
|
|
|
<p>Please <a
|
|
|
href="https://github.com/M66B/FairEmail/tree/master/tutorials">see
|
|
|
here</a> for tutorials 📖.</p>
|
|
|
<h2 id="index">Index</h2>
|
|
|
<ul>
|
|
|
<li><a href="#authorizing-accounts">Authorizing accounts</a></li>
|
|
|
<li><a href="#howto">How to …?</a></li>
|
|
|
<li><a href="#known-problems">Known problems</a></li>
|
|
|
<li><a href="#planned-features">Planned features</a></li>
|
|
|
<li><a href="#frequently-asked-questions">Frequently Asked Questions</a>
|
|
|
(FAQ)</li>
|
|
|
<li><a href="#get-support">Get support</a></li>
|
|
|
</ul>
|
|
|
<h2>
|
|
|
<a name="authorizing-accounts"></a>Authorizing accounts
|
|
|
</h2>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23authorizing-accounts">Google
|
|
|
Translate</a></p>
|
|
|
<p>In most cases, the quick setup wizard will be able to automatically
|
|
|
identify the correct configuration.</p>
|
|
|
<p>If the quick setup wizard fails, you’ll need to manually set up an
|
|
|
account (to receive email) and an identity (to send email). For this
|
|
|
you’ll need the IMAP and SMTP server addresses and port numbers, whether
|
|
|
SSL/TLS or STARTTLS should be used and your username (mostly, but not
|
|
|
always, your email address) and your password.</p>
|
|
|
<p>Searching for <em>IMAP</em> and the name of the provider is mostly
|
|
|
sufficient to find the right documentation.</p>
|
|
|
<p>In some cases, you’ll need to enable external access to your account
|
|
|
and/or to use a special (app) password, for instance when two-factor
|
|
|
authentication is enabled.</p>
|
|
|
<p>For authorizing:</p>
|
|
|
<ul>
|
|
|
<li>Gmail / G suite, see <a href="#faq6">question 6</a></li>
|
|
|
<li>Outlook / Live / Hotmail, see <a href="#faq14">question 14</a></li>
|
|
|
<li>Office 365, see <a href="#faq156">question 156</a></li>
|
|
|
<li>Microsoft Exchange, see <a href="#faq8">question 8</a></li>
|
|
|
<li>Yahoo, AOL and Sky, see <a href="#faq88">question 88</a></li>
|
|
|
<li>Apple iCloud, see <a href="#faq148">question 148</a> (<a
|
|
|
href="https://support.apple.com/de-de/HT204397">German</a>)</li>
|
|
|
<li>Free.fr, see <a href="#faq157">question 157</a></li>
|
|
|
<li>Posteo: please check if <a
|
|
|
href="https://posteo.de/en/help/activating-additional-email-account-protection">additional
|
|
|
email account protection</a> (<a
|
|
|
href="https://posteo.de/hilfe/zusaetzlichen-postfachschutz-deaktivieren">German</a>)
|
|
|
isn’t enabled</li>
|
|
|
<li>Posteo: not that there is <a
|
|
|
href="https://posteo.de/en/help/how-does-the-posteo-spam-filter-work">no
|
|
|
spam folder</a> (<a
|
|
|
href="https://posteo.de/hilfe/wie-funktioniert-der-posteo-spamfilter">German</a>)</li>
|
|
|
<li>Web.de: please check if <a
|
|
|
href="https://hilfe.web.de/pop-imap/imap/imap-serverdaten.html">IMAP is
|
|
|
enabled</a></li>
|
|
|
<li>Web.de: with two factor authentication you’ll need to use <a
|
|
|
href="https://web.de/email/sicherheit/zwei-faktor-authentifizierung/">an
|
|
|
app password</a></li>
|
|
|
<li>Web.de: if you are missing the spam messages folder, you should
|
|
|
enable spam filtering via the website of web.de again</li>
|
|
|
<li>GMX: please check if <a
|
|
|
href="https://support.gmx.com/pop-imap/toggle.html">IMAP is enabled</a>
|
|
|
(<a href="https://hilfe.gmx.net/pop-imap/einschalten.html">German</a>).
|
|
|
Reportedly, you need to do this on a desktop computer.</li>
|
|
|
<li>GMX: with two factor authentication you’ll need to use <a
|
|
|
href="https://support.gmx.com/security/2fa/application-specific-passwords.html">an
|
|
|
app password</a> (<a
|
|
|
href="https://hilfe.gmx.net/sicherheit/2fa/anwendungsspezifisches-passwort.html">German</a>).
|
|
|
Not that enabling two-factor authentication does not automatically
|
|
|
enable IMAP.</li>
|
|
|
<li>T-online.de: please make sure you use <a
|
|
|
href="https://www.telekom.de/hilfe/festnetz-internet-tv/e-mail/e-mail-adresse-passwoerter-und-sicherheit/passwort-fuer-e-mail-programme-einrichten">an
|
|
|
email password</a> (German) and not your account password</li>
|
|
|
<li>Ionos (1und1): please make sure you use <a
|
|
|
href="https://www.ionos.de/hilfe/e-mail/problemloesungen-mail-basicmail-business/passwort-fuer-e-mail-konto-bei-11-ionos-aendern/">an
|
|
|
email password</a> (German) and not your account password</li>
|
|
|
<li>Yandex: please check if <a
|
|
|
href="https://yandex.com/support/mail/mail-clients/others.html">IMAP is
|
|
|
enabled</a></li>
|
|
|
<li>Comcast/Xfinity: please check if <a
|
|
|
href="https://www.xfinity.com/support/articles/third-party-email-access">third
|
|
|
part email access</a> is enabled</li>
|
|
|
</ul>
|
|
|
<p>Please see <a href="#faq22">here</a> for common error messages and
|
|
|
solutions.</p>
|
|
|
<p>Related questions:</p>
|
|
|
<ul>
|
|
|
<li><a href="#faq111">Is OAuth supported?</a></li>
|
|
|
<li><a href="#faq133">Why is ActiveSync ™ not supported?</a></li>
|
|
|
</ul>
|
|
|
<p><a name="howto"></p>
|
|
|
<h2 id="how-to">How to …?</h2>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23howto">Google
|
|
|
Translate</a></p>
|
|
|
<ul>
|
|
|
<li>Change the account name: (Main) Settings, tap Manual setup, tap
|
|
|
Accounts, tap account</li>
|
|
|
<li>Change the swipe left/right target: (Main) Settings, tab page
|
|
|
Behavior, Set swipe actions (*)</li>
|
|
|
<li>Change password: (Main) Settings, tap Manual setup, tap Accounts,
|
|
|
tap account, change password</li>
|
|
|
<li>Set a signature: (Main) Settings, tap Manual setup, tap Identities,
|
|
|
tap identity, Edit signature.</li>
|
|
|
<li>Set a default CC or BCC address: (Main) Settings, tap Manual setup,
|
|
|
tap Identities, tap identity, tap Advanced.</li>
|
|
|
<li>Add CC and BCC addresses: tap the people’s icon at the end of the
|
|
|
subject</li>
|
|
|
<li>Go to the next/previous message on archive/delete: in the behavior
|
|
|
settings disable <em>Automatically close conversations</em> and select
|
|
|
<em>Go to next/previous conversation</em> for <em>On closing a
|
|
|
conversation</em></li>
|
|
|
<li>Add a folder to the unified inbox: long press the folder in the
|
|
|
folder list and tick <em>Show in unified inbox</em></li>
|
|
|
<li>Add a folder to the navigation menu: long press the folder in the
|
|
|
folder list and tick <em>Show in navigation menu</em></li>
|
|
|
<li>Load more messages: long press a folder in the folder list, select
|
|
|
<em>Fetch more messages</em></li>
|
|
|
<li>Delete a message, skipping trash: long press the trash icon</li>
|
|
|
<li>Delete an account/identity: (Main) Settings, tap Manual setup, tap
|
|
|
Accounts/Identities, tap the account/identity, trash icon top right</li>
|
|
|
<li>Delete a folder: long press the folder in the folder list, Edit
|
|
|
properties, trash icon top right</li>
|
|
|
<li>Undo send: Outbox, swipe the message in the list left or right</li>
|
|
|
<li>Delete a contact: please <a href="#faq171">see this FAQ</a></li>
|
|
|
<li>Store sent messages in the inbox: please <a href="#faq142">see this
|
|
|
FAQ</a></li>
|
|
|
<li>Change system folders: (Main) Settings, tap Manual setup, tap
|
|
|
Accounts, tap account, at the bottom</li>
|
|
|
<li>Export/import settings: (Main) Settings, navigation (left side)
|
|
|
menu</li>
|
|
|
</ul>
|
|
|
<p>(*) Swipe actions for individual and POP3 accounts can be configured
|
|
|
in the account setting: (Main) Settings, tap Manual setup, tap Accounts,
|
|
|
tap account</p>
|
|
|
<h2>
|
|
|
<a name="known-problems"></a>Known problem
|
|
|
</h2>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23known-problems">Google
|
|
|
Translate</a></p>
|
|
|
<ul>
|
|
|
<li><del>A <a href="https://issuetracker.google.com/issues/37054851">bug
|
|
|
in Android 5.1 and 6</a> causes apps to sometimes show a wrong time
|
|
|
format. Toggling the Android setting <em>Use 24-hour format</em> might
|
|
|
temporarily solve the issue. A workaround was added.</del></li>
|
|
|
<li><del>A <a
|
|
|
href="https://issuetracker.google.com/issues/126362828">bug in Google
|
|
|
Drive</a> causes files exported to Google Drive to be empty. Google has
|
|
|
fixed this.</del></li>
|
|
|
<li><del>A <a href="https://issuetracker.google.com/issues/78495471">bug
|
|
|
in AndroidX</a> causes FairEmail to occasionally crash on long pressing
|
|
|
or swiping. Google has fixed this.</del></li>
|
|
|
<li><del>A <a
|
|
|
href="https://issuetracker.google.com/issues/138441698">bug in AndroidX
|
|
|
ROOM</a> causes sometimes a crash with “<em>… Exception while computing
|
|
|
database live data … Couldn’t read row …</em>”. A workaround was
|
|
|
added.</del></li>
|
|
|
<li>A <a href="https://issuetracker.google.com/issues/119872129">bug in
|
|
|
Android</a> causes FairEmail to crash with “<em>… Bad notification
|
|
|
posted …</em>” on some devices once after updating FairEmail and tapping
|
|
|
on a notification.</li>
|
|
|
<li>A <a href="https://issuetracker.google.com/issues/62427912">bug in
|
|
|
Android</a> sometimes causes a crash with “<em>… ActivityRecord not
|
|
|
found for …</em>” after updating FairEmail. Reinstalling (<a
|
|
|
href="https://stackoverflow.com/questions/46309428/android-activitythread-reportsizeconfigurations-causes-app-to-freeze-with-black">source</a>)
|
|
|
might fix the problem.</li>
|
|
|
<li>A <a href="https://issuetracker.google.com/issues/37018931">bug in
|
|
|
Android</a> sometimes causes a crash with <em>… InputChannel is not
|
|
|
initialized …</em> on some devices.</li>
|
|
|
<li><del>A <a
|
|
|
href="https://review.lineageos.org/c/LineageOS/android_frameworks_base/+/265273">bug
|
|
|
in LineageOS</a> sometimes causes a crash with <em>…
|
|
|
java.lang.ArrayIndexOutOfBoundsException: length=…; index=…
|
|
|
…</em>.</del></li>
|
|
|
<li>A bug in Nova Launcher on Android 5.x causes FairEmail to crash with
|
|
|
a <em>java.lang.StackOverflowError</em> when Nova Launcher has access to
|
|
|
the accessibility service.</li>
|
|
|
<li><del>The folder selector sometimes shows no folders for yet unknown
|
|
|
reasons. This seems to be fixed.</del></li>
|
|
|
<li><del>A <a href="https://issuetracker.google.com/issues/64729576">bug
|
|
|
in AndroidX</a> makes it hard to grap the fast scroller. A workaround
|
|
|
was added.</del></li>
|
|
|
<li><del>Encryption with YubiKey results into an infinite loop. This
|
|
|
seems to be caused by a <a
|
|
|
href="https://github.com/open-keychain/open-keychain/issues/2507">bug in
|
|
|
OpenKeychain</a>.</del></li>
|
|
|
<li>A preview of a message text doesn’t (always) appear on Samsung
|
|
|
watches because <a
|
|
|
href="https://developer.android.com/reference/androidx/core/app/NotificationCompat.Builder.html#setLocalOnly(boolean)">setLocalOnly</a>
|
|
|
seem to be ignored. Message preview texts are known to be displayed
|
|
|
correctly on Pebble 2, Fitbit Charge 3, Mi band 3, and Xiaomi Amazfit
|
|
|
BIP smartwatches. See also <a href="#faq126">this FAQ</a>.</li>
|
|
|
<li>A <a href="https://issuetracker.google.com/issues/37068143">bug in
|
|
|
Android 6.0</a> causes a crash with <em>… Invalid offset: … Valid range
|
|
|
is …</em> when text is selected and tapping outside of the selected
|
|
|
text. This bug has been fixed in Android 6.0.1.</li>
|
|
|
<li>Internal (anchor) links will not work because original messages are
|
|
|
shown in an embedded WebView in a scrolling view (the conversation
|
|
|
list). This is an Android limitation which cannot be fixed or worked
|
|
|
around.</li>
|
|
|
<li>Language detection <a
|
|
|
href="https://issuetracker.google.com/issues/173337263">is not working
|
|
|
anymore</a> on Pixel devices with (upgraded to?) Android 11</li>
|
|
|
<li>A <a
|
|
|
href="https://github.com/open-keychain/open-keychain/issues/2688">bug in
|
|
|
OpenKeychain</a> causes invalid PGP signatures when using a hardware
|
|
|
token.</li>
|
|
|
<li>Search suggestions causes the keyboard losing focus on Android
|
|
|
12L.</li>
|
|
|
<li><a
|
|
|
href="https://techcommunity.microsoft.com/t5/outlook/outlook-office-365-imap-idle-is-broken/m-p/3616242">A
|
|
|
bug</a> in the Outlook IMAP server causes delayed new message
|
|
|
notifications.</li>
|
|
|
</ul>
|
|
|
<p><a name="redmi"></a> <a name="oneplus"></a> <a name="oppo"></a></p>
|
|
|
<p><br /></p>
|
|
|
<p><strong>Xiaomi Redmi / OnePlus / Oppo</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23redmi">Google
|
|
|
Translate</a></p>
|
|
|
<p>On some Xiaomi Redmi (Note) devices, some OnePlus devices with
|
|
|
Android 12 and some Oppo devices with Android 12 the database
|
|
|
occasionally gets corrupted, resulting in total data loss (on the device
|
|
|
only, unless you are using a POP3 account with the option <em>Leave
|
|
|
messages on server</em> disabled).</p>
|
|
|
<p>The cause of this problem are disk I/O errors due to an Android bug
|
|
|
(more likely) or maybe a hardware issue (less likely), please <a
|
|
|
href="https://www.sqlite.org/rescode.html#ioerr_write">see here</a>.</p>
|
|
|
<p>“<em>This error might result from a hardware malfunction or because a
|
|
|
filesystem came unmounted while the file was open.</em>”</p>
|
|
|
<p>This can’t be fixed by the app and should be fixed by manufacturer of
|
|
|
the device.</p>
|
|
|
<p><strong>Please do not blame the app for this!</strong></p>
|
|
|
<p>For the record the stack trace:</p>
|
|
|
<pre><code>android.database.sqlite.SQLiteDiskIOException: disk I/O error (code 778)
|
|
|
at io.requery.android.database.sqlite.SQLiteConnection.nativeExecute(SourceFile:-2)
|
|
|
at io.requery.android.database.sqlite.SQLiteConnection.execute(SQLiteConnection:595)
|
|
|
at io.requery.android.database.sqlite.SQLiteSession.endTransactionUnchecked(SQLiteSession:447)
|
|
|
at io.requery.android.database.sqlite.SQLiteSession.endTransaction(SQLiteSession:411)
|
|
|
at io.requery.android.database.sqlite.SQLiteDatabase.endTransaction(SQLiteDatabase:551)
|
|
|
at androidx.room.RoomDatabase.internalEndTransaction(RoomDatabase:594)
|
|
|
at androidx.room.RoomDatabase.endTransaction(RoomDatabase:584)</code></pre>
|
|
|
<p>The cause might be <a
|
|
|
href="https://ericsink.com/entries/sqlite_android_n.html">changes in
|
|
|
Android 7 Nougat</a>, which is why sqlite isn’t bundled anymore since
|
|
|
version 1.1970.</p>
|
|
|
<h2>
|
|
|
<a name="planned-features"></a>Planned features
|
|
|
</h2>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23planned-features">Google
|
|
|
Translate</a></p>
|
|
|
<ul>
|
|
|
<li>✔ <del>Synchronize on demand (manual)</del></li>
|
|
|
<li>✔ <del>Semi-automatic encryption</del></li>
|
|
|
<li>✔ <del>Copy message</del></li>
|
|
|
<li>✔ <del>Colored stars</del></li>
|
|
|
<li>✔ <del>Notification settings per folder</del></li>
|
|
|
<li>✔ <del>Select local images for signatures</del></li>
|
|
|
<li>✔ <del>Show messages matched by a rule</del></li>
|
|
|
<li>❌ <del><a
|
|
|
href="https://tools.ietf.org/html/rfc5804">ManageSieve</a></del> (there
|
|
|
are no maintained Java libraries with a suitable license and without
|
|
|
dependencies and besides that, FairEmail has its own rules)</li>
|
|
|
<li>✔ <del>Search for messages with/without attachments</del> (on-device
|
|
|
only because IMAP doesn’t support searching for attachments)</li>
|
|
|
<li>✔ <del>Search for a folder</del></li>
|
|
|
<li>✔ <del>Search suggestions</del></li>
|
|
|
<li>❌ <del><a
|
|
|
href="https://autocrypt.org/autocrypt-spec-1.0.0.pdf">Autocrypt Setup
|
|
|
Message</a> (section 4.4)</del> (IMO it is not a good idea to let an
|
|
|
email client handle sensitive encryption keys for an exceptional use
|
|
|
case while OpenKeychain can export keys too)</li>
|
|
|
<li>✔ <del>Generic unified folders</del></li>
|
|
|
<li>✔ <del>New per account message notification schedules</del>
|
|
|
(implemented by adding a time condition to rules so messages can be
|
|
|
snoozed during selected periods)</li>
|
|
|
<li>✔ <del>Copy accounts and identities</del></li>
|
|
|
<li>✔ <del>Pinch zoom</del></li>
|
|
|
<li>✔ <del>More compact folder view</del></li>
|
|
|
<li>✔ <del>Compose lists</del></li>
|
|
|
<li>❌ <del>Compose tables</del> (the Android editor doesn’t support
|
|
|
tables)</li>
|
|
|
<li>✔ <del>Pinch zoom text size</del></li>
|
|
|
<li>✔ <del>Display GIFs</del></li>
|
|
|
<li>✔ <del>Themes</del></li>
|
|
|
<li>❌ <del>Any day time condition</del> (any day doesn’t really fit
|
|
|
into the from/to date/time condition)</li>
|
|
|
<li>✔ <del>Send as attachment</del></li>
|
|
|
<li>✔ <del>Widget for selected account</del></li>
|
|
|
<li>✔ <del>Remind to attach files</del></li>
|
|
|
<li>✔ <del>Select domains to show images for</del></li>
|
|
|
<li>✔ <del>Unified starred messages view</del> (implemented as saved
|
|
|
search)</li>
|
|
|
<li>✔ <del>Move notification action</del></li>
|
|
|
<li>✔ <del>S/MIME support</del></li>
|
|
|
<li>✔ <del>Search for settings</del></li>
|
|
|
<li>POP3 folders</li>
|
|
|
<li>Bottom action bar</li>
|
|
|
</ul>
|
|
|
<p>Anything on this list is in random order and <em>might</em> be added
|
|
|
in the near future.</p>
|
|
|
<h2>
|
|
|
<a name="frequently-asked-questions"></a>Frequently Asked Questions
|
|
|
</h2>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23frequently-asked-questions">Google
|
|
|
Translate</a></p>
|
|
|
<ul>
|
|
|
<li><a href="#faq1">(1) Which permissions are needed and why?</a></li>
|
|
|
<li><a href="#faq2">(2) Why is there a permanent notification
|
|
|
shown?</a></li>
|
|
|
<li><a href="#faq3">(3) What are operations and why are they
|
|
|
pending?</a></li>
|
|
|
<li><a href="#faq4">(4) How can I use an invalid security certificate /
|
|
|
empty password / plain text connection?</a></li>
|
|
|
<li><a href="#faq5">(5) How can I customize the message view?</a></li>
|
|
|
<li><a href="#faq6">(6) How can I login to Gmail / G suite?</a></li>
|
|
|
<li><a href="#faq7">(7) Why are sent messages not appearing (directly)
|
|
|
in the sent folder?</a></li>
|
|
|
<li><a href="#faq8">(8) Can I use a Microsoft Exchange account?</a></li>
|
|
|
<li><a href="#faq9">(9) What are identities / how do I add an alias /
|
|
|
configure a default CC or BCC address?</a></li>
|
|
|
<li><a href="#faq11"><del>(11) Why is POP not supported?</del></a></li>
|
|
|
<li><a href="#faq10"><del>(10) What does ‘UIDPLUS not supported’
|
|
|
mean?</del></a></li>
|
|
|
<li><a href="#faq12">(12) How does encryption/decryption work?</a></li>
|
|
|
<li><a href="#faq13">(13) How does search on device/server
|
|
|
work?</a></li>
|
|
|
<li><a href="#faq14">(14) How can I set up an Outlook / Live / Hotmail
|
|
|
account?</a></li>
|
|
|
<li><a href="#faq15">(15) Why does the message text keep
|
|
|
loading?</a></li>
|
|
|
<li><a href="#faq16">(16) Why are messages not being
|
|
|
synchronized?</a></li>
|
|
|
<li><a href="#faq17"><del>(17) Why does manual synchronize not
|
|
|
work?</del></a></li>
|
|
|
<li><a href="#faq18">(18) Why is the message preview not always
|
|
|
shown?</a></li>
|
|
|
<li><a href="#faq19">(19) Why are the pro features so
|
|
|
expensive?</a></li>
|
|
|
<li><a href="#faq20">(20) Can I get a refund?</a></li>
|
|
|
<li><a href="#faq21">(21) How do I enable the notification
|
|
|
light?</a></li>
|
|
|
<li><a href="#faq22">(22) What does account/folder error …
|
|
|
mean?</a></li>
|
|
|
<li><a href="#faq23">(23) Why do I get alert …?</a></li>
|
|
|
<li><a href="#faq24">(24) What is browse messages on the
|
|
|
server?</a></li>
|
|
|
<li><a href="#faq25">(25) Why can’t I select/open/save an image,
|
|
|
attachment or a file?</a></li>
|
|
|
<li><a href="#faq26">(26) Can I help to translate FairEmail in my own
|
|
|
language?</a></li>
|
|
|
<li><a href="#faq27">(27) How can I distinguish between embedded and
|
|
|
external images?</a></li>
|
|
|
<li><a href="#faq28">(28) How can I manage status bar
|
|
|
notifications?</a></li>
|
|
|
<li><a href="#faq29">(29) How can I get new message notifications for
|
|
|
other folders?</a></li>
|
|
|
<li><a href="#faq30">(30) How can I use the provided quick
|
|
|
settings?</a></li>
|
|
|
<li><a href="#faq31">(31) How can I use the provided shortcuts?</a></li>
|
|
|
<li><a href="#faq32">(32) How can I check if reading email is really
|
|
|
safe?</a></li>
|
|
|
<li><a href="#faq33">(33) Why are edited sender addresses not
|
|
|
working?</a></li>
|
|
|
<li><a href="#faq34">(34) How are identities matched?</a></li>
|
|
|
<li><a href="#faq35">(35) Why should I be careful with viewing images,
|
|
|
attachments, the original message, and opening links?</a></li>
|
|
|
<li><a href="#faq36">(36) How are settings files encrypted?</a></li>
|
|
|
<li><a href="#faq37">(37) How are passwords stored?</a></li>
|
|
|
<li><a href="#faq39">(39) How can I reduce the battery usage of
|
|
|
FairEmail?</a></li>
|
|
|
<li><a href="#faq40">(40) How can I reduce the data usage of
|
|
|
FairEmail?</a></li>
|
|
|
<li><a href="#faq41">(41) How can I fix the error ‘Handshake
|
|
|
failed’?</a></li>
|
|
|
<li><a href="#faq42">(42) Can you add a new provider to the list of
|
|
|
providers?</a></li>
|
|
|
<li><a href="#faq43">(43) Can you show the original …?</a></li>
|
|
|
<li><a href="#faq44">(44) Can you show contact photos / identicons in
|
|
|
the sent folder?</a></li>
|
|
|
<li><a href="#faq45">(45) How can I fix ‘This key is not available. To
|
|
|
use it, you must import it as one of your own!’?</a></li>
|
|
|
<li><a href="#faq46">(46) Why does the message list keep
|
|
|
refreshing?</a></li>
|
|
|
<li><a href="#faq47">(47) How do I solve the error ‘No primary account
|
|
|
or no drafts folder’?</a></li>
|
|
|
<li><a href="#faq48"><del>(48) How do I solve the error ‘No primary
|
|
|
account or no archive folder’?</del></a></li>
|
|
|
<li><a href="#faq49">(49) How do I fix ‘An outdated app sent a file path
|
|
|
instead of a file stream’?</a></li>
|
|
|
<li><a href="#faq50">(50) Can you add an option to synchronize all
|
|
|
messages?</a></li>
|
|
|
<li><a href="#faq51">(51) How are folders sorted?</a></li>
|
|
|
<li><a href="#faq52">(52) Why does it take some time to reconnect to an
|
|
|
account?</a></li>
|
|
|
<li><a href="#faq53">(53) Can you stick the message action bar to the
|
|
|
top/bottom?</a></li>
|
|
|
<li><a href="#faq54"><del>(54) How do I use a namespace
|
|
|
prefix?</del></a></li>
|
|
|
<li><a href="#faq55">(55) How can I mark all messages as read / move or
|
|
|
delete all messages?</a></li>
|
|
|
<li><a href="#faq56">(56) Can you add support for JMAP?</a></li>
|
|
|
<li><a href="#faq57">(57) Can I use HTML in signatures?</a></li>
|
|
|
<li><a href="#faq58">(58) What does an open/closed email icon
|
|
|
mean?</a></li>
|
|
|
<li><a href="#faq59">(59) Can original messages be opened in the
|
|
|
browser?</a></li>
|
|
|
<li><a href="#faq60">(60) Did you know …?</a></li>
|
|
|
<li><a href="#faq61">(61) Why are some messages shown dimmed?</a></li>
|
|
|
<li><a href="#faq62">(62) Which authentication methods are
|
|
|
supported?</a></li>
|
|
|
<li><a href="#faq63">(63) How are images resized for displaying on
|
|
|
screens?</a></li>
|
|
|
<li><a href="#faq64"><del>(64) Can you add custom actions for swipe
|
|
|
left/right?</del></a></li>
|
|
|
<li><a href="#faq65">(65) Why are some attachments shown
|
|
|
dimmed?</a></li>
|
|
|
<li><a href="#faq66">(66) Is FairEmail available in the Google Play
|
|
|
Family Library?</a></li>
|
|
|
<li><a href="#faq67">(67) How can I snooze conversations?</a></li>
|
|
|
<li><a href="#faq68"><del>(68) Why can Adobe Acrobat reader not open PDF
|
|
|
attachments / Microsoft apps not open attached documents?</del></a></li>
|
|
|
<li><a href="#faq69">(69) Can you add auto scroll up on new
|
|
|
message?</a></li>
|
|
|
<li><a href="#faq70">(70) When will messages be auto expanded?</a></li>
|
|
|
<li><a href="#faq71">(71) How do I use rules?</a></li>
|
|
|
<li><a href="#faq72">(72) What are primary accounts/identities?</a></li>
|
|
|
<li><a href="#faq73">(73) Is moving messages across accounts
|
|
|
safe/efficient?</a></li>
|
|
|
<li><a href="#faq74">(74) Why do I see duplicate messages?</a></li>
|
|
|
<li><a href="#faq75">(75) Can you make an iOS, Windows, Linux, etc
|
|
|
version?</a></li>
|
|
|
<li><a href="#faq76">(76) What does ‘Clear local messages’ do?</a></li>
|
|
|
<li><a href="#faq77">(77) Why are messages sometimes shown with a small
|
|
|
delay?</a></li>
|
|
|
<li><a href="#faq78">(78) How do I use schedules?</a></li>
|
|
|
<li><a href="#faq79">(79) How do I use synchronize on demand
|
|
|
(manual)?</a></li>
|
|
|
<li><a href="#faq80"><del>(80) How do I fix the error ‘Unable to load
|
|
|
BODYSTRUCTURE’?</del></a></li>
|
|
|
<li><a href="#faq81">(81) Can you make the background of the original
|
|
|
message view dark in dark themes?</a></li>
|
|
|
<li><a href="#faq82">(82) What is a tracking image?</a></li>
|
|
|
<li><a href="#faq84">(84) What are local contacts for?</a></li>
|
|
|
<li><a href="#faq85">(85) Why is an identity not available?</a></li>
|
|
|
<li><a href="#faq86"><del>(86) What are ‘extra privacy
|
|
|
features’?</del></a></li>
|
|
|
<li><a href="#faq87">(87) What does ‘invalid credentials’ mean?</a></li>
|
|
|
<li><a href="#faq88">(88) How can I use a Yahoo/AT&T, AOL or Sky
|
|
|
account?</a></li>
|
|
|
<li><a href="#faq89">(89) How can I send plain text only
|
|
|
messages?</a></li>
|
|
|
<li><a href="#faq90">(90) Why are some texts linked while not being a
|
|
|
link?</a></li>
|
|
|
<li><a href="#faq91"><del>(91) Can you add periodical synchronization to
|
|
|
save battery power?</del></a></li>
|
|
|
<li><a href="#faq92">(92) Can you add spam filtering, verification of
|
|
|
the DKIM signature and SPF authorization?</a></li>
|
|
|
<li><a href="#faq93">(93) Can you allow installation/data storage on
|
|
|
external storage media (sdcard)?</a></li>
|
|
|
<li><a href="#faq94">(94) What does the red/orange stripe at the end of
|
|
|
the header mean?</a></li>
|
|
|
<li><a href="#faq95">(95) Why are not all apps shown when selecting an
|
|
|
attachment or image?</a></li>
|
|
|
<li><a href="#faq96">(96) Where can I find the IMAP and SMTP
|
|
|
settings?</a></li>
|
|
|
<li><a href="#faq97">(97) What is ‘cleanup’?</a></li>
|
|
|
<li><a href="#faq98">(98) Why can I still pick contacts after revoking
|
|
|
contacts permissions?</a></li>
|
|
|
<li><a href="#faq99">(99) Can you add a rich text or markdown
|
|
|
editor?</a></li>
|
|
|
<li><a href="#faq100">(100) How can I synchronize Gmail
|
|
|
categories?</a></li>
|
|
|
<li><a href="#faq101">(101) What does the blue/orange dot at the bottom
|
|
|
of the conversations mean?</a></li>
|
|
|
<li><a href="#faq102">(102) How can I enable auto rotation of
|
|
|
images?</a></li>
|
|
|
<li><a href="#faq158">(103) How can I record audio?</a></li>
|
|
|
<li><a href="#faq104">(104) What do I need to know about error
|
|
|
reporting?</a></li>
|
|
|
<li><a href="#faq105">(105) How does the roam-like-at-home option
|
|
|
work?</a></li>
|
|
|
<li><a href="#faq106">(106) Which launchers can show a badge count with
|
|
|
the number of unread messages?</a></li>
|
|
|
<li><a href="#faq107">(107) How do I use colored stars?</a></li>
|
|
|
<li><a href="#faq108"><del>(108) Can you add permanently delete messages
|
|
|
from any folder?</del></a></li>
|
|
|
<li><a href="#faq109"><del>(109) Why is ‘select account’ available in
|
|
|
official versions only?</del></a></li>
|
|
|
<li><a href="#faq110">(110) Why are (some) messages empty and/or
|
|
|
attachments corrupted?</a></li>
|
|
|
<li><a href="#faq111">(111) Is OAuth supported?</a></li>
|
|
|
<li><a href="#faq112">(112) Which email provider do you
|
|
|
recommend?</a></li>
|
|
|
<li><a href="#faq113">(113) How does biometric authentication
|
|
|
work?</a></li>
|
|
|
<li><a href="#faq114">(114) Can you add an import for the settings of
|
|
|
other email apps?</a></li>
|
|
|
<li><a href="#faq115"><del>(115) Can you add email address
|
|
|
chips?</del></a></li>
|
|
|
<li><a href="#faq116"><del>(116) How can I show images in messages from
|
|
|
trusted senders by default?</del></a></li>
|
|
|
<li><a href="#faq117">(117) How can I restore a purchase (on another
|
|
|
device) ?</a></li>
|
|
|
<li><a href="#faq118">(118) What does ‘Remove tracking parameters’
|
|
|
exactly?</a></li>
|
|
|
<li><a href="#faq119"><del>(119) Can you add colors to the unified inbox
|
|
|
widget?</del></a></li>
|
|
|
<li><a href="#faq120">(120) Why are new message notifications not
|
|
|
removed on opening the app?</a></li>
|
|
|
<li><a href="#faq121">(121) How are messages grouped into a
|
|
|
conversation?</a></li>
|
|
|
<li><a href="#faq122"><del>(122) Why is the recipient name/email address
|
|
|
show with a warning color?</del></a></li>
|
|
|
<li><a href="#faq123">(123) What will happen when FairEmail cannot
|
|
|
connect to an email server?</a></li>
|
|
|
<li><a href="#faq124">(124) Why do I get ‘Message too large or too
|
|
|
complex to display’?</a></li>
|
|
|
<li><a href="#faq125">(125) What are the current experimental
|
|
|
features?</a></li>
|
|
|
<li><a href="#faq126">(126) Can message previews be sent to my
|
|
|
smartwatch?</a></li>
|
|
|
<li><a href="#faq127">(127) How can I fix ‘Syntactically invalid HELO
|
|
|
argument(s)’?</a></li>
|
|
|
<li><a href="#faq128">(128) How can I reset asked questions, for example
|
|
|
to show images?</a></li>
|
|
|
<li><a href="#faq129">(129) Are ProtonMail, Tutanota, etc
|
|
|
supported?</a></li>
|
|
|
<li><a href="#faq130">(130) What does message error … mean?</a></li>
|
|
|
<li><a href="#faq131">(131) Can you change the direction for swiping to
|
|
|
previous/next message?</a></li>
|
|
|
<li><a href="#faq132">(132) Why are new message notifications
|
|
|
silent?</a></li>
|
|
|
<li><a href="#faq133">(133) Why is ActiveSync ™ not supported?</a></li>
|
|
|
<li><a href="#faq134">(134) Can you add leave messages on the
|
|
|
server?</a></li>
|
|
|
<li><a href="#faq135">(135) Why are trashed messages and drafts shown in
|
|
|
conversations?</a></li>
|
|
|
<li><a href="#faq136">(136) How can I delete an
|
|
|
account/identity/folder?</a></li>
|
|
|
<li><a href="#faq137">(137) How can I reset ‘Don’t ask again’?</a></li>
|
|
|
<li><a href="#faq138">(138) Can you add calendar/contact/tasks/notes
|
|
|
management?</a></li>
|
|
|
<li><a href="#faq139">(139) How do I fix ‘User is authenticated but not
|
|
|
connected’?</a></li>
|
|
|
<li><a href="#faq140">(140) Why does the message text contain strange
|
|
|
characters?</a></li>
|
|
|
<li><a href="#faq141">(141) How can I fix ‘A drafts folder is required
|
|
|
to send messages’?</a></li>
|
|
|
<li><a href="#faq142">(142) How can I store sent messages in the
|
|
|
inbox?</a></li>
|
|
|
<li><a href="#faq143"><del>(143) Can you add a trash folder for POP3
|
|
|
accounts?</del></a></li>
|
|
|
<li><a href="#faq144">(144) How can I record voice notes?</a></li>
|
|
|
<li><a href="#faq145">(145) How can I set a notification sound for an
|
|
|
account, folder, sender or condition?</a></li>
|
|
|
<li><a href="#faq146">(146) How can I fix incorrect message
|
|
|
times?</a></li>
|
|
|
<li><a href="#faq147">(147) What should I know about third party
|
|
|
versions?</a></li>
|
|
|
<li><a href="#faq148">(148) How can I use an Apple iCloud
|
|
|
account?</a></li>
|
|
|
<li><a href="#faq149">(149) How does the unread message count widget
|
|
|
work?</a></li>
|
|
|
<li><a href="#faq150">(150) Can you add cancelling calendar
|
|
|
invites?</a></li>
|
|
|
<li><a href="#faq151">(151) Can you add backup/restore of
|
|
|
messages?</a></li>
|
|
|
<li><a href="#faq152">(152) How can I insert a contact group?</a></li>
|
|
|
<li><a href="#faq153">(153) Why does permanently deleting Gmail message
|
|
|
not work?</a></li>
|
|
|
<li><a href="#faq154"><del>(154) Can you add favicons as contact
|
|
|
photos?</del></a></li>
|
|
|
<li><a href="#faq155">(155) What is a winmail.dat file?</a></li>
|
|
|
<li><a href="#faq156">(156) How can I set up an Office 365
|
|
|
account?</a></li>
|
|
|
<li><a href="#faq157">(157) How can I set up an Free.fr
|
|
|
account?</a></li>
|
|
|
<li><a href="#faq158">(158) Which camera / audio recorder do you
|
|
|
recommend?</a></li>
|
|
|
<li><a href="#faq159">(159) What are Disconnect’s tracker protection
|
|
|
lists?</a></li>
|
|
|
<li><a href="#faq160">(160) Can you add permanent deletion of messages
|
|
|
without confirmation?</a></li>
|
|
|
<li><a href="#faq161">(161) Can you add a setting to change the primary
|
|
|
and accent color?</a></li>
|
|
|
<li><a href="#faq162">(162) Is IMAP NOTIFY supported?</a></li>
|
|
|
<li><a href="#faq163">(163) What is message classification?</a></li>
|
|
|
<li><a href="#faq164">(164) Can you add customizable themes?</a></li>
|
|
|
<li><a href="#faq165">(165) Is Android Auto supported?</a></li>
|
|
|
<li><a href="#faq166">(166) Can I snooze a message across multiple
|
|
|
devices?</a></li>
|
|
|
<li><a href="#faq167">(167) How can I use DeepL?</a></li>
|
|
|
<li><a href="#faq168">(168) What is a spam block list?</a></li>
|
|
|
<li><a href="#faq169">(169) Why does the app not start
|
|
|
automatically?</a></li>
|
|
|
<li><a href="#faq170">(170) Why can’t folders be created with
|
|
|
POP3?</a></li>
|
|
|
<li><a href="#faq171">(171) How can I delete a contact?</a></li>
|
|
|
<li><a href="#faq172">(172) How can I import contacts?</a></li>
|
|
|
<li><a href="#faq173">(173) What is the difference between Play store /
|
|
|
GitHub / F-Droid version?</a></li>
|
|
|
<li><a href="#faq174">(174) Is auto discovery supported?</a></li>
|
|
|
<li><a href="#faq175">(175) Why should battery optimizations be
|
|
|
disabled?</a></li>
|
|
|
<li><a href="#faq176">(176) When will a message be considered safely
|
|
|
transported?</a></li>
|
|
|
<li><a href="#faq177">(177) What does ‘Sensitivity’ mean?</a></li>
|
|
|
<li><a href="#faq178">(178) Why are widgets not updating?</a></li>
|
|
|
<li><a href="#faq179">(179) What are reply templates?</a></li>
|
|
|
<li><a href="#faq180">(180) How do I use LanguageTool?</a></li>
|
|
|
<li><a href="#faq181">(181) How do I use VirusTotal?</a></li>
|
|
|
<li><a href="#faq182">(182) How can I select how a link should be
|
|
|
opened?</a></li>
|
|
|
<li><a href="#faq183">(183) How do I use Send?</a></li>
|
|
|
<li><a href="#faq184">(184) How do I password protect content?</a></li>
|
|
|
<li><a href="#faq185">(185) Can I install FairEmail on Windows?</a></li>
|
|
|
<li><a href="#faq186">(186) How can I let the app auto store iCalendar
|
|
|
invitations?</a></li>
|
|
|
<li><a href="#faq187">(187) Are colored stars synchronized across
|
|
|
devices?</a></li>
|
|
|
<li><a href="#faq188">(188) Why is Google backup disabled?</a></li>
|
|
|
<li><a href="#faq189">(189) What is cloud sync?</a></li>
|
|
|
<li><a href="#faq190">(190) How do I use OpenAI (ChatGPT)?</a></li>
|
|
|
<li><a href="#faq191">(191) How do I download and keep older messages on
|
|
|
my device?</a></li>
|
|
|
<li><a href="#faq192">(192) How can I resolve ‘Couldn’t connect to host,
|
|
|
port: …; timeout …;’ ?</a></li>
|
|
|
<li><a href="#faq193">(193) How can I import Outlook contacts?</a></li>
|
|
|
<li><a href="#faq194">(194) How can I set up automatic deletion of old
|
|
|
messages?</a></li>
|
|
|
<li><a href="#faq195">(195) Why are all messages in the archive folder
|
|
|
of Gmail?</a></li>
|
|
|
<li><a href="#faq196">(196) Can you add empty trash on leaving the
|
|
|
app?</a></li>
|
|
|
<li><a href="#faq197">(197) How can I print a message?</a></li>
|
|
|
<li><a href="#faq198">(198) Can you add spell checking?</a></li>
|
|
|
<li><a href="#faq199">(199) Can you add proxy support?</a></li>
|
|
|
<li><a href="#faq200">(200) How can I use Adguard to remove tracking
|
|
|
parameters?</a></li>
|
|
|
<li><a href="#faq201">(201) What is certificate transparency?</a></li>
|
|
|
<li><a href="#faq202">(202) What is DNSSEC and what is DANE?</a></li>
|
|
|
</ul>
|
|
|
<p><a href="#get-support">I have another question.</a></p>
|
|
|
<p><a name="faq1"></a> <strong>(1) Which permissions are needed and
|
|
|
why?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq1">Google
|
|
|
Translate</a></p>
|
|
|
<p>The following Android permissions are <strong>required</strong>:</p>
|
|
|
<ul>
|
|
|
<li><em>have full network access</em> (INTERNET): to send and receive
|
|
|
via the internet</li>
|
|
|
<li><em>view network connections</em> (ACCESS_NETWORK_STATE): to monitor
|
|
|
connectivity changes (mobile data, WiFi)</li>
|
|
|
<li><em>run at startup</em> (RECEIVE_BOOT_COMPLETED): to start sending
|
|
|
and receiving on device start</li>
|
|
|
<li><em>run foreground service</em> (FOREGROUND_SERVICE/DATA_SYNC): to
|
|
|
run a foreground service on Android 9 Pie and later, see also the next
|
|
|
question</li>
|
|
|
<li><em>schedule exact alarm</em> (SCHEDULE_EXACT_ALARM): to use exact
|
|
|
alarm scheduling (Android 12 and later), for example to snooze
|
|
|
messages</li>
|
|
|
<li><em>prevent device from sleeping</em> (WAKE_LOCK): to keep the
|
|
|
device awake while performing actions, like synchronization of
|
|
|
messages</li>
|
|
|
<li><em>use fingerprint hardware</em> (USE_FINGERPRINT) and <em>use
|
|
|
biometric hardware</em> (USE_BIOMETRIC): to use biometric authentication
|
|
|
(fingerprint, face unlock, etc)</li>
|
|
|
<li><em>ask to ingore battery optimizations</em>
|
|
|
(REQUEST_IGNORE_BATTERY_OPTIMIZATIONS): to disable battery
|
|
|
optimizations, please see <a href="#faq175">this FAQ</a> for more
|
|
|
information</li>
|
|
|
<li><em>allow the app to show notifications</em> (POST_NOTIFICATIONS):
|
|
|
to show new message notifications and (account) warnings and errors
|
|
|
(Android 13 and later only)</li>
|
|
|
<li><em>Google Play (in-app) billing service</em> (BILLING): for in-app
|
|
|
purchases</li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p>The following Android permissions are <strong>optional</strong>:</p>
|
|
|
<ul>
|
|
|
<li><em>read your contacts</em> (READ_CONTACTS): to auto complete
|
|
|
addresses, to show contact photos and <a
|
|
|
href="https://developer.android.com/guide/components/intents-common#PickContactDat">to
|
|
|
pick contacts</a></li>
|
|
|
<li><em>find accounts on the device</em> (GET_ACCOUNTS): to select an
|
|
|
account when using the Gmail quick setup</li>
|
|
|
<li><em>read the contents of your shared storage (SD card)</em>
|
|
|
(READ_EXTERNAL_STORAGE): to accept files from other, outdated apps, see
|
|
|
also <a href="#faq49">this FAQ</a></li>
|
|
|
<li>Android 5.1 Lollipop and before: <em>use accounts on the device</em>
|
|
|
(USE_CREDENTIALS): to select an account when using the Gmail quick setup
|
|
|
(not requested on later Android versions)</li>
|
|
|
<li>Android 5.1 Lollipop and before: <em>Read profile</em>
|
|
|
(READ_PROFILE): to read your name when using the Gmail quick setup (not
|
|
|
requested on later Android versions)</li>
|
|
|
<li>GitHub version only: <em>read and write calendar data</em>
|
|
|
(READ_CALENDAR/WRITE_CALENDAR): to <a href="#faq186">auto-store
|
|
|
invitations</a></li>
|
|
|
</ul>
|
|
|
<p><a
|
|
|
href="https://developer.android.com/training/permissions/requesting">Optional
|
|
|
permissions</a> are supported on Android 6 Marshmallow and later only.
|
|
|
On earlier Android versions you will be asked to grant the permissions
|
|
|
on installing FairEmail.</p>
|
|
|
<p><br /></p>
|
|
|
<p>The following permissions are needed to show the count of unread
|
|
|
messages as a badge (see also <a href="#faq106">this FAQ</a>):</p>
|
|
|
<ul>
|
|
|
<li><em>com.sec.android.provider.badge.permission.READ</em></li>
|
|
|
<li><em>com.sec.android.provider.badge.permission.WRITE</em></li>
|
|
|
<li><em>com.htc.launcher.permission.READ_SETTINGS</em></li>
|
|
|
<li><em>com.htc.launcher.permission.UPDATE_SHORTCUT</em></li>
|
|
|
<li><em>com.sonyericsson.home.permission.BROADCAST_BADGE</em></li>
|
|
|
<li><em>com.sonymobile.home.permission.PROVIDER_INSERT_BADGE</em></li>
|
|
|
<li><em>com.anddoes.launcher.permission.UPDATE_COUNT</em></li>
|
|
|
<li><em>com.majeur.launcher.permission.UPDATE_BADGE</em></li>
|
|
|
<li><em>com.huawei.android.launcher.permission.CHANGE_BADGE</em></li>
|
|
|
<li><em>com.huawei.android.launcher.permission.READ_SETTINGS</em></li>
|
|
|
<li><em>com.huawei.android.launcher.permission.WRITE_SETTINGS</em></li>
|
|
|
<li><em>android.permission.READ_APP_BADGE</em></li>
|
|
|
<li><em>com.oppo.launcher.permission.READ_SETTINGS</em></li>
|
|
|
<li><em>com.oppo.launcher.permission.WRITE_SETTINGS</em></li>
|
|
|
<li><em>me.everything.badger.permission.BADGE_COUNT_READ</em></li>
|
|
|
<li><em>me.everything.badger.permission.BADGE_COUNT_WRITE</em></li>
|
|
|
<li><em>com.vivo.notification.permission.BADGE_ICON</em></li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p>FairEmail will keep a list of addresses you receive messages from and
|
|
|
send messages to and will use this list for contact suggestions when no
|
|
|
contacts permissions is granted to FairEmail. This means you can use
|
|
|
FairEmail without the Android contacts provider (address book). Note
|
|
|
that you can still pick contacts without granting contacts permissions
|
|
|
to FairEmail, only suggesting contacts won’t work without contacts
|
|
|
permissions.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq2"></a> <strong>(2) Why is there a permanent notification
|
|
|
shown?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq2">Google
|
|
|
Translate</a></p>
|
|
|
<p><em>If you came here by clicking on the “monitoring” notification,
|
|
|
you should know that the next click will open the unified
|
|
|
inbox.</em></p>
|
|
|
<p>To reliably receive messages in the background the app needs to start
|
|
|
a service, which will let Android display a status bar notification
|
|
|
notifying you about potential battery usage.</p>
|
|
|
<p>The service can’t be started without a notification and the app can’t
|
|
|
disable the notification either. However, you can disable the
|
|
|
notification yourself, without side effects, via the notification
|
|
|
settings of FairEmail:</p>
|
|
|
<ul>
|
|
|
<li>Android 8 Oreo and later: tap the <em>Monitoring channel</em> button
|
|
|
and disable the channel via the Android settings (this won’t disable new
|
|
|
message notifications)</li>
|
|
|
<li>Android 7 Nougat and before: enabled <em>Use background service to
|
|
|
synchronize messages</em>, but be sure to read the remark below the
|
|
|
setting first</li>
|
|
|
</ul>
|
|
|
<p>You can also switch to periodically synchronization of messages in
|
|
|
the receive settings to remove the notification, but be aware that this
|
|
|
might use more battery power. See <a href="#faq39">here</a> for more
|
|
|
details about battery usage.</p>
|
|
|
<p>Android 8 Oreo might also show a status bar notification with the
|
|
|
text <em>Apps are running in the background</em>. Please see <a
|
|
|
href="https://www.reddit.com/r/Android/comments/7vw7l4/psa_turn_off_background_apps_notification/">here</a>
|
|
|
about how you can disable this notification.</p>
|
|
|
<p><em>Background</em></p>
|
|
|
<p>The service is a <a
|
|
|
href="https://developer.android.com/reference/android/app/Service.html#startForeground(int,%20android.app.Notification)">foreground
|
|
|
service</a> and is needed to prevent Android from stopping the service
|
|
|
when the device is sleeping (<a
|
|
|
href="https://developer.android.com/training/monitoring-device-state/doze-standby">doze
|
|
|
mode</a>).</p>
|
|
|
<p>Most, if not all, other email apps don’t show a notification with a
|
|
|
“side effect” that new messages are often not or late being reported and
|
|
|
that messages are not or late being sent.</p>
|
|
|
<p>Some other email apps download all your messages to their servers
|
|
|
first and push messages via <a
|
|
|
href="https://firebase.google.com/docs/cloud-messaging/">Firebase Cloud
|
|
|
Messaging</a> to your device. For your privacy this is not a nice
|
|
|
solution …</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq3"></a> <strong>(3) What are operations and why are they
|
|
|
pending?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq3">Google
|
|
|
Translate</a></p>
|
|
|
<p>The low priority status bar notification shows the number of pending
|
|
|
operations, which can be:</p>
|
|
|
<ul>
|
|
|
<li><em>add</em>: add message to remote folder</li>
|
|
|
<li><em>move</em>: move message to another remote folder</li>
|
|
|
<li><em>copy</em>: copy message to another remote folder</li>
|
|
|
<li><em>fetch</em>: fetch changed (pushed) message</li>
|
|
|
<li><em>delete</em>: delete message from remote folder</li>
|
|
|
<li><em>seen</em>: mark message as read/unread in remote folder</li>
|
|
|
<li><em>answered</em>: mark message as answered in remote folder</li>
|
|
|
<li><em>flag</em>: add/remove star in remote folder</li>
|
|
|
<li><em>keyword</em>: add/remove IMAP flag in remote folder</li>
|
|
|
<li><em>label</em>: set/reset Gmail label in remote folder</li>
|
|
|
<li><em>headers</em>: download message headers</li>
|
|
|
<li><em>raw</em>: download raw message</li>
|
|
|
<li><em>body</em>: download message text</li>
|
|
|
<li><em>attachment</em>: download attachment</li>
|
|
|
<li><em>detach</em>: delete attachment</li>
|
|
|
<li><em>sync</em>: synchronize local and remote messages</li>
|
|
|
<li><em>subscribe</em>: subscribe to remote folder</li>
|
|
|
<li><em>purge</em>: delete all messages from remote folder</li>
|
|
|
<li><em>send</em>: send message</li>
|
|
|
<li><em>exists</em>: check if message exists</li>
|
|
|
<li><em>rule</em>: execute rule on body text</li>
|
|
|
<li><em>expunge</em>: permanently delete messages</li>
|
|
|
<li><em>report</em>: process delivery or read receipt
|
|
|
(experimental)</li>
|
|
|
</ul>
|
|
|
<p>Operations are processed only when there is a connection to the email
|
|
|
server or when manually synchronizing. See also <a href="#faq16">this
|
|
|
FAQ</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq4"></a> <strong>(4) How can I use an invalid security
|
|
|
certificate / empty password / plain text connection?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq4">Google
|
|
|
Translate</a></p>
|
|
|
<p><strong>Since version 1.2137: Due to <a
|
|
|
href="https://support.google.com/faqs/answer/6346016">Google’s Play
|
|
|
Store policies</a>, it is no longer possible to support insecure
|
|
|
connections to email servers with certificate issues for the version of
|
|
|
FairEmail distributed in the Play Store. Therefore, this issue can only
|
|
|
be resolved by your email provider, or by installing the GitHub version
|
|
|
of the app (as an update) and enabling insecure connections in the
|
|
|
account/identity settings.</strong></p>
|
|
|
<p><em>… Untrusted … not in certificate …</em><br /> <em>… Invalid
|
|
|
security certificate (Can’t verify identity of server) …</em><br />
|
|
|
<em>… Chain validation failed … timestamp check failed … Certificate
|
|
|
expired at …</em><br /></p>
|
|
|
<p>This can be caused by using an incorrect host name, so first double
|
|
|
check the host name in the advanced identity/account settings (tap
|
|
|
<em>Manual setup and account options</em>). Please see the documentation
|
|
|
of the email provider about the right host name. Sometimes the right
|
|
|
host name is in the error message.</p>
|
|
|
<p>You should try to fix this by contacting your provider or by getting
|
|
|
a valid security certificate because invalid security certificates are
|
|
|
insecure and allow <a
|
|
|
href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack">man-in-the-middle
|
|
|
attacks</a>. If money is an obstacle, you can get free security
|
|
|
certificates from <a href="https://letsencrypt.org">Let’s
|
|
|
Encrypt</a>.</p>
|
|
|
<p>The quick, but unsafe solution (not advised), is to enable
|
|
|
<em>Insecure connections</em> in the advanced identity settings
|
|
|
(navigation menu, tap <em>Settings</em>, tap <em>Manual setup</em>, tap
|
|
|
<em>Identities</em>, tap the identity, tap <em>Advanced</em>).</p>
|
|
|
<p>Alternatively, you can accept the fingerprint of invalid server
|
|
|
certificates like this:</p>
|
|
|
<ol type="1">
|
|
|
<li>Make sure you are using a trusted internet connection (no public
|
|
|
Wi-Fi networks, etc)</li>
|
|
|
<li>Go to the setup screen via the navigation menu (swipe from the left
|
|
|
side inwards)</li>
|
|
|
<li>Tap Manual setup, tap Accounts/Identities and tap the faulty account
|
|
|
and identity</li>
|
|
|
<li>Check/save the account and identity</li>
|
|
|
<li>Tick the checkbox below the error message and save again</li>
|
|
|
</ol>
|
|
|
<p>This will “pin” the server certificate to prevent man-in-the-middle
|
|
|
attacks.</p>
|
|
|
<p>Note that older Android versions might not recognize newer
|
|
|
certification authorities like Let’s Encrypt causing connections to be
|
|
|
considered insecure, see also <a
|
|
|
href="https://developer.android.com/training/articles/security-ssl">here</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><em>Trust anchor for certification path not found</em></p>
|
|
|
<p><em>… java.security.cert.CertPathValidatorException: Trust anchor for
|
|
|
certification path not found …</em> means that the default Android trust
|
|
|
manager was not able to verify the server certificate chain.</p>
|
|
|
<p>This could be due to the root certificate not being installed on your
|
|
|
device or because intermediate certificates are missing, for example
|
|
|
because the email server didn’t send them.</p>
|
|
|
<p>You can fix the first problem by downloading and installing the root
|
|
|
certificate from the website of the provider of the certificate.</p>
|
|
|
<p>The second problem should be fixed by changing the server
|
|
|
configuration or by importing the intermediate certificates on your
|
|
|
device.</p>
|
|
|
<p>You can pin the certificate too, see above.</p>
|
|
|
<p><br /></p>
|
|
|
<p><em>Empty password</em></p>
|
|
|
<p>Your username is likely easily guessed, so this is pretty insecure,
|
|
|
unless the SMTP server is available via a restricted local network or a
|
|
|
VPN only.</p>
|
|
|
<p><em>Plain text connection</em></p>
|
|
|
<p>Your username and password and all messages will be sent and received
|
|
|
unencrypted, which is <strong>very insecure</strong> because a <a
|
|
|
href="https://en.wikipedia.org/wiki/Man-in-the-middle_attack">man-in-the-middle
|
|
|
attack</a> is very simple on an unencrypted connection.</p>
|
|
|
<p>If you still want to use an invalid security certificate, an empty
|
|
|
password or a plain text connection you’ll need to enable insecure
|
|
|
connections in the account and/or identity settings. STARTTLS should be
|
|
|
selected for plain text connections. If you enable insecure connections,
|
|
|
you should connect via private, trusted networks only and never via
|
|
|
public networks, like offered in hotels, airports, etc.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq5"></a> <strong>(5) How can I customize the message
|
|
|
view?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq5">Google
|
|
|
Translate</a></p>
|
|
|
<p>In the three dot overflow menu you can enable or disable or
|
|
|
select:</p>
|
|
|
<ul>
|
|
|
<li><em>text size</em>: for three different font sizes</li>
|
|
|
<li><em>compact view</em>: for more condensed message items and a
|
|
|
smaller message text font</li>
|
|
|
</ul>
|
|
|
<p>In the display section of the settings you can enable or disable for
|
|
|
example:</p>
|
|
|
<ul>
|
|
|
<li><em>Unified inbox</em>: to disable the unified inbox and to list the
|
|
|
folders selected for the unified inbox instead</li>
|
|
|
<li><em>Tabular style</em>: to show a linear list instead of cards</li>
|
|
|
<li><em>Group by date</em>: show date header above messages with the
|
|
|
same date</li>
|
|
|
<li><em>Conversation threading</em>: to disable conversation threading
|
|
|
and to show individual messages instead</li>
|
|
|
<li><em>Conversation action bar</em>: to disable the bottom navigation
|
|
|
bar</li>
|
|
|
<li><em>Highlight color</em>: to select a color for the sender of unread
|
|
|
messages</li>
|
|
|
<li><em>Show contact photos</em>: to hide contact photos</li>
|
|
|
<li><em>Show names and email addresses</em>: to show names or to show
|
|
|
names and email addresses</li>
|
|
|
<li><em>Show subject italic</em>: to show the message subject as normal
|
|
|
text</li>
|
|
|
<li><em>Show stars</em>: to hide stars (favorites)</li>
|
|
|
<li><em>Show message preview</em>: to show 1-4 lines of the message
|
|
|
text</li>
|
|
|
<li><em>Show address details by default</em>: to expand the addresses
|
|
|
section by default</li>
|
|
|
<li><em>Automatically show original message for known contacts</em>: to
|
|
|
automatically show original messages for contacts on your device, please
|
|
|
read <a href="#faq35">this FAQ</a></li>
|
|
|
<li><em>Automatically show images for known contacts</em>: to
|
|
|
automatically show images for contacts on your device, please read <a
|
|
|
href="#faq35">this FAQ</a></li>
|
|
|
</ul>
|
|
|
<p>Note that messages can be previewed only when the message text was
|
|
|
downloaded. Larger message texts are not downloaded by default on
|
|
|
metered (generally mobile) networks. You can change this in the
|
|
|
connection settings.</p>
|
|
|
<p>Some people ask:</p>
|
|
|
<ul>
|
|
|
<li>to show the subject bold, but bold is already being used to
|
|
|
highlight unread messages</li>
|
|
|
<li>to move the star to the left, but it is much easier to operate the
|
|
|
star on the right side</li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq6"></a> <strong>(6) How can I login to Gmail / G
|
|
|
suite?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq6">Google
|
|
|
Translate</a></p>
|
|
|
<p><strong>FairEmail fully supports OAuth through the quick setup wizard
|
|
|
and will continue to work after May 30, please see below what to do if
|
|
|
you used your account password to set up an account.</strong></p>
|
|
|
<blockquote>
|
|
|
<p><strong>Important: using your <em>account</em> password <a
|
|
|
href="https://support.google.com/accounts/answer/6010255">won’t be
|
|
|
possible anymore from May 30, 2022</a>.</strong></p>
|
|
|
<p>“<em>To help keep your account secure, starting May 30, 2022, Google
|
|
|
will no longer support the use of third-party apps or devices which ask
|
|
|
you to sign in to your Google Account using only your username and
|
|
|
password.</em>”</p>
|
|
|
<p>✔ If you authorized your Gmail account with the quick setup wizard or
|
|
|
manually with an app password, your account will keep being synchronized
|
|
|
after May 30, 2022.</p>
|
|
|
<p>❌ If you enabled <em>Less secure apps</em> in the Google account
|
|
|
settings and authorized your Gmail account manually with your normal
|
|
|
account password, your account can’t be synchronized from May 30, 2022
|
|
|
anymore. The app will show the error <strong>Invalid credentials
|
|
|
(Failure)</strong>.</p>
|
|
|
<p>How to check:</p>
|
|
|
<ul>
|
|
|
<li>Go to the <em>Settings</em> via the navigation menu (left side
|
|
|
menu)</li>
|
|
|
<li>Tap on <em>Manual setup and account options</em></li>
|
|
|
<li>Tap on <em>Accounts</em></li>
|
|
|
<li>Find the account in the list</li>
|
|
|
<li>If there is a shield icon before the account name (=OAuth), the
|
|
|
account will keep working</li>
|
|
|
</ul>
|
|
|
<p>How to fix:</p>
|
|
|
<ul>
|
|
|
<li>Go to the <em>Settings</em> via the navigation menu (left side
|
|
|
menu)</li>
|
|
|
<li>Tap on the <em>Wizard</em> button and select <em>Gmail
|
|
|
(OAuth)</em></li>
|
|
|
<li>Tick the checkbox to authenticate an existing account (else you’ll
|
|
|
create a new account!)</li>
|
|
|
<li>Fill in the fields and follow the steps</li>
|
|
|
<li>Repeat for each account</li>
|
|
|
</ul>
|
|
|
<p>Note that this won’t work on devices without Google Play
|
|
|
Store/Services, such as recent Huawei devices. In this case you will
|
|
|
need to use an app password, see below.</p>
|
|
|
<p><strong>Note that other email apps, possibly on other devices, which
|
|
|
still use your account password could cause your account to be
|
|
|
blocked!</strong></p>
|
|
|
</blockquote>
|
|
|
<p>If you use the Play store or GitHub version of FairEmail, you can use
|
|
|
the quick setup wizard to easily setup a Gmail account and identity. The
|
|
|
Gmail quick setup wizard is not available for third party builds, like
|
|
|
the F-Droid build because Google approved the use of OAuth for official
|
|
|
builds only. OAuth is also not available on devices without Google
|
|
|
services, such as recent Huawei devices, in which case selecting an
|
|
|
account will fail.</p>
|
|
|
<p>The Gmail quick setup wizard won’t work if the Android account
|
|
|
manager doesn’t work or doesn’t support Google accounts, which is
|
|
|
typically the case if the account selection is being <em>canceled</em>
|
|
|
right away.</p>
|
|
|
<p>If you don’t want to use or can’t use an on-device Google account,
|
|
|
for example on recent Huawei devices, you can <del>either enable access
|
|
|
for “less secure apps” and use your account password (not advised)</del>
|
|
|
or enable two factor authentication and use an app specific password. To
|
|
|
use a password you can use the quick setup wizard and select <em>Other
|
|
|
provider</em>.</p>
|
|
|
<p><strong>Important</strong>: sometimes Google issues this alert:</p>
|
|
|
<p><em>[ALERT] Please log in via your web browser:
|
|
|
https://support.google.com/mail/accounts/answer/78754 (Failure)</em></p>
|
|
|
<p>This Google security check is triggered more often with <em>less
|
|
|
secure apps</em> enabled, less with an app password, and hardly when
|
|
|
using an on-device account (OAuth). You might see the error <em>OAUTH2
|
|
|
asked for more</em>, which basically says the connection is temporarily
|
|
|
blocked, until you confirm it is you.</p>
|
|
|
<p>Note that an app specific password is required when two factor
|
|
|
authentication is enabled. After enabling two factor authentication
|
|
|
there will be this error message:</p>
|
|
|
<p><em>[ALERT] Application-specific password required:
|
|
|
https://support.google.com/mail/accounts/answer/185833
|
|
|
(Failure)</em></p>
|
|
|
<p>The error message “<em>Authentication failed - Invalid
|
|
|
credentials</em>” or <em>Token refresh required</em> means that the
|
|
|
Android account manager was not able to refresh the access token, or
|
|
|
that getting an access token was not allowed, for example when the
|
|
|
account is a <a
|
|
|
href="https://support.google.com/families/answer/7101025">Family
|
|
|
Link</a> account, in which case you can use the Gmail app only. A common
|
|
|
cause for this problem is using a VPN, a firewall app or an ad blocker
|
|
|
which blocks internet access for the Android account manager. Please
|
|
|
make sure permissions were granted to the app via setup step 2. You can
|
|
|
try to workaround this issue by using the quick setup wizard <em>Gmail
|
|
|
(Oauth)</em> or by using an app password.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq6-app"></a></p>
|
|
|
<p><em>App specific password</em></p>
|
|
|
<p>See <a
|
|
|
href="https://support.google.com/accounts/answer/185833">here</a> about
|
|
|
how to generate an app specific password.</p>
|
|
|
<p>To configure a new Gmail account with an app password, please tap on
|
|
|
the wizard button in the main settings screen and select <em>Other
|
|
|
provider</em> (not Gmail!) and follow the steps (paste the app password
|
|
|
in the password field).</p>
|
|
|
<p>To configure an existing Gmail account with an app password, please
|
|
|
tap on <em>Manual setup and account options</em> in the main settings
|
|
|
screen, tap on <em>Accounts</em>, tap on the account and tap on the
|
|
|
pencil icon after the password and select <em>Switch to password
|
|
|
authentication</em> and paste the app password.</p>
|
|
|
<p><br /></p>
|
|
|
<p><del><em>Enable “Less secure apps”</em></del></p>
|
|
|
<p><del><strong>Important</strong>: using this method is not recommended
|
|
|
because it is less reliable.</del></p>
|
|
|
<p><del><strong>Important</strong>: Gsuite accounts authorized with a
|
|
|
username/password will stop working <a
|
|
|
href="https://gsuiteupdates.googleblog.com/2019/12/less-secure-apps-oauth-google-username-password-incorrect.html">in
|
|
|
the near future</a>.</del></p>
|
|
|
<p><del>See <a
|
|
|
href="https://support.google.com/accounts/answer/6010255">here</a> about
|
|
|
how to enable “less secure apps”</del> <del>or go <a
|
|
|
href="https://www.google.com/settings/security/lesssecureapps">directy
|
|
|
to the setting</a>.</del></p>
|
|
|
<p><del>If you use multiple Gmail accounts, make sure you change the
|
|
|
“less secure apps” setting of the right account(s).</del></p>
|
|
|
<p><del>Be aware that you need to leave the “less secure apps” settings
|
|
|
screen by using the back arrow to apply the setting.</del></p>
|
|
|
<p><del>If you use this method, you should use a <a
|
|
|
href="https://en.wikipedia.org/wiki/Password_strength">strong
|
|
|
password</a> for your Gmail account, which is a good idea anyway.</del>
|
|
|
<del>Note that using the <a
|
|
|
href="https://tools.ietf.org/html/rfc3501">standard</a> IMAP protocol in
|
|
|
itself is not less secure.</del></p>
|
|
|
<p><del>When “less secure apps” is not enabled,</del> <del>you’ll get
|
|
|
the error <em>Authentication failed - invalid credentials</em> for
|
|
|
accounts (IMAP)</del> <del>and <em>Username and Password not
|
|
|
accepted</em> for identities (SMTP).</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><em>General</em></p>
|
|
|
<p>You might get the alert “<em>Please log in via your web
|
|
|
browser</em>”. This happens when Google considers the network that
|
|
|
connects you to the internet (this could be a VPN) to be unsafe. This
|
|
|
can be prevented by using the Gmail quick setup wizard or an app
|
|
|
specific password.</p>
|
|
|
<p>See <a href="https://support.google.com/mail/answer/7126229">here</a>
|
|
|
for Google’s instructions and <a
|
|
|
href="https://support.google.com/mail/accounts/answer/78754">here</a>
|
|
|
for troubleshooting.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq7"></a> <strong>(7) Why are sent messages not appearing
|
|
|
(directly) in the sent folder?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq7">Google
|
|
|
Translate</a></p>
|
|
|
<p>Sent messages are normally moved from the outbox to the sent folder
|
|
|
as soon as your provider adds sent messages to the sent folder. This
|
|
|
requires a sent folder to be selected in the account settings and the
|
|
|
sent folder to be set to synchronizing.</p>
|
|
|
<p>Some providers do not keep track of sent messages or the used SMTP
|
|
|
server might not be related to the provider. In these cases FairEmail,
|
|
|
will automatically add sent messages to the sent folder on synchronizing
|
|
|
the sent folder, which will happen after a message have been sent. Note
|
|
|
that this will result in extra internet traffic.</p>
|
|
|
<p><del>If this doesn’t happen, your provider might not keep track of
|
|
|
sent messages or you might be using an SMTP server not related to the
|
|
|
provider.</del> <del>In these cases you can enable the advanced identity
|
|
|
setting <em>Store sent messages</em> to let FairEmail add sent messages
|
|
|
to the sent folder right after sending a message.</del> <del>Note that
|
|
|
enabling this setting might result in duplicate messages if your
|
|
|
provider adds sent messages to the sent folder too.</del> <del>Also
|
|
|
beware that enabling this setting will result in extra data usage,
|
|
|
especially when when sending messages with large attachments.</del></p>
|
|
|
<p><del>If sent messages in the outbox are not found in the sent folder
|
|
|
on a full synchronize, they will be moved from the outbox to the sent
|
|
|
folder too.</del> <del>A full synchronize happens when reconnecting to
|
|
|
the server or when synchronizing periodically or manually.</del>
|
|
|
<del>You’ll likely want to enable the advanced setting <em>Store sent
|
|
|
messages</em> instead to move messages to the sent folder
|
|
|
sooner.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq8"></a> <strong>(8) Can I use a Microsoft Exchange
|
|
|
account?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq8">Google
|
|
|
Translate</a></p>
|
|
|
<p>Firstly, Exchange <em>protocol</em> (EWS) is not the same as Exchange
|
|
|
<em>server</em> or Exchange <em>account</em>.</p>
|
|
|
<p>The Microsoft Exchange Web Services ™ (EWS) protocol <a
|
|
|
href="https://techcommunity.microsoft.com/t5/Exchange-Team-Blog/Upcoming-changes-to-Exchange-Web-Services-EWS-API-for-Office-365/ba-p/608055">is
|
|
|
being phased out</a>. Microsoft stopped updating the EWS libraries <a
|
|
|
href="https://github.com/OfficeDev/ews-java-api">in 2016</a>. So, it
|
|
|
makes little sense to add this protocol anymore. Moreover, Microsoft
|
|
|
announced that <a
|
|
|
href="https://techcommunity.microsoft.com/t5/exchange-team-blog/retirement-of-exchange-web-services-in-exchange-online/ba-p/3924440">EWS
|
|
|
will be retired on October 1, 2026</a>. Please don’t leave a bad review
|
|
|
for this. This cannot be added because Microsoft no longer provides the
|
|
|
tools for this!</p>
|
|
|
<p>You can use a Microsoft Exchange account if it is accessible via
|
|
|
IMAP, which is almost always the case because all Exchange servers
|
|
|
support the standard IMAP protocol. See <a
|
|
|
href="https://support.office.com/en-us/article/what-is-a-microsoft-exchange-account-47f000aa-c2bf-48ac-9bc2-83e5c6036793">here</a>
|
|
|
for more information.</p>
|
|
|
<p>Note that the desciption of FairEmail starts with the remark that
|
|
|
non-standard protocols, like Microsoft Exchange Web Services ™ and
|
|
|
Microsoft ActiveSync ™ are not supported.</p>
|
|
|
<p>Please see <a
|
|
|
href="https://support.office.com/en-us/article/pop-imap-and-smtp-settings-for-outlook-com-d088b986-291d-42b8-9564-9c414e2aa040">here</a>
|
|
|
for the Microsoft documentation about configuring an email client. There
|
|
|
is also a section about common connection errors and solutions.</p>
|
|
|
<p>Some older Exchange server versions have a bug causing empty message
|
|
|
and corrupt attachments. Please see <a href="#faq110">this FAQ</a> for a
|
|
|
workaround.</p>
|
|
|
<p>Please see <a href="#faq133">this FAQ</a> about ActiveSync ™
|
|
|
support.</p>
|
|
|
<p>Please see <a href="#faq111">this FAQ</a> about OAuth support.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq9"></a> <strong>(9) What are identities / how do I add an
|
|
|
alias / configure a default CC or BCC address?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq9">Google
|
|
|
Translate</a></p>
|
|
|
<p>Identities represent email addresses you are sending <em>from</em>
|
|
|
via an email (SMTP) server.</p>
|
|
|
<p>Some providers allow you to have multiple aliases. The easiest way to
|
|
|
create an alias is to copy the main identity, and change the email
|
|
|
address and perhaps the (display) name. You should not change the
|
|
|
username! For this, please go to the settings via the navigation menu
|
|
|
(left side menu), tap on <em>Manual setup and account options</em>, tap
|
|
|
on <em>Identities</em>, long press the main identity, and select to copy
|
|
|
it.</p>
|
|
|
<p><strong>In many cases, an alias address must first be verified via
|
|
|
the website of the mail provider</strong></p>
|
|
|
<p>Alternatively, you can enable <em>Allow editing sender address</em>
|
|
|
in the advanced settings of an existing identity to edit the username
|
|
|
when composing a new message, if your provider allows this. Considering
|
|
|
the email address test@example.org you can use these special username
|
|
|
formats:</p>
|
|
|
<ul>
|
|
|
<li>“<em>+extra</em>” will result in the email address
|
|
|
“<em>test+extra@example.org</em>”</li>
|
|
|
<li>“<em><span class="citation" data-cites="extra">@extra</span></em>”
|
|
|
will result in the email address “<em>test@extra.example.org</em>”</li>
|
|
|
<li>“<em>Some name, username</em>” will result in the email address
|
|
|
“<em>Some name, <username@example.org></em>” (since version
|
|
|
1.2032)</li>
|
|
|
</ul>
|
|
|
<p>You can configure a default CC or BCC address in the advanced
|
|
|
identity settings.</p>
|
|
|
<p>FairEmail will automatically update the passwords of related
|
|
|
identities when you update the password of the associated account or a
|
|
|
related identity.</p>
|
|
|
<p>See <a href="#faq33">this FAQ</a> on editing the username of email
|
|
|
addresses.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq10"></a> <strong><del>(10) What does ‘UIDPLUS not
|
|
|
supported’ mean?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq10">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>The error message <em>UIDPLUS not supported</em> means that your
|
|
|
email provider does not provide the IMAP <a
|
|
|
href="https://tools.ietf.org/html/rfc4315">UIDPLUS extension</a>. This
|
|
|
IMAP extension is required to implement two way synchronization, which
|
|
|
is not an optional feature. So, unless your provider can enable this
|
|
|
extension, you cannot use FairEmail for this provider.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq11"></a> <strong><del>(11) Why is POP not
|
|
|
supported?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq11">Google
|
|
|
Translate</a></p>
|
|
|
<p>POP3 is supported!</p>
|
|
|
<p><del>Besides that any decent email provider supports <a
|
|
|
href="https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol">IMAP</a>
|
|
|
these days,</del> <del>using <a
|
|
|
href="https://en.wikipedia.org/wiki/Post_Office_Protocol">POP</a> will
|
|
|
result in unnecessary extra battery usage and delayed new message
|
|
|
notifications.</del> <del>Moreover, POP is unsuitable for two way
|
|
|
synchronization and more often than not people read and write messages
|
|
|
on different devices these days.</del></p>
|
|
|
<p><del>Basically, POP supports only downloading and deleting messages
|
|
|
from the inbox.</del> <del>So, common operations like setting message
|
|
|
attributes (read, starred, answered, etc), adding (backing up) and
|
|
|
moving messages is not possible.</del></p>
|
|
|
<p><del>See also <a
|
|
|
href="https://support.google.com/mail/answer/7104828">what Google writes
|
|
|
about it</a>.</del></p>
|
|
|
<p><del>For example <a
|
|
|
href="https://support.google.com/mail/answer/21289">Gmail can import
|
|
|
messages</a> from another POP account,</del> <del>which can be used as a
|
|
|
workaround for when your provider doesn’t support IMAP.</del></p>
|
|
|
<p><del>tl;dr; consider to switch to IMAP.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq12"></a> <strong>(12) How does encryption/decryption
|
|
|
work?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq12">Google
|
|
|
Translate</a></p>
|
|
|
<p>Communication with email servers is always encrypted, unless you
|
|
|
explicitly turned this off. This question is about optional end-to-end
|
|
|
encryption with PGP or S/MIME. The sender and recipient should first
|
|
|
agree on this and exchange signed messages to transfer their public key
|
|
|
to be able to send encrypted messages.</p>
|
|
|
<p><br /></p>
|
|
|
<p><em>General</em></p>
|
|
|
<p>Please <a
|
|
|
href="https://en.wikipedia.org/wiki/Public-key_cryptography">see
|
|
|
here</a> about how public/private key encryption works.</p>
|
|
|
<p>Encryption in short:</p>
|
|
|
<ul>
|
|
|
<li><strong>Outgoing</strong> messages are encrypted with the
|
|
|
<strong>public key</strong> of the recipient</li>
|
|
|
<li><strong>Incoming</strong> messages are decrypted with the
|
|
|
<strong>private key</strong> of the recipient</li>
|
|
|
</ul>
|
|
|
<p>Signing in short:</p>
|
|
|
<ul>
|
|
|
<li><strong>Outgoing</strong> messages are signed with the
|
|
|
<strong>private key</strong> of the sender</li>
|
|
|
<li><strong>Incoming</strong> messages are verified with the
|
|
|
<strong>public key</strong> of the sender</li>
|
|
|
</ul>
|
|
|
<p>To sign/encrypt a message, just select the appropriate method in the
|
|
|
send dialog. The simplest way to show the send dialog (again) is to long
|
|
|
press the <em>Send</em> button in the bottom action bar. It might be
|
|
|
necessary to disable signing/encryption with the padlock icon in the top
|
|
|
action bar first, to prevent the select key dialog, etc. from being in
|
|
|
the way. The encryption method will be remembered for the selected
|
|
|
identity (at the top of the message editor).</p>
|
|
|
<p>To verify a signature or to decrypt a received message, open the
|
|
|
message and just tap the gesture or padlock icon just below the message
|
|
|
action bar.</p>
|
|
|
<p>The first time you send a signed/encrypted message, you might be
|
|
|
asked for a sign key. FairEmail will automatically store the selected
|
|
|
sign key in the used identity for the next time. If you need to reset
|
|
|
the sign key, just save the identity or long press the identity in the
|
|
|
list of identities and select <em>Reset sign key</em>. The selected sign
|
|
|
key is visible in the list of identities. If need to select a key on a
|
|
|
case by case basis, you can create multiple identities for the same
|
|
|
account with the same email address.</p>
|
|
|
<p>In the encryption settings, you can select the default encryption
|
|
|
method (PGP or S/MIME), enable <em>Sign by default</em>, <em>Encrypt by
|
|
|
default</em> and <em>Automatically decrypt messages</em>, but be aware
|
|
|
that automatic decryption is not possible if user interaction is
|
|
|
required, like selecting a key or reading a security token.</p>
|
|
|
<p>The to be encrypted message text/attachments and the decrypted
|
|
|
message text/attachments are stored locally only and will never be added
|
|
|
to the remote server. If you want to undo decryption, you can tap on the
|
|
|
“close” padlock icon.</p>
|
|
|
<p><br /></p>
|
|
|
<p><em>PGP</em></p>
|
|
|
<p>You’ll need to install and configure <a
|
|
|
href="https://f-droid.org/en/packages/org.sufficientlysecure.keychain/">OpenKeychain</a>
|
|
|
first. FairEmail was tested with OpenKeychain version 5.4. Later
|
|
|
versions will most likely be compatible, but earlier versions might not
|
|
|
be.</p>
|
|
|
<p><strong>Important</strong>: the OpenKeychain app is known to
|
|
|
(silently) crash when the calling app (FairEmail) is not authorized yet
|
|
|
and is getting an existing public key. You can workaround this by trying
|
|
|
to send a signed/encrypted message to a sender with an unknown public
|
|
|
key.</p>
|
|
|
<p><strong>Important</strong>: if the OpenKeychain app cannot find a key
|
|
|
(anymore), you might need to reset a previously selected key. This can
|
|
|
be done by long pressing an identity in the list of identities
|
|
|
(Settings, tap Manual setup, tap Identities).</p>
|
|
|
<p><strong>Important</strong>: to let apps like FairEmail reliably
|
|
|
connect to the OpenKeychain service to encrypt/decrypt messages, it
|
|
|
might be necessary to disable battery optimizations for the OpenKeychain
|
|
|
app.</p>
|
|
|
<p><strong>Important</strong>: the OpenKeychain app reportedly needs
|
|
|
contacts permission to work correctly.</p>
|
|
|
<p><strong>Important</strong>: on some Android versions / devices it is
|
|
|
necessary to enable <em>Show popups while running in background</em> in
|
|
|
the additional permissions of the Android app settings of the
|
|
|
OpenKeychain app. Without this permission the draft will be saved, but
|
|
|
the OpenKeychain popup to confirm/select might not appear.</p>
|
|
|
<p>FairEmail will send the <a
|
|
|
href="https://autocrypt.org/">Autocrypt</a> header for use by other
|
|
|
email clients, but only for signed and encrypted messages because too
|
|
|
many email servers have problems with the often long Autocrypt header.
|
|
|
Note that the most secure way to start an encrypted email exchange is by
|
|
|
sending signed messages first. There is an encryption option to send
|
|
|
signed messages by default. Alternatively, this can enabled for a
|
|
|
specific identity in the advanced identity settings. Received Autocrypt
|
|
|
headers will be sent to the OpenKeychain app for storage on verifying a
|
|
|
signature or decrypting a message.</p>
|
|
|
<p>Although this shouldn’t be necessary for most email clients, you can
|
|
|
attach your public key to a message and if you use <em>.key</em> as
|
|
|
extension, the mime type will correctly be
|
|
|
<em>application/pgp-keys</em>.</p>
|
|
|
<p>All key handling is delegated to the OpenKey chain app for security
|
|
|
reasons. This also means that FairEmail does not store PGP keys.</p>
|
|
|
<p>Inline encrypted PGP in received messages is supported, but inline
|
|
|
PGP signatures and inline PGP in outgoing messages is not supported, see
|
|
|
<a
|
|
|
href="https://josefsson.org/inline-openpgp-considered-harmful.html">here</a>
|
|
|
about why not.</p>
|
|
|
<p>If you wish to verify a signature manually, check <em>Show inline
|
|
|
attachments</em> and save the files <em>content.asc</em> (the signed
|
|
|
content) and <em>signature.asc</em> (the digital signature). Install <a
|
|
|
href="https://www.gnupg.org/">GnuPG</a> on your preferred operating
|
|
|
system and execute this command:</p>
|
|
|
<p><code>gpg --verify signature.asc.pgp content.asc</code></p>
|
|
|
<p>Signed-only or encrypted-only messages are not a good idea, please
|
|
|
see here about why not:</p>
|
|
|
<ul>
|
|
|
<li><a
|
|
|
href="https://www.openkeychain.org/openpgp-considerations-part-i">OpenPGP
|
|
|
Considerations Part I</a></li>
|
|
|
<li><a
|
|
|
href="https://www.openkeychain.org/openpgp-considerations-part-ii">OpenPGP
|
|
|
Considerations Part II</a></li>
|
|
|
<li><a
|
|
|
href="https://www.openkeychain.org/openpgp-considerations-part-iii-autocrypt">OpenPGP
|
|
|
Considerations Part III Autocrypt</a></li>
|
|
|
</ul>
|
|
|
<p>Signed-only messages are supported, and encrypted-only messages are
|
|
|
supported since version 1.2053.</p>
|
|
|
<p>Common errors:</p>
|
|
|
<ul>
|
|
|
<li><em>No key</em>: there is no PGP key available for one of the listed
|
|
|
email addresses</li>
|
|
|
<li><em>No key found!</em>: the PGP key stored in the identity probably
|
|
|
doesn’t exist anymore. Resetting the key (see above) will probably fix
|
|
|
this problem.</li>
|
|
|
<li><em>Missing key for encryption</em>: there is probably a key
|
|
|
selected in FairEmail that does not exist in the OpenKeychain app
|
|
|
anymore. Resetting the key (see above) will probably fix this
|
|
|
problem.</li>
|
|
|
<li><em>Key for signature verification is missing</em>: the public key
|
|
|
for the sender is not available in the OpenKeychain app. This can also
|
|
|
be caused by Autocrypt being disabled in the encryption settings or by
|
|
|
the Autocrypt header not being sent.</li>
|
|
|
<li><em>OpenPgp error 0: null</em> / <em>OpenPgp error 0: General
|
|
|
error</em>: please check the key in the OpenKeychain app and make sure
|
|
|
there are no conflicting identities for the key and make sure the email
|
|
|
address exactly matches the key, including lower/upper case. Also, make
|
|
|
sure the key can be used to sign/encrypt and isn’t for
|
|
|
encrypting/signing only.</li>
|
|
|
<li><em>OpenPgp error 0: Encountered an error reading input data!</em>:
|
|
|
your public key has the <a
|
|
|
href="https://en.wikipedia.org/wiki/Authenticated_encryption">AEAD</a>
|
|
|
flag set, but the message was encrypted in the older MDC (Modification
|
|
|
Detection Code) mode by the sender. For example the Posteo email server
|
|
|
does this erroneously. Workaround: <a
|
|
|
href="https://github.com/keybase/keybase-issues/issues/4025#issuecomment-853933127">remove
|
|
|
the AEAD flag</a> from the key.</li>
|
|
|
</ul>
|
|
|
<p><strong>Important</strong>: if <em>Don’t keep activities</em> is
|
|
|
enabled in the Android developer options, FairEmail and the OpenKeychain
|
|
|
app cannot run at the same time, causing PGP operations to fail. If
|
|
|
needed, please <a
|
|
|
href="https://developer.android.com/studio/debug/dev-options#enable">see
|
|
|
here</a> about how to enable the developer options.</p>
|
|
|
<p><strong>Important</strong>: Android 8.1.0 on Tecno CF8 Camon 11 Pro
|
|
|
devices blocks communication between apps with the message
|
|
|
“<em>AutoStart limited</em>” in the system logcat. So, FairEmail (or any
|
|
|
other app) can’t communicate with the OpenKeychain app.</p>
|
|
|
<p><br /></p>
|
|
|
<p><em>S/MIME</em></p>
|
|
|
<p>Encrypting a message requires the public key(s) of the recipient(s).
|
|
|
Signing a message requires your private key.</p>
|
|
|
<p>Private keys are stored by Android and can be imported via the
|
|
|
Android advanced security settings (Encryption & credentials,
|
|
|
Install a certificate, VPN & app user certificate). There is a
|
|
|
shortcut (button) for this in the encryption settings for Android
|
|
|
version 10 and before. Android will ask you to set a PIN, pattern, or
|
|
|
password if you didn’t before. If you have a Nokia device with Android
|
|
|
9, please <a
|
|
|
href="https://nokiamob.net/2019/08/10/a-bug-prevents-nokia-1-owners-from-unlocking-their-screen-even-with-right-pin-pattern/">read
|
|
|
this first</a>.</p>
|
|
|
<p><strong>Important</strong>: If Android doesn’t accept the password of
|
|
|
a certificate, it probably means it doesn’t support the certificate’s
|
|
|
encryption method. The solution is to convert the certificate like
|
|
|
this:</p>
|
|
|
<pre><code>openssl pkcs12 -nodes <your.p12 >certbag.pem
|
|
|
openssl pkcs12 -export -legacy -in certbag.pem >legacy.p12</code></pre>
|
|
|
<p>Note that .p12 and .pfx are interchangeable. You can find more
|
|
|
information about this issue <a
|
|
|
href="https://stackoverflow.com/questions/71872900/installing-pcks12-certificate-in-android-wrong-password-bug">here</a></p>
|
|
|
<p><br></p>
|
|
|
<p>Note that certificates can contains multiple keys for multiple
|
|
|
purposes, for example for authentication, encryption and signing.
|
|
|
Android only imports the first key, so to import all the keys, the
|
|
|
certificate must first be split. This is not very trivial and you are
|
|
|
advised to ask the certificate supplier for support.</p>
|
|
|
<p>If you renewed a certificate, you should import the renewed
|
|
|
certificate and reset the key. This can be done by long pressing an
|
|
|
identity in the list of identities (Settings, tap Manual setup, tap
|
|
|
Identities).</p>
|
|
|
<p>Note that S/MIME signing with other algorithms than RSA is supported,
|
|
|
but be aware that other email clients might not support this. S/MIME
|
|
|
encryption is possible with asymmetric algorithms only, which means in
|
|
|
practice using RSA.</p>
|
|
|
<p>The default encryption method is PGP, but the last used encryption
|
|
|
method will be remembered for the selected identity for the next time.
|
|
|
You can long press on the send button to change the encryption method
|
|
|
for an identity. If you use both PGP and S/MIME encryption for the same
|
|
|
email address, it might be useful to copy the identity, so you can
|
|
|
change the encryption method by selecting one of the two identities. You
|
|
|
can long press an identity in the list of identities (via manual setup
|
|
|
in the main setup screen) to copy an identity.</p>
|
|
|
<p>To allow different private keys for the same email address, FairEmail
|
|
|
will always let you select a key when there are multiple identities with
|
|
|
the same email address for the same account.</p>
|
|
|
<p>Public keys are stored by FairEmail and can be imported when
|
|
|
verifying a signature for the first time or via the encryption settings
|
|
|
(PEM or DER format).</p>
|
|
|
<p>FairEmail verifies both the signature and the complete certificate
|
|
|
chain.</p>
|
|
|
<p>Common errors:</p>
|
|
|
<ul>
|
|
|
<li><em>No certificate found matching targetContraints</em>: this likely
|
|
|
means you are using an old version of FairEmail</li>
|
|
|
<li><em>unable to find valid certification path to requested
|
|
|
target</em>: basically this means one or more intermediate or root
|
|
|
certificates were not found</li>
|
|
|
<li><em>Private key does not match any encryption keys</em>: the
|
|
|
selected key cannot be used to decrypt the message, probably because it
|
|
|
is the incorrect key</li>
|
|
|
<li><em>No private key</em>: no certificate was selected or no
|
|
|
certificate was available in the Android keystore</li>
|
|
|
<li><em>Memory allocation failed</em>: Android supports keys up to 4096
|
|
|
bits only (Android <a
|
|
|
href="https://issuetracker.google.com/issues/199605614">issue
|
|
|
199605614</a>)</li>
|
|
|
<li><em>message-digest attribute value does not match calculated
|
|
|
value</em>: the signature doesn’t match the message, possibly because
|
|
|
the message was changed, or because an incorrect or key was used</li>
|
|
|
</ul>
|
|
|
<p>In case the certificate chain is incorrect, you can tap on the little
|
|
|
info button to show the all certificates. After the certificate details
|
|
|
the issuer or “selfSign” is shown. A certificate is self signed when the
|
|
|
subject and the issuer are the same. Certificates from a certificate
|
|
|
authority (CA) are marked with “<a
|
|
|
href="https://tools.ietf.org/html/rfc5280#section-4.2.1.3">keyCertSign</a>”.
|
|
|
Certificates found in the Android key store are marked with
|
|
|
“Android”.</p>
|
|
|
<p>A valid chain looks like this:</p>
|
|
|
<pre><code>Your certificate > zero or more intermediate certificates > CA (root) certificate marked with "Android"</code></pre>
|
|
|
<p>Note that a certificate chain will always be invalid when no anchor
|
|
|
certificate can be found in the Android key store, which is fundamental
|
|
|
to S/MIME certificate validation.</p>
|
|
|
<p>Please see <a
|
|
|
href="https://support.google.com/pixelphone/answer/2844832?hl=en">here</a>
|
|
|
how you can import certificates into the Android key store.</p>
|
|
|
<p>The use of expired keys, inline encrypted/signed messages and
|
|
|
hardware security tokens is not supported.</p>
|
|
|
<p>If you are looking for a free (test) S/MIME certificate, see <a
|
|
|
href="http://kb.mozillazine.org/Getting_an_SMIME_certificate">here</a>
|
|
|
for the options. Please be sure to <a
|
|
|
href="https://davidroessli.com/logs/2019/09/free-smime-certificates-in-2019/#update20191219">read
|
|
|
this first</a> if you want to request an S/MIME Actalis certificate.</p>
|
|
|
<p>S/MIME certificates can for example be purchased via <a
|
|
|
href="https://www.xolphin.com/">Xolphin</a>.</p>
|
|
|
<p>How to extract a public key from a S/MIME certificate:</p>
|
|
|
<pre><code>openssl pkcs12 -in filename.pfx/p12 -clcerts -nokeys -out cert.pem</code></pre>
|
|
|
<p>You can verify the signature of a raw message file (EML file) like
|
|
|
this:</p>
|
|
|
<pre><code>openssl smime -verify <xxx.eml</code></pre>
|
|
|
<p>You can decode S/MIME signatures, etc, <a
|
|
|
href="https://lapo.it/asn1js/">here</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><em>pretty Easy privacy</em></p>
|
|
|
<p>There is still <a
|
|
|
href="https://tools.ietf.org/id/draft-birk-pep-00.html">no approved
|
|
|
standard</a> for pretty Easy privacy (p≡p) and not many people are using
|
|
|
it.</p>
|
|
|
<p>However, FairEmail can send and receive PGP encrypted messages, which
|
|
|
are compatible with p≡p. Also, FairEmail understands incoming p≡p
|
|
|
messages since version 1.1519, so the encrypted subject will be shown
|
|
|
and the embedded message text will be shown more nicely.</p>
|
|
|
<p><br /></p>
|
|
|
<p>S/MIME sign/encrypt is a pro feature, but all other PGP and S/MIME
|
|
|
operations are free to use.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq13"></a> <strong>(13) How does search on device/server
|
|
|
work?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq13">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can start searching for messages on sender (from), recipient (to,
|
|
|
cc, bcc), subject, keywords or message text by using the magnify glass
|
|
|
in the action bar of a folder. You can also search from any app by
|
|
|
selecting <em>Search email</em> in the copy/paste popup menu.</p>
|
|
|
<p>Searching in the unified inbox will search in all folders of all
|
|
|
accounts, searching in the folder list will search in the associated
|
|
|
account only and searching in a folder will search in that folder
|
|
|
only.</p>
|
|
|
<p>Messages will be searched for on the device first. You can download
|
|
|
more messages on the device via the three-dots overflow menu in the
|
|
|
start screen. There will be an action button with a search again icon at
|
|
|
the bottom to continue searching on the server. You can select in which
|
|
|
folder to continue the search.</p>
|
|
|
<p>The IMAP protocol doesn’t support searching in more than one folder
|
|
|
at the same time. Searching on the server is an expensive operation,
|
|
|
therefore it is not possible to select multiple folders.</p>
|
|
|
<p>The POP3 protocol doesn’t support searching on the server at all.</p>
|
|
|
<p>Searching local messages is case insensitive and on partial text. The
|
|
|
message text of local messages will not be searched if the message text
|
|
|
was not downloaded yet. Searching on the server might be case sensitive
|
|
|
or case insensitive and might be on partial text or whole words,
|
|
|
depending on the provider.</p>
|
|
|
<p>Some servers cannot handle searching in the message text when there
|
|
|
are a large number of messages. For this case there is an option to
|
|
|
disable searching in the message text. Since version 1.1888 a popup
|
|
|
message will be shown and the search will automatically be retried
|
|
|
without searching in the message text.</p>
|
|
|
<p>It is possible to use Gmail search operators by prefixing a search
|
|
|
command with <em>raw:</em>. If you configured just one Gmail account,
|
|
|
you can start a raw search directly on the server by searching from the
|
|
|
unified inbox. If you configured multiple Gmail accounts, you’ll first
|
|
|
need to navigate to the folder list or the archive (all messages) folder
|
|
|
of the Gmail account you want to search in. Please <a
|
|
|
href="https://support.google.com/mail/answer/7190">see here</a> for the
|
|
|
possible search operators. For example:</p>
|
|
|
<p><code>raw:larger:10M</code></p>
|
|
|
<p>Searching through a large number of messages on the device is not
|
|
|
very fast because of two limitations:</p>
|
|
|
<ul>
|
|
|
<li><a href="https://www.sqlite.org/">sqlite</a>, the database engine of
|
|
|
Android has a record size limit, preventing message texts from being
|
|
|
stored in the database</li>
|
|
|
<li>Android apps get only limited memory to work with, even if the
|
|
|
device has plenty memory available</li>
|
|
|
</ul>
|
|
|
<p>This means that searching for a message text requires that files
|
|
|
containing the message texts need to be opened one by one to check if
|
|
|
the searched text is contained in the file, which is a relatively
|
|
|
expensive process.</p>
|
|
|
<p>In the <em>miscellaneous settings</em> you can enable <em>Build
|
|
|
search index</em> to significantly increase the speed of searching on
|
|
|
the device, but be aware that this will increase battery and storage
|
|
|
space usage. The search index is based on words in all message parts, so
|
|
|
searching for partial text and searching in specific messages parts
|
|
|
(from, subject, text, etc) is not possible.</p>
|
|
|
<p>Note that only messages for which the message text was downloaded
|
|
|
will be indexed. In the connection settings can be configured up to
|
|
|
which size messages texts will be downloaded automatically when using a
|
|
|
metered connection (generally mobile data or paid WiFi). In the folder
|
|
|
properties (long press on a folder in the folder list of an account)
|
|
|
downloading of messages texts can be enabled/disabled.</p>
|
|
|
<p>Searching using the search index is by default AND, so searching for
|
|
|
<em>apple orange</em> will search for apple AND orange. Words separated
|
|
|
by commas result in searching for OR, so for example <em>apple,
|
|
|
orange</em> will search for apple OR orange. Both can be combined, so
|
|
|
searching for <em>apple, orange banana</em> will search for apple OR
|
|
|
(orange AND banana). Using the search index is a pro feature.</p>
|
|
|
<p>Since version 1.1315 it is possible to use search expressions like
|
|
|
this:</p>
|
|
|
<pre><code>apple +banana -cherry ?nuts</code></pre>
|
|
|
<p>This will result in searching in the subject or text (only) like
|
|
|
this:</p>
|
|
|
<pre><code>("apple" AND "banana" AND NOT "cherry") OR "nuts"</code></pre>
|
|
|
<p>Since version 1.1980 it is possible to use these prefixes as a search
|
|
|
expression:</p>
|
|
|
<pre><code>from:<email address>
|
|
|
to:<email address>
|
|
|
cc:<email address>
|
|
|
bcc:<email address>
|
|
|
keyword:<keyword></code></pre>
|
|
|
<p>There should be no space between the prefix and the search term,
|
|
|
which will be applied as an AND-condition.</p>
|
|
|
<p>Only AND conditions (+) and NOT conditions (-) can be used for
|
|
|
on-device searching (since version 1.1981). If you try to use other
|
|
|
search expressions, you get the error <em>Select a folder for a complex
|
|
|
search</em>, which means that a folder in an account’s folder list must
|
|
|
be selected in order to perform the search on the server.</p>
|
|
|
<p>Since version 1.1733 it is possible to save searches, which means
|
|
|
that a named entry in the navigation menu will be created to repeat the
|
|
|
same search later. You can save a search after searching by tapping on
|
|
|
the save button in the top action bar. After repeating a search there
|
|
|
will be a delete button at the same place to delete a saved search
|
|
|
again. A saved search might be useful to quickly search for starred
|
|
|
messages, or for messages from a specific email address, etc.</p>
|
|
|
<p>Using the search index is a pro feature.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq14"></a> <strong>(14) How can I set up an Outlook / Live
|
|
|
/ Hotmail account?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq14">Google
|
|
|
Translate</a></p>
|
|
|
<blockquote>
|
|
|
<p><strong>Important</strong>: Basic Authentication (=password
|
|
|
authentication) <a
|
|
|
href="https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-deprecation-in-exchange-online-may-2022/ba-p/3301866">will
|
|
|
be turned off from October 1, 2022</a>.</p>
|
|
|
<p>✔ If you authorized your Outlook/Office 365 account with the quick
|
|
|
setup wizard, your account will keep being synchronized after October 1,
|
|
|
2022.</p>
|
|
|
<p>❌ If you authorized your Outlook/Office 365 account manually with a
|
|
|
password, your account can’t be synchronized from October 1, 2022
|
|
|
anymore.</p>
|
|
|
<p>How to check:</p>
|
|
|
<ul>
|
|
|
<li>Go to the <em>Settings</em> via the navigation menu (left side
|
|
|
menu)</li>
|
|
|
<li>Tap on <em>Manual setup and account options</em></li>
|
|
|
<li>Tap on <em>Accounts</em></li>
|
|
|
<li>Find the account in the list</li>
|
|
|
<li>If there is a shield icon before the account name (=OAuth), the
|
|
|
account will keep working</li>
|
|
|
</ul>
|
|
|
<p>How to fix:</p>
|
|
|
<ul>
|
|
|
<li>Go to the <em>Settings</em> via the navigation menu (left side
|
|
|
menu)</li>
|
|
|
<li>Tap on the <em>Wizard</em> button and select <em>Outlook/Office365
|
|
|
(OAuth)</em></li>
|
|
|
<li>Tick the checkbox to authenticate an existing account (else you’ll
|
|
|
create a new account!)</li>
|
|
|
<li>Fill in the fields and follow the steps</li>
|
|
|
<li>Repeat for each account</li>
|
|
|
</ul>
|
|
|
</blockquote>
|
|
|
<p>An Outlook / Live / Hotmail account can be set up via the quick setup
|
|
|
wizard and selecting <em>Outlook/Office 365</em>.</p>
|
|
|
<p><strong>Important</strong>: a personal and a business account can
|
|
|
have the same email address, but have different mailboxes (folders). So,
|
|
|
please make sure you select the right option.</p>
|
|
|
<p>Microsoft said “<em>We have turned off SMTP AUTH for millions of
|
|
|
tenants not using it</em>”, which can result in this error message:</p>
|
|
|
<pre><code>535 5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Tenant.
|
|
|
Visit https://aka.ms/smtp_auth_disabled for more information.</code></pre>
|
|
|
<p>SMTP AUTH is necessary for third party email clients, which is also
|
|
|
documented in <a href="https://aka.ms/smtp_auth_disabled">the referenced
|
|
|
article</a>. So, basically this means that Microsoft is pushing you to
|
|
|
their own products. Isn’t this a bit of a monopoly?</p>
|
|
|
<p>To use an Outlook, Live or Hotmail account with two factor
|
|
|
authentication enabled, you might need to create an app password. See <a
|
|
|
href="https://support.microsoft.com/en-us/help/12409/microsoft-account-app-passwords-two-step-verification">here</a>
|
|
|
for the details.</p>
|
|
|
<p>See <a
|
|
|
href="https://support.office.com/en-us/article/pop-imap-and-smtp-settings-for-outlook-com-d088b986-291d-42b8-9564-9c414e2aa040">here</a>
|
|
|
for Microsoft’s instructions.</p>
|
|
|
<p>Please see <a href="#faq139">this FAQ</a> for possible causes of the
|
|
|
error <em>… User is authenticated but not connected …</em>.</p>
|
|
|
<p>For unknown reasons, some Outlook/Hotmail accounts cannot send
|
|
|
messages because of the server error ‘<em>535 5.7.3 Authentication
|
|
|
unsuccessful</em>’. This can be resolved by authenticating the account
|
|
|
with an (app) password (see above) instead of with OAuth. You should use
|
|
|
the “<em>Other provider</em>” wizard instead of “<em>Outlook / Office
|
|
|
365 (OAuth)</em>” in this case.</p>
|
|
|
<p>For setting up an Office 365 account, please see <a
|
|
|
href="#faq156">this FAQ</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq15"></a> <strong>(15) Why does the message text keep
|
|
|
loading?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq15">Google
|
|
|
Translate</a></p>
|
|
|
<p>The message header and message body are fetched separately from the
|
|
|
server. The message text of larger messages is not being pre-fetched on
|
|
|
metered connections and will be fetched on demand on expanding a
|
|
|
message. The message text will keep loading if there is no connection to
|
|
|
the account, see also the next question, or if there other operations,
|
|
|
like synchronizing messages, are being executed.</p>
|
|
|
<p>You can check the account and folder list for the account and folder
|
|
|
state (see the legend for the meaning of the icons) and the operation
|
|
|
list accessible via the main navigation menu for pending operations (see
|
|
|
<a href="#faq3">this FAQ</a> for the meaning of the operations).</p>
|
|
|
<p>If FairEmail is holding off because of prior connectivity issues,
|
|
|
please see <a href="#faq123">this FAQ</a>, you can force synchronization
|
|
|
via the three dots menu.</p>
|
|
|
<p>In the receive settings you can set the maximum size for
|
|
|
automatically downloading of messages on metered connections.</p>
|
|
|
<p>Mobile connections are almost always metered and some (paid) Wi-Fi
|
|
|
hotspots are too.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq16"></a> <strong>(16) Why are messages not being
|
|
|
synchronized?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq16">Google
|
|
|
Translate</a></p>
|
|
|
<p>Possible causes of messages not being synchronized (sent or received)
|
|
|
are:</p>
|
|
|
<ul>
|
|
|
<li>The account or folder(s) are not set to synchronize</li>
|
|
|
<li>The number of days to synchronize message for is set too low</li>
|
|
|
<li>There is no usable internet connection</li>
|
|
|
<li>The email server is temporarily not available</li>
|
|
|
<li>Battery optimizations were not disable via setup step 3</li>
|
|
|
<li>Android stopped the synchronization service</li>
|
|
|
<li>A memory management app stopped the synchronization service</li>
|
|
|
</ul>
|
|
|
<p>So, check your account and folder settings and check if the
|
|
|
accounts/folders are connected (see the legend in the navigation menu
|
|
|
for the meaning of the icons).</p>
|
|
|
<p>If there are any error messages, please see <a href="#faq22">this
|
|
|
FAQ</a>.</p>
|
|
|
<p>On some devices, where there are lots of applications competing for
|
|
|
memory, Android may stop the synchronization service as a last
|
|
|
resort.</p>
|
|
|
<p>Some Android versions, especially those of Samsung, OnePlus, Huawei
|
|
|
and Xiaomi, stop apps and services too aggressively. See <a
|
|
|
href="https://dontkillmyapp.com/">this dedicated website</a> “<em>Don’t
|
|
|
kill my app</em>” for solutions, and <a
|
|
|
href="https://issuetracker.google.com/issues/122098785">this Android
|
|
|
issue</a> (requires logging in with a Google account) for more
|
|
|
information.</p>
|
|
|
<p>If you have a Doogee device, please <a
|
|
|
href="https://android.stackexchange.com/questions/214639/background-apps-get-killed-by-something-other-than-battery-optimization">see
|
|
|
here</a>.</p>
|
|
|
<p>Disabling battery optimizations (setup step 3) reduces the chance
|
|
|
Android will stop the synchronization service.</p>
|
|
|
<p>In case of successive connection errors, FairEmail will hold off
|
|
|
increasingly longer to not drain the battery of your device. This is
|
|
|
described in <a href="#faq123">this FAQ</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq17"></a> <strong><del>(17) Why does manual synchronize
|
|
|
not work?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq17">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>If the <em>Synchronize now</em> menu is dimmed, there is no
|
|
|
connection to the account.</del></p>
|
|
|
<p><del>See the previous question for more information.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq18"></a> <strong>(18) Why is the message preview not
|
|
|
always shown?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq18">Google
|
|
|
Translate</a></p>
|
|
|
<p>The preview of the message text cannot be shown if the message body
|
|
|
has not been downloaded yet. See also <a href="#faq15">this FAQ</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq19"></a> <strong>(19) Why are the pro features so
|
|
|
expensive?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq19">Google
|
|
|
Translate</a></p>
|
|
|
<p><strong>FairEmail is basically free to use</strong> and only some
|
|
|
advanced features need to be purchased.</p>
|
|
|
<p><strong>FairEmail ist grundsätzlich kostenlos</strong> und nur einige
|
|
|
erweiterte Funktionen müssen gekauft werden.</p>
|
|
|
<p><strong>FairEmail est au fond gratuit</strong> et seulement quelques
|
|
|
fonctionnalités avancées doivent être achetés.</p>
|
|
|
<p>Please see the Play store description of the app or <a
|
|
|
href="https://email.faircode.eu/#pro">see here</a> for a complete list
|
|
|
of pro features.</p>
|
|
|
<p>The right question is “<em>why are there so many taxes and
|
|
|
fees?</em>”:</p>
|
|
|
<ul>
|
|
|
<li>VAT: 25 % (depending on your country)</li>
|
|
|
<li>Google fee: 15-30 %</li>
|
|
|
<li>Income tax: 50 %</li>
|
|
|
<li><sub>Paypal fee: 5-10 % depending on the country/amount</sub></li>
|
|
|
</ul>
|
|
|
<p>So, what is left for the developer is just a fraction of what you
|
|
|
pay.</p>
|
|
|
<p>Also note that most free apps will appear not to be sustainable in
|
|
|
the end, whereas FairEmail is properly maintained and supported, and
|
|
|
that free apps may have a catch, like sending privacy sensitive
|
|
|
information to the internet. There are no privacy violating ads in the
|
|
|
app either.</p>
|
|
|
<p>I have been working on FairEmail almost every day for more than four
|
|
|
years, so I think the price is more than reasonable. For this reason
|
|
|
there won’t be discounts either.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq20"></a> <strong>(20) Can I get a refund?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq20">Google
|
|
|
Translate</a></p>
|
|
|
<p>If a purchased pro feature doesn’t work as intended and this isn’t
|
|
|
caused by a problem in the free features and I cannot fix the problem in
|
|
|
a timely manner, you can get a refund. In all other cases there is no
|
|
|
refund possible. In no circumstances there is a refund possible for any
|
|
|
problem related to the free features, since there wasn’t paid anything
|
|
|
for them and because they can be evaluated without any limitation. I
|
|
|
take my responsibility as seller to deliver what has been promised and I
|
|
|
expect that you take responsibility for informing yourself of what you
|
|
|
are buying.</p>
|
|
|
<p><a name="faq21"></a> <strong>(21) How do I enable the notification
|
|
|
light?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq21">Google
|
|
|
Translate</a></p>
|
|
|
<p>Before Android 8 Oreo: there is an advanced option in the
|
|
|
notification settings of the app for this.</p>
|
|
|
<p>Android 8 Oreo and later: please see <a
|
|
|
href="https://developer.android.com/training/notify-user/channels">here</a>
|
|
|
about how to configure notification channels. You can use the button
|
|
|
<em>Default channel</em> in the notification settings of the app to
|
|
|
directly go to the right Android notification channel settings.</p>
|
|
|
<p>Note that apps cannot change notification settings, including the
|
|
|
notification light setting, on Android 8 Oreo and later anymore.</p>
|
|
|
<p>Sometimes it is necessary to disable the setting <em>Show message
|
|
|
preview in notifications</em> or to enable the settings <em>Show
|
|
|
notifications with a preview text only</em> to workaround bugs in
|
|
|
Android. This might apply to notification sounds and vibrations too.</p>
|
|
|
<p>Setting a light color before Android 8 is not supported and on
|
|
|
Android 8 and later not possible.</p>
|
|
|
<p>Some apps create a notification channel for each selectable color and
|
|
|
let you (indirectly) select these channels when selecting a color. Since
|
|
|
FairEmail uses notification channels for configurable notification
|
|
|
properties for accounts, folders and senders (<a href="#faq145">see this
|
|
|
FAQ</a>), this is not a feasible solution for FairEmail because it would
|
|
|
result in an unmanageable number of notification channels.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq22"></a> <strong>(22) What does account/folder error …
|
|
|
mean?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq22">Google
|
|
|
Translate</a></p>
|
|
|
<p>FairEmail does not hide errors like similar apps often do, so it is
|
|
|
easier to diagnose problems.</p>
|
|
|
<p>FairEmail will automatically try to connect again after a delay. This
|
|
|
delay will be doubled after each failed attempt to prevent draining the
|
|
|
battery and to prevent from being locked out permanently. Please see <a
|
|
|
href="#faq123">this FAQ</a> for more information about this.</p>
|
|
|
<p>There are general errors and errors specific to Gmail accounts (see
|
|
|
below).</p>
|
|
|
<p><strong>General errors</strong></p>
|
|
|
<p><a name="authfailed"></a> The error <em>… <strong>Authentication
|
|
|
failed</strong> …</em> or <em>… AUTHENTICATE failed …</em> likely means
|
|
|
that your username or password was incorrect. Some providers expect as
|
|
|
username just <em>username</em> and others your full email address
|
|
|
<em>username@example.com</em>. When copying/pasting to enter a username
|
|
|
or password, invisible characters might be copied, which could cause
|
|
|
this problem as well. Some password managers are known to do this
|
|
|
incorrectly too. The username might be case sensitive, so try lowercase
|
|
|
characters only. The password is almost always case sensitive. Some
|
|
|
providers require using an app password instead of the account password,
|
|
|
so please check the documentation of the provider. Sometimes it is
|
|
|
necessary to enable external access (IMAP/SMTP) on the website of the
|
|
|
provider first. Other possible causes are that the account is blocked or
|
|
|
that logging in has been administratively restricted in some way, for
|
|
|
example by allowing to login from certain networks / IP addresses
|
|
|
only.</p>
|
|
|
<ul>
|
|
|
<li><strong>Free.fr</strong>: please see <a href="#faq157">this
|
|
|
FAQ</a></li>
|
|
|
<li><strong>Gmail / G suite</strong>: please see <a href="#faq6">this
|
|
|
FAQ</a></li>
|
|
|
<li><strong>iCloud</strong>: please see <a href="#faq148">this
|
|
|
FAQ</a></li>
|
|
|
<li><strong>Posteo</strong>: please check if <a
|
|
|
href="https://posteo.de/en/help/activating-additional-email-account-protection">additional
|
|
|
email account protection</a> isn’t enabled.</li>
|
|
|
<li><strong>Yahoo, AOL and Sky</strong>: please see <a
|
|
|
href="#faq88">this FAQ</a></li>
|
|
|
</ul>
|
|
|
<p>If needed, you can update a password in the account settings:
|
|
|
navigation menu (left side menu), tap <em>Settings</em>, tap <em>Manual
|
|
|
setup</em>, tap <em>Accounts</em> and tap on the account. Changing the
|
|
|
account password will in most cases automatically change the password of
|
|
|
related identities too. If the account was authorized with OAuth via the
|
|
|
quick setup wizard instead of with a password, you can run the quick
|
|
|
setup wizard again and tick <em>Authorize existing account again</em> to
|
|
|
authenticate the account again. Note that this requires a recent version
|
|
|
of the app.</p>
|
|
|
<p>The error <em>… Too many bad auth attempts …</em> likely means that
|
|
|
you are using a Yahoo account password instead of an app password.
|
|
|
Please see <a href="#faq88">this FAQ</a> about how to set up a Yahoo
|
|
|
account.</p>
|
|
|
<p>The message <em>… +OK …</em> likely means that a POP3 port (usually
|
|
|
port number 995) is being used for an IMAP account (usually port number
|
|
|
993).</p>
|
|
|
<p>The errors <em>… invalid greeting …</em>, <em>… requires valid
|
|
|
address …</em> and <em>… Parameter to HELO does not conform to RFC
|
|
|
syntax …</em> can likely be solved by changing the advanced identity
|
|
|
setting <em>Use local IP address instead of host name</em>.</p>
|
|
|
<p>The error <em>… Couldn’t connect to host …</em> means that there was
|
|
|
no response from the email server within a reasonable time (20 seconds
|
|
|
by default). Mostly this indicates internet connectivity issues,
|
|
|
possibly caused by a VPN or by a firewall app. You can try to increase
|
|
|
the connection timeout in the connection settings of FairEmail, for when
|
|
|
the email server is really slow. Some devices have a firewall, which you
|
|
|
can access like this:</p>
|
|
|
<p>Android <em>Settings, Data usage, Three-dots overflow menu, Data
|
|
|
usage control</em></p>
|
|
|
<p>The error <em>… Connection refused …</em> (ECONNREFUSED) means that
|
|
|
the email server or something between the email server and the app, like
|
|
|
a firewall, actively refused the connection.</p>
|
|
|
<p>The error <em>… Network unreachable …</em> means that the email
|
|
|
server was not reachable via the current internet connection, for
|
|
|
example because internet traffic is restricted to local traffic
|
|
|
only.</p>
|
|
|
<p>The error <em>… Host is unresolved …</em>, <em>… Unable to resolve
|
|
|
host …</em> or <em>… No address associated with hostname …
|
|
|
android_getaddrinfo failed: EAI_NODATA</em> means that the address of
|
|
|
the email server could not be resolved into an IP address. This might be
|
|
|
caused by a VPN, ad blocking or an unreachable or not properly working
|
|
|
(local) <a
|
|
|
href="https://en.wikipedia.org/wiki/Domain_Name_System">DNS</a> server.
|
|
|
An incorrect Android private DNS network setting can cause this too.</p>
|
|
|
<p>The error <em>… Software caused connection abort …</em> means that
|
|
|
the email server or something between FairEmail and the email server
|
|
|
actively terminated an existing connection. This can for example happen
|
|
|
when connectivity was abruptly lost. A typical example is turning on
|
|
|
flight mode.</p>
|
|
|
<p>The errors <em>… BYE Logging out …</em>, <em>… Connection reset
|
|
|
…</em> mean that the email server or something between the email server
|
|
|
and the app, for example a router or a firewall (app), actively
|
|
|
terminated an existing connection.</p>
|
|
|
<p>The error <em>… Connection closed by peer …</em> means that the email
|
|
|
server actively closed the connection. This might be caused by a not
|
|
|
updated Exchange server, see <a
|
|
|
href="https://blogs.technet.microsoft.com/pki/2010/09/30/sha2-and-windows/">here</a>
|
|
|
for more information.</p>
|
|
|
<p>The errors <em>… Read error …</em> (sometimes combined with
|
|
|
<em>BAD_DECRYPT</em> / <em>DECRYPTION_FAILED_OR_BAD_RECORD_MAC</em>),
|
|
|
<em>… Write error …</em>, <em>… Read timed out …</em>, <em>… Broken pipe
|
|
|
…</em> mean that the email server is not responding anymore or that the
|
|
|
internet connection is bad.</p>
|
|
|
<p><a name="connectiondropped"></a> The error <em>… Connection dropped
|
|
|
by server? …</em> means that the email server unexpectedly terminated
|
|
|
the connection. This sometimes happen when there were too many
|
|
|
(simultaneous) connections in a too short time or when a wrong password
|
|
|
was used too often. In this case, please make sure your password is
|
|
|
correct and disable receiving in the receive settings for about 30
|
|
|
minutes and try again. If needed, see <a href="#faq23">this FAQ</a>
|
|
|
about how you can reduce the number of connections.</p>
|
|
|
<p>The error <em>… Unexpected end of zlib input stream …</em> means that
|
|
|
not all data was received, possibly due to a bad or interrupted
|
|
|
connection.</p>
|
|
|
<p>The error <em>… connection failure …</em> could indicate <a
|
|
|
href="#faq23">Too many simultaneous connections</a>.</p>
|
|
|
<p>The warning <em>… Unsupported encoding …</em> means that the
|
|
|
character set of the message is unknown or not supported. FairEmail will
|
|
|
assume ISO-8859-1 (Latin1), which will in most cases result in showing
|
|
|
the message correctly.</p>
|
|
|
<p>The error <em>… Login Rate Limit Hit …</em> means that there were too
|
|
|
many login attempts with an incorrect password. Please double check your
|
|
|
password or authenticate the account again with the quick setup wizard
|
|
|
(OAuth only).</p>
|
|
|
<p>The error <em>… NO mailbox selected READ-ONLY …</em> indicates <a
|
|
|
href="https://sebastian.marsching.com/wiki/Network/Zimbra#Mailbox_Selected_READ-ONLY_Error_in_Thunderbird">this
|
|
|
Zimbra problem</a>.</p>
|
|
|
<p>The Outlook specific error <em>… Command Error. 10 …</em> probably
|
|
|
means that the OAuth token expired or was invalidated. Authenticating
|
|
|
the account again with the quick setup wizard will probably resolve this
|
|
|
condition. Another possible cause is a bug in an older Exchange version,
|
|
|
please <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=886261">see
|
|
|
here</a>. In this case the system administrator needs to update the
|
|
|
server software.</p>
|
|
|
<p>Please <a href="#faq4">see here</a> for the errors <em>… Untrusted …
|
|
|
not in certificate …</em>, <em>… Invalid security certificate (Can’t
|
|
|
verify identity of server) …</em> or <em>… Trust anchor for
|
|
|
certification path not found …</em></p>
|
|
|
<p>Please <a href="#faq127">see here</a> for the error <em>…
|
|
|
Syntactically invalid HELO argument(s) …</em>.</p>
|
|
|
<p>Please <a href="#faq41">see here</a> for the error <em>… Handshake
|
|
|
failed …</em>.</p>
|
|
|
<p>See <a href="https://linux.die.net/man/3/connect">here</a> for what
|
|
|
error codes like EHOSTUNREACH and ETIMEDOUT mean.</p>
|
|
|
<p>The error <em>… connect failed: EACCES (Permission denied) …</em>
|
|
|
means that <em>Restrict data usage</em> was disabled in the Android MIUI
|
|
|
app settings for FairEmail. On Samsung, and possible other devices, also
|
|
|
check: Android settings > Battery > Battery manager / Unmonitored
|
|
|
apps.</p>
|
|
|
<p>Possible causes are:</p>
|
|
|
<ul>
|
|
|
<li>A firewall or router is blocking connections to the server</li>
|
|
|
<li>The host name or port number is invalid</li>
|
|
|
<li>There are problems with the internet connection</li>
|
|
|
<li>There are problems with resolving domain names (Yandex: try to
|
|
|
disable private DNS in the Android settings)</li>
|
|
|
<li>The email server is refusing to accept (external) connections</li>
|
|
|
<li>The email server is refusing to accept a message, for example
|
|
|
because it is too large or contains unacceptable links</li>
|
|
|
<li>There are too many connections to the server, see also the next
|
|
|
question</li>
|
|
|
</ul>
|
|
|
<p>Many public Wi-Fi networks block outgoing email to prevent spam.
|
|
|
Sometimes you can workaround this by using another SMTP port. See the
|
|
|
documentation of the provider for the usable port numbers.</p>
|
|
|
<p>If you are using a <a
|
|
|
href="https://en.wikipedia.org/wiki/Virtual_private_network">VPN</a>,
|
|
|
the VPN provider might block the connection because it is too
|
|
|
aggressively trying to prevent spam. Similarly, the email server might
|
|
|
block connections via a VPN because it was misused for sending spam.
|
|
|
Some VPN providers have “cleaner” IP addresses than others, so switching
|
|
|
to another VPN provider might be useful. Note that <a
|
|
|
href="https://fi.google.com/">Google Fi</a> is using a VPN too.</p>
|
|
|
<p>The error ‘<em>You must use stronger authentication such as AUTH or
|
|
|
APOP to connect to this server</em>’ can be fixed by enabling debug mode
|
|
|
(last option in the miscellaneous settings tab page), and in the debug
|
|
|
panel that appears enabling the APOP option. After that, debug mode can
|
|
|
be disabled again.</p>
|
|
|
<p><strong>Send errors</strong></p>
|
|
|
<p>SMTP servers can reject messages for <a
|
|
|
href="https://en.wikipedia.org/wiki/List_of_SMTP_server_return_codes">a
|
|
|
variety of reasons</a>. Too large messages and triggering the spam
|
|
|
filter of an email server are the most common reasons.</p>
|
|
|
<ul>
|
|
|
<li>The error <em>… Socket is closed …</em> might be caused by sending a
|
|
|
too large message / attachments</li>
|
|
|
<li>The attachment size limit for Gmail <a
|
|
|
href="https://support.google.com/mail/answer/6584">is 25 MB</a></li>
|
|
|
<li>The attachment size limit for Outlook and Office 365 <a
|
|
|
href="https://support.microsoft.com/en-us/help/2813269/attachment-size-exceeds-the-allowable-limit-error-when-you-add-a-large">is
|
|
|
20 MB</a></li>
|
|
|
<li>The attachment size limit for Yahoo <a
|
|
|
href="https://help.yahoo.com/kb/SLN5673.html">is 25 MB</a></li>
|
|
|
<li><em>554 5.7.1 Service unavailable; Client host xxx.xxx.xxx.xxx
|
|
|
blocked</em>, please <a
|
|
|
href="https://docs.gandi.net/en/gandimail/faq/error_types/554_5_7_1_service_unavailable.html">see
|
|
|
here</a></li>
|
|
|
<li><em>501 Syntax error - line too long</em> is often caused by using a
|
|
|
long Autocrypt header</li>
|
|
|
<li><em>503 5.5.0 Recipient already specified</em> mostly means that an
|
|
|
address is being used both as TO and CC address</li>
|
|
|
<li><em>554 5.7.1 … not permitted to relay</em> means that the email
|
|
|
server does not recognize the username/email address. Please double
|
|
|
check the host name and username/email address in the identity
|
|
|
settings.</li>
|
|
|
<li><em>550 Spam message rejected because IP is listed by …</em> means
|
|
|
that the email server rejected to send a message from the current
|
|
|
(public) network address because it was misused to send spam by
|
|
|
(hopefully) somebody else before. Please try to enable flight mode for
|
|
|
10 minutes to acquire a new network address.</li>
|
|
|
<li><em>550 We’re sorry, but we can’t send your email. Either the
|
|
|
subject matter, a link, or an attachment potentially contains spam, or
|
|
|
phishing or malware.</em> means that the email provider considers an
|
|
|
outgoing message as harmful.</li>
|
|
|
<li><em>550 …</em>, <a
|
|
|
href="https://www.crazydomains.com.au/help/550-blocked-error-explained/">see
|
|
|
here</a> for a list of possible causes</li>
|
|
|
<li><em>571 5.7.1 Message contains spam or virus or sender is blocked
|
|
|
…</em> means that the email server considered an outgoing message as
|
|
|
spam. This probably means that the spam filters of the email server are
|
|
|
too strict. You’ll need to contact the email provider for support on
|
|
|
this.</li>
|
|
|
<li><em>451 4.7.0 Temporary server error. Please try again later. PRX4
|
|
|
…</em> indicates a server configuration problem, please <a
|
|
|
href="https://www.limilabs.com/blog/office365-temporary-server-error-please-try-again-later-prx4">see
|
|
|
here</a> or <a
|
|
|
href="https://judeperera.wordpress.com/2019/10/11/fixing-451-4-7-0-temporary-server-error-please-try-again-later-prx4/">see
|
|
|
here</a>.</li>
|
|
|
<li><em>451 4.7.0 Temporary server error. Please try again later. PRX5
|
|
|
…</em> indicates a server configuration problem, please <a
|
|
|
href="https://www.limilabs.com/qa/4471/451-4-7-0-temporary-server-error-please-try-again-later-prx5">see
|
|
|
here</a></li>
|
|
|
<li><em>571 5.7.1 Relay access denied</em>: please double check the
|
|
|
username and email address in the advanced identity settings (via the
|
|
|
manual setup).</li>
|
|
|
<li>Please <a href="https://support.google.com/a/answer/3726730">see
|
|
|
here</a> for more information and other SMTP error codes</li>
|
|
|
</ul>
|
|
|
<p>If you want to use the Gmail SMTP server to workaround a too strict
|
|
|
outgoing spam filter or to improve delivery of messages:</p>
|
|
|
<ul>
|
|
|
<li>Verify your email address <a
|
|
|
href="https://mail.google.com/mail/u/0/#settings/accounts">here</a>
|
|
|
(you’ll need to use a desktop browser for this)</li>
|
|
|
<li>Change the identity settings like this (Settings, tap Manual setup,
|
|
|
tap Identities, tap identity):</li>
|
|
|
</ul>
|
|
|
<p> Username: <em>your Gmail address</em><br /> Password: <em><a
|
|
|
href="#faq6">an app password</a></em><br /> Host:
|
|
|
<em>smtp.gmail.com</em><br /> Port: <em>465</em><br /> Encryption:
|
|
|
<em>SSL/TLS</em><br /> Reply to address: <em>your email address</em>
|
|
|
(advanced identity settings)<br /></p>
|
|
|
<p><br /></p>
|
|
|
<p><strong>Gmail errors</strong></p>
|
|
|
<p>The authorization of Gmail accounts setup with the quick wizard needs
|
|
|
to be periodically refreshed via the <a
|
|
|
href="https://developer.android.com/reference/android/accounts/AccountManager">Android
|
|
|
account manager</a>. This requires contact/account permissions and
|
|
|
internet connectivity.</p>
|
|
|
<p>In case of errors it is possible to authorize/restore a Gmail account
|
|
|
again via the Gmail quick setup wizard.</p>
|
|
|
<p>The error <em>… Authentication failed … Account not found …</em>
|
|
|
means that a previously authorized Gmail account was removed from the
|
|
|
device.</p>
|
|
|
<p>The errors <em>… Authentication failed … No token …</em> means that
|
|
|
the Android account manager failed to refresh the authorization of a
|
|
|
Gmail account.</p>
|
|
|
<p>The error <em>… Authentication failed … network error …</em> means
|
|
|
that the Android account manager was not able to refresh the
|
|
|
authorization of a Gmail account due to problems with the internet
|
|
|
connection</p>
|
|
|
<p>The error <em>… Authentication failed … Invalid credentials …</em>
|
|
|
could be caused by changing the account password or by having revoked
|
|
|
the required account/contacts permissions. In case the account password
|
|
|
was changed, you’ll need to authenticate the Google account in the
|
|
|
Android account settings again. In case the permissions were revoked,
|
|
|
you can start the Gmail quick setup wizard to grant the required
|
|
|
permissions again (you don’t need to setup the account again).</p>
|
|
|
<p>The eror <em>… ServiceDisabled …</em> might be caused by enrolling in
|
|
|
the <a href="https://landing.google.com/advancedprotection/">Advanced
|
|
|
Protection Program</a>: “<em>To read your email, you can (must) use
|
|
|
Gmail - You won’t be able to use your Google Account with some (all)
|
|
|
apps & services that require access to sensitive data like your
|
|
|
emails</em>”, see <a
|
|
|
href="https://support.google.com/accounts/answer/7519408?hl=en&ref_topic=9264881">here</a>.</p>
|
|
|
<p>The error <em>… 334 … OAUTH2 asked for more …</em> probably means
|
|
|
that the account needs to be authorized again, which you can do with the
|
|
|
quick setup wizard in the settings.</p>
|
|
|
<p>When in doubt, you can ask for <a
|
|
|
href="#get-support">support</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq23"></a> <strong>(23) Why do I get alert …?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq23">Google
|
|
|
Translate</a></p>
|
|
|
<p><em>General</em></p>
|
|
|
<p>Alerts are warning messages sent by email servers.</p>
|
|
|
<p><em>Too many simultaneous connections</em> or <em>Maximum number of
|
|
|
connections exceeded</em></p>
|
|
|
<p>This alert will be sent when there are too many folder connections
|
|
|
for the same email account at the same time.</p>
|
|
|
<p>Possible causes are:</p>
|
|
|
<ul>
|
|
|
<li>There are multiple email clients connected to the same account</li>
|
|
|
<li>The same email client is connected multiple times to the same
|
|
|
account</li>
|
|
|
<li>Previous connections were terminated abruptly for example by
|
|
|
abruptly losing internet connectivity</li>
|
|
|
</ul>
|
|
|
<p>First try to wait some time to see if the problem resolves itself,
|
|
|
else:</p>
|
|
|
<ul>
|
|
|
<li>either switch to periodically checking for messages in the receive
|
|
|
settings, which will result in opening folders one at a time</li>
|
|
|
<li>or set some folders to poll instead of synchronize (long press
|
|
|
folder in the folder list, edit properties)</li>
|
|
|
</ul>
|
|
|
<p>An easy way to configure periodically checking for messages for all
|
|
|
folders except the inbox is to use <em>Apply to all …</em> in the
|
|
|
three-dots menu of the folder list and to tick the bottom two advanced
|
|
|
checkboxes.</p>
|
|
|
<p>The maximum number of simultaneous folder connections for Gmail is
|
|
|
15, so you can synchronize at most 15 folders simultaneously on
|
|
|
<em>all</em> your devices at the same time. For this reason Gmail
|
|
|
<em>user</em> folders are set to poll by default instead of synchronize
|
|
|
always. When needed or desired, you can change this by long pressing a
|
|
|
folder in the folder list and selecting <em>Edit properties</em>. See <a
|
|
|
href="https://support.google.com/mail/answer/7126229">here</a> for
|
|
|
details.</p>
|
|
|
<p>When using a Dovecot server, you might want to change the setting <a
|
|
|
href="https://doc.dovecot.org/settings/dovecot_core_settings/#mail-max-userip-connections">mail_max_userip_connections</a>.</p>
|
|
|
<p>Note that it will take the email server a while to discover broken
|
|
|
connections, for example due to going out of range of a network, which
|
|
|
means that effectively only half of the folder connections are
|
|
|
available. For Gmail this would be just 7 connections.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq24"></a> <strong>(24) What is browse messages on the
|
|
|
server?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq24">Google
|
|
|
Translate</a></p>
|
|
|
<p>Browse messages on the server will fetch messages from the email
|
|
|
server in real time when you reach the end of the list of synchronized
|
|
|
messages, even when the folder is set to not synchronize. You can
|
|
|
disable this feature in the advanced account settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq25"></a> <strong>(25) Why can’t I select/open/save an
|
|
|
image, attachment or a file?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq25">Google
|
|
|
Translate</a></p>
|
|
|
<p>When a menu item to select/open/save a file is disabled (dimmed) or
|
|
|
when you get the message <em>Storage access framework not
|
|
|
available</em>, the <a
|
|
|
href="https://developer.android.com/guide/topics/providers/document-provider">storage
|
|
|
access framework</a>, a standard Android component, is probably not
|
|
|
present. This might be because your custom ROM does not include it or
|
|
|
because it was actively removed (debloated).</p>
|
|
|
<p>FairEmail does not request storage permissions, so this framework is
|
|
|
required to select files and folders. No app, except maybe file
|
|
|
managers, targeting Android 4.4 KitKat or later should ask for storage
|
|
|
permissions because it would allow access to <em>all</em> files.
|
|
|
Moreover, recent Android versions disallow access to all files for apps,
|
|
|
except, under specific conditions, for file managers.</p>
|
|
|
<p>The storage access framework is provided by the package
|
|
|
<em>com.android.documentsui</em>, which is visible as <em>Files</em> app
|
|
|
on some Android versions (notably OxygenOS).</p>
|
|
|
<p>You can enable the storage access framework (again) with this adb
|
|
|
command:</p>
|
|
|
<pre><code>pm install -k --user 0 com.android.documentsui</code></pre>
|
|
|
<p>Alternatively, you might be able to enable the <em>Files</em> app
|
|
|
again using the Android app settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq26"></a> <strong>(26) Can I help to translate FairEmail
|
|
|
in my own language?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq26">Google
|
|
|
Translate</a></p>
|
|
|
<p>Yes, you can translate the texts of FairEmail in your own language <a
|
|
|
href="https://crowdin.com/project/open-source-email">on Crowdin</a>.
|
|
|
Registration is free.</p>
|
|
|
<p>If you would like a new language to be added, or your name or alias
|
|
|
to be included in the list of contributors in <em>About</em> the app,
|
|
|
please <a
|
|
|
href="https://contact.faircode.eu/?product=fairemailsupport">contact
|
|
|
me</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq27"></a> <strong>(27) How can I distinguish between
|
|
|
embedded and external images?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq27">Google
|
|
|
Translate</a></p>
|
|
|
<p>External image:</p>
|
|
|
<p><img alt="External image" src="https://github.com/M66B/FairEmail/blob/master/images/baseline_image_black_48dp.png" width="48" height="48" /></p>
|
|
|
<p>Embedded image:</p>
|
|
|
<p><img alt="Embedded image" src="https://github.com/M66B/FairEmail/blob/master/images/baseline_photo_library_black_48dp.png" width="48" height="48" /></p>
|
|
|
<p>Broken image:</p>
|
|
|
<p><img alt="Broken image" src="https://github.com/M66B/FairEmail/blob/master/images/baseline_broken_image_black_48dp.png" width="48" height="48" /></p>
|
|
|
<p>Note that downloading external images from a remote server can be
|
|
|
used to record you did see a message, which you likely don’t want if the
|
|
|
message is spam or malicious.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq28"></a> <strong>(28) How can I manage status bar
|
|
|
notifications?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq28">Google
|
|
|
Translate</a></p>
|
|
|
<p>In the notification settings you’ll find a button <em>Manage
|
|
|
notifications</em> to directly navigate to the Android notifications
|
|
|
settings for FairEmail.</p>
|
|
|
<p>On Android 8.0 Oreo and later you can manage the properties of the
|
|
|
individual notification channels, for example to set a specific
|
|
|
notification sound or to show notifications on the lock screen.</p>
|
|
|
<p>FairEmail has the following notification channels:</p>
|
|
|
<ul>
|
|
|
<li>Service: used for the notification of the synchronize service, see
|
|
|
also <a href="#faq2">this FAQ</a></li>
|
|
|
<li>Send: used for the notification of the send service</li>
|
|
|
<li>Notifications: used for new message notifications</li>
|
|
|
<li>Warning: used for warning notifications</li>
|
|
|
<li>Error: used for error notifications</li>
|
|
|
</ul>
|
|
|
<p>See <a
|
|
|
href="https://developer.android.com/guide/topics/ui/notifiers/notifications#ManageChannels">here</a>
|
|
|
for details on notification channels. In short: tap on the notification
|
|
|
channel name to access the channel settings.</p>
|
|
|
<p>On Android before Android 8 Oreo you can set the notification sound
|
|
|
in the settings.</p>
|
|
|
<p>See <a href="#faq21">this FAQ</a> if your device has a notification
|
|
|
light.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq29"></a> <strong>(29) How can I get new message
|
|
|
notifications for other folders?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq29">Google
|
|
|
Translate</a></p>
|
|
|
<p>Just long press a folder, select <em>Edit properties</em>, and enable
|
|
|
either <em>Show in unified inbox</em> or <em>Notify new messages</em>
|
|
|
(available on Android 7 Nougat and later only) and tap
|
|
|
<em>Save</em>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq30"></a> <strong>(30) How can I use the provided quick
|
|
|
settings?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq30">Google
|
|
|
Translate</a></p>
|
|
|
<p>There are quick settings (settings tiles) available to:</p>
|
|
|
<ul>
|
|
|
<li>globally enable/disable synchronization</li>
|
|
|
<li>show the number of new messages and marking them as seen (not
|
|
|
read)</li>
|
|
|
<li>clear all app data</li>
|
|
|
</ul>
|
|
|
<p>Quick settings require Android 7.0 Nougat or later. The usage of
|
|
|
settings tiles is explained <a
|
|
|
href="https://support.google.com/android/answer/9083864">here</a>.</p>
|
|
|
<p>Note that not all devices (manufacturers) support settings tiles, for
|
|
|
example, Rephone doesn’t.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq31"></a> <strong>(31) How can I use the provided
|
|
|
shortcuts?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq31">Google
|
|
|
Translate</a></p>
|
|
|
<p>There are shortcuts available to compose a new message to a favorite
|
|
|
contact.</p>
|
|
|
<p>Shortcuts require Android 7.1 Nougat or later. The usage of shortcuts
|
|
|
is explained <a
|
|
|
href="https://support.google.com/android/answer/2781850">here</a>.</p>
|
|
|
<p>It is also possible to create shortcuts to folders by long pressing a
|
|
|
folder in the folder list of an account and selecting <em>Add
|
|
|
shortcut</em>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq32"></a> <strong>(32) How can I check if reading email is
|
|
|
really safe?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq32">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can use the <a href="https://www.emailprivacytester.com/">Email
|
|
|
Privacy Tester</a> for this.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq33"></a> <strong>(33) Why are edited sender addresses not
|
|
|
working?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq33">Google
|
|
|
Translate</a></p>
|
|
|
<p>Most providers accept validated addresses only when sending messages
|
|
|
to prevent spam.</p>
|
|
|
<p>For example Google modifies the message headers like this for
|
|
|
<em>unverified</em> addresses:</p>
|
|
|
<pre><code>From: Somebody <somebody@example.org>
|
|
|
X-Google-Original-From: Somebody <somebody+extra@example.org></code></pre>
|
|
|
<p>This means that the edited sender address was automatically replaced
|
|
|
by a verified address before sending the message.</p>
|
|
|
<p>Note that this is independent of receiving messages.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq34"></a> <strong>(34) How are identities
|
|
|
matched?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq34">Google
|
|
|
Translate</a></p>
|
|
|
<p>Identities are as expected matched by account. For incoming messages
|
|
|
the <em>to</em>, <em>cc</em>, <em>bcc</em>, <em>from</em> and
|
|
|
<em>(X-)delivered/envelope/original-to</em> addresses will be checked
|
|
|
(in this order) and for outgoing messages (drafts, outbox and sent) only
|
|
|
the <em>from</em> addresses will be checked. Equal addresses have
|
|
|
precedence over partially matching addresses, except for
|
|
|
<em>delivered-to</em> addresses.</p>
|
|
|
<p>The matched address will be shown as <em>via</em> in the addresses
|
|
|
section of received messages (between the message header and message
|
|
|
text).</p>
|
|
|
<p>Note that identities need to be enabled to be able to be matched and
|
|
|
that identities of other accounts will not be considered.</p>
|
|
|
<p>Matching will be done only once on receiving a message, so changing
|
|
|
the configuration will not change existing messages. You could clear
|
|
|
local messages by long pressing a folder in the folder list and
|
|
|
synchronize the messages again, though.</p>
|
|
|
<p>It is possible to configure a <a
|
|
|
href="https://en.wikipedia.org/wiki/Regular_expression">regex</a> in the
|
|
|
identity settings to match <strong>the username</strong> of an email
|
|
|
address (the part before the @ sign).</p>
|
|
|
<p>Note that the domain name (the parts after the @ sign) always needs
|
|
|
to be equal to the domain name of the identity. Since version 1.1640 it
|
|
|
is possible to match the full email address with a regex, which can be
|
|
|
useful for matching alias domain names.</p>
|
|
|
<p>If you want to match a catch-all email address, this regex is usually
|
|
|
fine, provided all usernames for the domain are yours:</p>
|
|
|
<pre><code>.*</code></pre>
|
|
|
<p>The username of a message being replied to will be used as the
|
|
|
default username when editing of usernames is enabled in the advanced
|
|
|
identity settings.</p>
|
|
|
<p>Please see <a href="#faq9">this FAQ</a> about editing the email
|
|
|
address when composing a message.</p>
|
|
|
<p>If you want to <em>not</em> match specific addresses, you can use
|
|
|
something like this:</p>
|
|
|
<pre><code>^(?!marcel$|johanna$).*</code></pre>
|
|
|
<p>If you like to match the special purpose email addresses
|
|
|
abc@example.com and xyx@example.com and like to have a fallback email
|
|
|
address main@example.com as well, you could do something like this:</p>
|
|
|
<ul>
|
|
|
<li>Identity: abc@example.com; regex: <strong>(?i)abc</strong></li>
|
|
|
<li>Identity: xyz@example.com; regex: <strong>(?i)xyz</strong></li>
|
|
|
<li>Identity: main@example.com; regex:
|
|
|
<strong>^(?i)((?!abc|xyz).)*$</strong></li>
|
|
|
</ul>
|
|
|
<p>You can test a regex <a href="https://regexr.com/">here</a>.</p>
|
|
|
<p>Matched identities can be used to color code messages.</p>
|
|
|
<p>The identity color takes precedence over the folder and account
|
|
|
color. This means that the color of the color stripe will be determined
|
|
|
by first checking if there is a color set for the ‘via’ (matched)
|
|
|
identity, and after that if there is a color set for the folder
|
|
|
containing the message, and finally if there is a color set for the
|
|
|
account the message belongs to.</p>
|
|
|
<p>Setting identity colors is a pro feature.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq35"></a> <strong>(35) Why should I be careful with
|
|
|
viewing images, attachments, the original message, and opening
|
|
|
links?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq35">Google
|
|
|
Translate</a></p>
|
|
|
<p>Viewing remotely stored images (see also <a href="#faq27">this
|
|
|
FAQ</a>) and opening links might not only tell the sender that you have
|
|
|
seen the message, but will also leak your IP address. See also this
|
|
|
question: <a
|
|
|
href="https://security.stackexchange.com/questions/241139/why-emails-link-is-more-dangerous-than-web-searchs-link">Why
|
|
|
email’s link is more dangerous than web search’s link?</a>.</p>
|
|
|
<p>This BBC article is worth reading: <a
|
|
|
href="https://www.bbc.com/news/technology-56071437">Spy pixels in emails
|
|
|
have become endemic</a>.</p>
|
|
|
<p>Opening attachments or viewing an original message might load remote
|
|
|
content and execute scripts, that might not only cause privacy sensitive
|
|
|
information to leak, but can also be a security risk.</p>
|
|
|
<p>Note that your contacts could unknowingly send malicious messages if
|
|
|
they got infected with malware.</p>
|
|
|
<p>FairEmail formats messages again causing messages to look different
|
|
|
from the original, but also uncovering phishing links.</p>
|
|
|
<p>Note that reformatted messages are often better readable than
|
|
|
original messages because the margins are removed, and font colors and
|
|
|
sizes are standardized.</p>
|
|
|
<p>The Gmail app shows images by default by downloading the images
|
|
|
through a Google proxy server. Since the images are downloaded from the
|
|
|
source server <a
|
|
|
href="https://blog.filippo.io/how-the-new-gmail-image-proxy-works-and-what-this-means-for-you/">in
|
|
|
real-time</a>, this is even less secure because Google is involved too
|
|
|
without providing much benefit.</p>
|
|
|
<p>You can show images and original messages by default for trusted
|
|
|
senders on a case-by-case basis by checking <em>Do not ask this again
|
|
|
for …</em>. You might need to reset the questions via a button in the
|
|
|
miscellaneous settings tab page.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq36"></a> <strong>(36) How are settings files
|
|
|
encrypted?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq36">Google
|
|
|
Translate</a></p>
|
|
|
<p>Short version: AES 256 bit</p>
|
|
|
<p>Long version:</p>
|
|
|
<p><del><em>Before version 1.1987</em></del></p>
|
|
|
<ul>
|
|
|
<li>A 256 bit key is derived with <em>PBKDF2WithHmacSHA1</em> using a
|
|
|
128 bit secure random salt and 65536 iterations</li>
|
|
|
<li>The used cipher is <em>AES/CBC/PKCS5Padding</em></li>
|
|
|
</ul>
|
|
|
<p><del><em>Since version 1.1987</em></del></p>
|
|
|
<ul>
|
|
|
<li><del>A 256 bit key is derived with <em>PBKDF2WithHmacSHA512</em>
|
|
|
using a 128 bit secure random salt and 120000 iterations</del></li>
|
|
|
<li><del>The used cipher is <em>AES/GCM/NoPadding</em></del></li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq37"></a> <strong>(37) How are passwords
|
|
|
stored?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq37">Google
|
|
|
Translate</a></p>
|
|
|
<p>All supported Android versions <a
|
|
|
href="https://source.android.com/security/encryption">encrypt all user
|
|
|
data</a>, so all data, including usernames, passwords, messages, etc, is
|
|
|
stored encrypted.</p>
|
|
|
<p>If the device is secured with a PIN, pattern or password, you can
|
|
|
make the account and identity passwords visible. If this is a problem
|
|
|
because you are sharing the device with other people, consider to use <a
|
|
|
href="https://www.howtogeek.com/333484/how-to-set-up-multiple-user-profiles-on-android/">user
|
|
|
profiles</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq39"></a> <strong>(39) How can I reduce the battery usage
|
|
|
of FairEmail?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq39">Google
|
|
|
Translate</a></p>
|
|
|
<p>Recent Android versions by default report <em>app usage</em> as a
|
|
|
percentage in the Android battery settings screen. <strong>Confusingly,
|
|
|
<em>app usage</em> is not the same as <em>battery usage</em> and is not
|
|
|
even directly related to battery usage!</strong> The app usage (while in
|
|
|
use) will be very high because FairEmail is using a foreground service
|
|
|
which is considered as constant app usage by Android. However, this
|
|
|
doesn’t mean that FairEmail is constantly using battery power. The real
|
|
|
battery usage can be seen by navigating to this screen:</p>
|
|
|
<p><em>Android settings</em>, <em>Battery</em>, three-dots menu
|
|
|
<em>Battery usage</em>, three-dots menu <em>Show full device
|
|
|
usage</em></p>
|
|
|
<p>Alternatively: tap on the <em>App settings</em> button in the main
|
|
|
settings screen of the app and tap on <em>Battery</em>.</p>
|
|
|
<p>As a rule of thumb, the battery usage should be below or in any case
|
|
|
not be much higher than <em>Mobile network standby</em> for one account
|
|
|
with a stable network connection. If this isn’t the case, please turn on
|
|
|
<em>Auto optimize</em> in the receive settings tab page. If this doesn’t
|
|
|
help, please <a
|
|
|
href="https://contact.faircode.eu/?product=fairemailsupport">ask for
|
|
|
support</a>.</p>
|
|
|
<p>It is inevitable that synchronizing messages will use battery power
|
|
|
because it requires network access and accessing the messages’ database.
|
|
|
Since the app needs to wait for responses of the email server, which
|
|
|
requires the processor (CPU) to be active, slower email servers will
|
|
|
result in more battery usage.</p>
|
|
|
<p>If you are comparing the battery usage of FairEmail with another
|
|
|
email client, please make sure the other email client is set up
|
|
|
similarly. For example, comparing always sync (push messages) and
|
|
|
(infrequent) periodic checking for new messages is not a fair
|
|
|
comparison.</p>
|
|
|
<p>If you are comparing the battery usage of FairEmail with an app like
|
|
|
Whatsapp, please understand that most apps use <a
|
|
|
href="https://firebase.google.com/docs/cloud-messaging">Firebase Cloud
|
|
|
Messaging</a> (FCM) for push messages, which means that no battery usage
|
|
|
will be contributed to an app for push messages, but instead to the
|
|
|
Google Play Services system component. Apart from the privacy concerns,
|
|
|
it is not possible to use FCM for email because email servers do not
|
|
|
support FCM. The only way would be to download all your messages to a
|
|
|
third-party server first and use FCM to push notifications to the app.
|
|
|
The privacy and security implications would be significant, though.</p>
|
|
|
<p>Reconnecting to an email server will use extra battery power, so an
|
|
|
unstable internet connection will result in extra battery usage. Also,
|
|
|
some email servers prematurely terminate idle connections, while <a
|
|
|
href="https://tools.ietf.org/html/rfc2177">the standard</a> says that an
|
|
|
idle connection should be kept open for 29 minutes. In these cases you
|
|
|
might want to synchronize periodically, for example each hour, instead
|
|
|
of continuously. Note that polling frequently (more than every 30-60
|
|
|
minutes) will likely use more battery power than synchronizing always
|
|
|
because connecting to the server and comparing the local and remote
|
|
|
messages are expensive operations.</p>
|
|
|
<p>If you know that the connection (reception) is bad, it might be
|
|
|
worthwhile to decrease the timeout value in the connection-settings tab
|
|
|
page to 10–20 seconds, so that the app discovers earlier that no
|
|
|
connection is possible, so that the mechanism as described in <a
|
|
|
href="#faq123">this FAQ</a> is used faster.</p>
|
|
|
<p><a href="https://dontkillmyapp.com/">On some devices</a> it is
|
|
|
necessary to <em>disable</em> battery optimizations (setup step 3) to
|
|
|
keep connections to email servers open. In fact, leaving battery
|
|
|
optimizations enabled can result in extra battery usage for all devices,
|
|
|
even though this sounds contradictory!</p>
|
|
|
<p>Most of the battery usage, not considering viewing messages, is due
|
|
|
to synchronization (receiving and sending) of messages. So, to reduce
|
|
|
the battery usage, set the number of days to synchronize message for to
|
|
|
a lower value, especially if there are a lot of recent messages in a
|
|
|
folder. Long press a folder name in the folders list and select <em>Edit
|
|
|
properties</em> to access this setting.</p>
|
|
|
<p>If you have at least once a day internet connectivity, it is
|
|
|
sufficient to synchronize messages just for one day.</p>
|
|
|
<p>Note that you can set the number of days to <em>keep</em> messages
|
|
|
for to a higher number than to <em>synchronize</em> messages for. You
|
|
|
could for example initially synchronize messages for a large number of
|
|
|
days and after this has been completed reduce the number of days to
|
|
|
synchronize messages, but leave the number of days to keep messages.
|
|
|
After decreasing the number of days to keep messages, you might want to
|
|
|
run the cleanup in the miscellaneous settings to remove old files.</p>
|
|
|
<p>In the receive settings tab page you can enable to always synchronize
|
|
|
starred messages, which will allow you to keep older messages around
|
|
|
while synchronizing messages for a limited number of days.</p>
|
|
|
<p>Disabling the folder option <em>Automatically download message texts
|
|
|
and attachments</em> will result in less network traffic and thus less
|
|
|
battery usage. You could disable this option, for example for the sent
|
|
|
folder and the archive.</p>
|
|
|
<p>Synchronizing messages at night is mostly not useful, so you can save
|
|
|
on battery usage by not synchronizing at night. In the settings, you can
|
|
|
select a schedule for message synchronization (this is a pro
|
|
|
feature).</p>
|
|
|
<p>FairEmail will by default synchronize the folder list on each
|
|
|
connection. Since folders are mostly not created, renamed and deleted
|
|
|
very often, you can save some network and battery usage by disabling
|
|
|
this in the receive settings tab page.</p>
|
|
|
<p>FairEmail will by default check if old messages were deleted from the
|
|
|
server on each connection. If you don’t mind that old messages that were
|
|
|
deleted from the server are still visible in FairEmail, you can save
|
|
|
some network and battery usage by disabling this in the receive settings
|
|
|
tab page.</p>
|
|
|
<p>Some providers don’t follow the IMAP standard and <a
|
|
|
href="https://datatracker.ietf.org/doc/html/rfc3501#section-5.4">don’t
|
|
|
keep connections open</a> long enough, forcing FairEmail to reconnect
|
|
|
often, causing extra battery usage. You can inspect the <em>Log</em> via
|
|
|
the main navigation menu to check if there are frequent reconnects
|
|
|
(connection closed/reset, read/write error/timeout, etc.). You can work
|
|
|
around this by lowering the keep-alive interval in the advanced account
|
|
|
settings to for example 9 or 15 minutes. Note that battery optimizations
|
|
|
need to be disabled in setup step 3 to reliably keep connections
|
|
|
alive.</p>
|
|
|
<p>Some providers send every two minutes something like ‘<em>Still
|
|
|
here</em>’ resulting in network traffic and your device to wake up and
|
|
|
causing unnecessary extra battery usage. You can inspect the
|
|
|
<em>Log</em> via the main navigation menu to check if your provider is
|
|
|
doing this. If your provider is using <a
|
|
|
href="https://www.dovecot.org/">Dovecot</a> as IMAP server, you could
|
|
|
ask your provider to change the <a
|
|
|
href="https://wiki.dovecot.org/Timeouts">imap_idle_notify_interval</a>
|
|
|
setting to a higher value or better yet, to disable this. If your
|
|
|
provider is not able or willing to change/disable this, you should
|
|
|
consider switching to periodically instead of continuous
|
|
|
synchronization. You can change this in the receive settings tab
|
|
|
page.</p>
|
|
|
<p>If you got the message, <em>This provider does not support push
|
|
|
messages</em> while configuring an account, consider switching to a
|
|
|
modern provider which supports push messages (IMAP IDLE) to reduce
|
|
|
battery usage.</p>
|
|
|
<p>If your device has an <a
|
|
|
href="https://en.wikipedia.org/wiki/AMOLED">AMOLED</a> screen, you can
|
|
|
save battery usage while viewing messages by switching to the black
|
|
|
theme.</p>
|
|
|
<p>If auto optimize in the receive settings tab page is enabled, an
|
|
|
account will automatically be switched to periodically checking for new
|
|
|
messages when the email server:</p>
|
|
|
<ul>
|
|
|
<li>Says ‘<em>Still here</em>’ within 3 minutes</li>
|
|
|
<li>The email server does not support push messages</li>
|
|
|
<li>The keep-alive interval is lower than 12 minutes</li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq40"></a> <strong>(40) How can I reduce the data usage of
|
|
|
FairEmail?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq40">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can reduce the data usage basically in the same way as reducing
|
|
|
battery usage, see the previous question for suggestions.</p>
|
|
|
<p>It is inevitable that data will be used to synchronize messages.</p>
|
|
|
<p>If the connection to the email server is lost, FairEmail will always
|
|
|
synchronize the messages again to make sure no messages were missed. If
|
|
|
the connection is unstable, this can result in extra data usage. In this
|
|
|
case, it is a good idea to decrease the number of days to synchronize
|
|
|
messages to a minimum (see the previous question) or to switch to
|
|
|
periodically synchronizing of messages (receive settings).</p>
|
|
|
<p>To reduce data usage, you could change these advanced receive
|
|
|
settings:</p>
|
|
|
<ul>
|
|
|
<li>Check if old messages were removed from the server: disable</li>
|
|
|
<li>Synchronize (shared) folder list: disable</li>
|
|
|
</ul>
|
|
|
<p>By default FairEmail does not download message texts and attachments
|
|
|
larger than 256 KiB when there is a metered (mobile or paid Wi-Fi)
|
|
|
internet connection. You can change this in the connection settings.</p>
|
|
|
<p>You could enable to download only plain text only parts, but all
|
|
|
messages will be without formatting (styling), and besides that, a plain
|
|
|
text only part is not always sent, and worse, it is sometimes only a
|
|
|
part of the message text, containing HTML and CCS.</p>
|
|
|
<p>In case of POP3, you can reduce the maximum number of messages to
|
|
|
download.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq41"></a> <strong>(41) How can I fix the error ‘Handshake
|
|
|
failed’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq41">Google
|
|
|
Translate</a></p>
|
|
|
<p>There are several possible causes, so please read to the end of this
|
|
|
answer.</p>
|
|
|
<p>The error ‘<em>Handshake failed … WRONG_VERSION_NUMBER …</em>’ might
|
|
|
mean that you are trying to connect to an IMAP or SMTP server without an
|
|
|
encrypted connection, typically using port 143 (IMAP) and port 25
|
|
|
(SMTP), or that a wrong protocol (SSL/TLS or STARTTLS) is being
|
|
|
used.</p>
|
|
|
<p>Most providers provide encrypted connections using different ports,
|
|
|
typically port 993 (IMAP) and port 465/587 (SMTP).</p>
|
|
|
<p>If your provider doesn’t support encrypted connections, you should
|
|
|
ask to make this possible. If this isn’t an option, you could enable
|
|
|
<em>Allow insecure connections</em> both in the advanced settings AND
|
|
|
the account/identity settings.</p>
|
|
|
<p>See also <a href="#faq4">this FAQ</a>.</p>
|
|
|
<p>The error ‘<em>Handshake failed … SSLV3_ALERT_ILLEGAL_PARAMETER
|
|
|
…</em>’ is either caused by a bug in the SSL protocol implementation or
|
|
|
by a too short DH key on the email server and can unfortunately not be
|
|
|
fixed by FairEmail.</p>
|
|
|
<p>The error ‘<em>Handshake failed … HANDSHAKE_FAILURE_ON_CLIENT_HELLO
|
|
|
…</em>’ might be caused by the provider still using RC4, which isn’t
|
|
|
supported since <a
|
|
|
href="https://developer.android.com/about/versions/nougat/android-7.0-changes.html#tls-ssl">Android
|
|
|
7</a> anymore.</p>
|
|
|
<p>The error ‘<em>Handshake failed SSL handshake terminated …
|
|
|
SSLV3_ALERT_HANDSHAKE_FAILURE … HANDSHAKE_FAILURE_ON_CLIENT_HELLO</em>’
|
|
|
can be caused by <a
|
|
|
href="https://issuetracker.google.com/issues/37122132">this Android 7.0
|
|
|
bug</a>. This can unfortunately not be fixed by FairEmail.</p>
|
|
|
<p>The error ‘<em>Handshake failed … UNSUPPORTED_PROTOCOL or
|
|
|
TLSV1_ALERT_PROTOCOL_VERSION or SSLV3_ALERT_HANDSHAKE_FAILURE …</em>’
|
|
|
might be caused by enabling <strong>hardening connections</strong> or
|
|
|
<strong>Bouncy Castle</strong> in the connection settings tab page, or
|
|
|
by Android not supporting older protocols anymore, like SSLv3 and
|
|
|
TLSv1.</p>
|
|
|
<p>The error ‘<em>javax.net.ssl.SSLHandshakeException: Read error: …
|
|
|
CERT_LENGTH_MISMATCH</em>’ means that there is something wrong with the
|
|
|
email server setup. Try to switch to port 993 (IMAP) or 465 (SMTP) with
|
|
|
SSL/TLS.</p>
|
|
|
<p>Android 8 Oreo and later <a
|
|
|
href="https://developer.android.com/about/versions/oreo/android-8.0-changes#security-all">do
|
|
|
not support</a> SSLv3 anymore. There is no way to workaround lacking RC4
|
|
|
and SSLv3 support because it has completely been removed from Android
|
|
|
(which should say something). Since version 1.2121 the Bouncy Castle
|
|
|
secure socket provider (<a
|
|
|
href="https://en.wikipedia.org/wiki/Java_Secure_Socket_Extension">JSSE</a>)
|
|
|
is bundled. Enabling this socket provider in the connection-settings tab
|
|
|
and enabling ‘<em>Allow insecure connections</em>’ in the
|
|
|
account/identity settings <em>might</em> solve this problem.</p>
|
|
|
<p>The error ‘<em>javax.net.ssl.SSLHandshakeException: Read error: …
|
|
|
TLSV1_ALERT_INTERNAL_ERROR</em>’ means that Android and the email server
|
|
|
share no common protocol versions and/or common ciphers.</p>
|
|
|
<p>Please <a
|
|
|
href="https://developer.android.com/reference/javax/net/ssl/SSLSocket">see
|
|
|
here</a> for an overview of supported protocols and cipher suites by
|
|
|
Android version.</p>
|
|
|
<p>You can use <a href="https://ssl-tools.net/mailservers">this
|
|
|
website</a> or <a href="https://www.immuniweb.com/ssl/">this website</a>
|
|
|
to check for SSL/TLS problems of email servers.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq42"></a> <strong>(42) Can you add a new provider to the
|
|
|
list of providers?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq42">Google
|
|
|
Translate</a></p>
|
|
|
<p>If the provider is used by more than a few people, yes, with
|
|
|
pleasure.</p>
|
|
|
<p>The following information is needed:</p>
|
|
|
<pre><code><provider
|
|
|
name="Gmail"
|
|
|
link="https://support.google.com/mail/answer/7126229" // link to the instructions of the provider
|
|
|
type="com.google"> // this is not needed
|
|
|
<imap
|
|
|
host="imap.gmail.com"
|
|
|
port="993"
|
|
|
starttls="false" />
|
|
|
<smtp
|
|
|
host="smtp.gmail.com"
|
|
|
port="465"
|
|
|
starttls="false" />
|
|
|
</provider></code></pre>
|
|
|
<p>The EFF <a
|
|
|
href="https://www.eff.org/nl/deeplinks/2018/06/announcing-starttls-everywhere-securing-hop-hop-email-delivery">writes</a>:
|
|
|
“<em>Additionally, even if you configure STARTTLS perfectly and use a
|
|
|
valid certificate, there’s still no guarantee your communication will be
|
|
|
encrypted.</em>”</p>
|
|
|
<p>So, pure SSL connections are safer than using <a
|
|
|
href="https://en.wikipedia.org/wiki/Opportunistic_TLS">STARTTLS</a> and
|
|
|
therefore preferred.</p>
|
|
|
<p>Please make sure receiving and sending messages works properly before
|
|
|
contacting me to add a provider.</p>
|
|
|
<p>See below about how to contact me.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq43"></a> <strong>(43) Can you show the original
|
|
|
…?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq43">Google
|
|
|
Translate</a></p>
|
|
|
<p>Show original, shows the original message as the sender has sent it,
|
|
|
including original fonts, colors, margins, etc. FairEmail does and will
|
|
|
not alter this in any way, except for requesting <a
|
|
|
href="https://developer.android.com/reference/android/webkit/WebSettings.LayoutAlgorithm">TEXT_AUTOSIZING</a>,
|
|
|
which will <em>attempt</em> to make small text more readable.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq44"></a> <strong><del>(44) Can you show contact photos /
|
|
|
identicons in the sent folder?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq44">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>Contact photos and identicons are always shown for the sender
|
|
|
because this is necessary for conversation threads.</del> <del>Getting
|
|
|
contact photos for both the sender and receiver is not really an option
|
|
|
because getting contact photo is an expensive operation.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq45"></a> <strong>(45) How can I fix ‘This key is not
|
|
|
available. To use it, you must import it as one of your
|
|
|
own!’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq45">Google
|
|
|
Translate</a></p>
|
|
|
<p>You’ll get the message <em>This key is not available. To use it, you
|
|
|
must import it as one of your own!</em> when trying to decrypt a message
|
|
|
with a public key. To fix this you’ll need to import the private
|
|
|
key.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq46"></a> <strong>(46) Why does the message list keep
|
|
|
refreshing?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq46">Google
|
|
|
Translate</a></p>
|
|
|
<p>If you see a ‘spinner’ at the top of the message list, the folder is
|
|
|
still being synchronized with the remote server. You can see the
|
|
|
progress of the synchronization in the folder list. See the legend about
|
|
|
what the icons and numbers mean.</p>
|
|
|
<p>The speed of your device and internet connection and the number of
|
|
|
days to synchronize messages determine how long synchronization will
|
|
|
take. Note that you shouldn’t set the number of days to synchronize
|
|
|
messages to more than one day in most cases, see also <a
|
|
|
href="#faq39">this FAQ</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq47"></a> <strong>(47) How do I solve the error ‘No
|
|
|
primary account or no drafts folder’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq47">Google
|
|
|
Translate</a></p>
|
|
|
<p>You’ll get the error message <em>No primary account or no drafts
|
|
|
folder</em> when trying to compose a message while there is no account
|
|
|
set to be the primary account or when there is no drafts folder selected
|
|
|
for the primary account. This can happen for example when you start
|
|
|
FairEmail to compose a message from another app. FairEmail needs to know
|
|
|
where to store the draft, so you’ll need to select one account to be the
|
|
|
primary account and/or you’ll need to select a drafts folder for the
|
|
|
primary account.</p>
|
|
|
<p>This can also happen when you try to reply to a message or to forward
|
|
|
a message from an account with no drafts folder while there is no
|
|
|
primary account or when the primary account does not have a drafts
|
|
|
folder.</p>
|
|
|
<p>Please see <a href="#faq141">this FAQ</a> for some more
|
|
|
information.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq48"></a> <strong><del>(48) How do I solve the error ‘No
|
|
|
primary account or no archive folder’?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq48">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>You’ll get the error message <em>No primary account or no
|
|
|
archive folder</em> when searching for messages from another app.
|
|
|
FairEmail needs to know where to search, so you’ll need to select one
|
|
|
account to be the primary account and/or you’ll need to select a archive
|
|
|
folder for the primary account.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq49"></a> <strong>(49) How do I fix ‘An outdated app sent
|
|
|
a file path instead of a file stream’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq49">Google
|
|
|
Translate</a></p>
|
|
|
<p>You likely selected or sent an attachment or image with an outdated
|
|
|
file manager or an outdated app which assumes all apps still have
|
|
|
storage permissions. For security and privacy reasons modern apps like
|
|
|
FairEmail have no full access to all files anymore. This can result into
|
|
|
the error message <em>An outdated app sent a file path instead of a file
|
|
|
stream</em> if a file name instead of a file stream is being shared with
|
|
|
FairEmail because FairEmail cannot randomly open files.</p>
|
|
|
<p>You can fix this by switching to an up-to-date file manager or an app
|
|
|
designed for recent Android versions. Alternatively, you can grant
|
|
|
FairEmail read access to the storage space on your device in the Android
|
|
|
app settings. Note that this workaround <a
|
|
|
href="https://developer.android.com/preview/privacy/scoped-storage">won’t
|
|
|
work on Android Q</a> anymore.</p>
|
|
|
<p>See also <a href="#faq25">question 25</a> and <a
|
|
|
href="https://developer.android.com/training/secure-file-sharing/share-file#RespondToRequest">what
|
|
|
Google writes about it</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq50"></a> <strong>(50) Can you add an option to
|
|
|
synchronize all messages?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq50">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can synchronize more or even all messages by long pressing a
|
|
|
folder (inbox) in the folder list of an account (tap on the account name
|
|
|
in the navigation menu) and selecting <em>Synchronize more</em> in the
|
|
|
popup menu.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq51"></a> <strong>(51) How are folders
|
|
|
sorted?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq51">Google
|
|
|
Translate</a></p>
|
|
|
<p>Folders are first sorted on account order (by default on account
|
|
|
name) and within an account with special, system folders on top,
|
|
|
followed by folders set to synchronize. Within each category the folders
|
|
|
are sorted on (display) name. You can set the display name by long
|
|
|
pressing a folder in the folder list and selecting <em>Edit
|
|
|
properties</em>.</p>
|
|
|
<p>The navigation (hamburger) menu item <em>Order folders</em> in the
|
|
|
settings, or, alternatively, a button in the <em>Extra</em> section at
|
|
|
the bottom of the main settings tab page, can be used to manually order
|
|
|
the folders.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq52"></a> <strong>(52) Why does it take some time to
|
|
|
reconnect to an account?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq52">Google
|
|
|
Translate</a></p>
|
|
|
<p>There is no reliable way to know if an account connection was
|
|
|
terminated gracefully or forcefully. Trying to reconnect to an account
|
|
|
while the account connection was terminated forcefully too often can
|
|
|
result in problems like <a href="#faq23">too many simultaneous
|
|
|
connections</a> or even the account being blocked. To prevent such
|
|
|
problems, FairEmail waits 90 seconds until trying to reconnect
|
|
|
again.</p>
|
|
|
<p>You can long press <em>Settings</em> in the navigation menu to
|
|
|
reconnect immediately.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq53"></a> <strong>(53) Can you stick the message action
|
|
|
bar to the top/bottom?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq53">Google
|
|
|
Translate</a></p>
|
|
|
<p>The message action bar works on a single message and the bottom
|
|
|
action bar works on all the messages in the conversation. Since there is
|
|
|
often more than one message in a conversation, this is not possible.
|
|
|
Moreover, there are quite some message specific actions, like
|
|
|
forwarding.</p>
|
|
|
<p>Moving the message action bar to the bottom of the message is
|
|
|
visually not appealing because there is already a conversation action
|
|
|
bar at the bottom of the screen.</p>
|
|
|
<p>Note that there are not many, if any, email apps that display a
|
|
|
conversation as a list of expandable messages. This has a lot of
|
|
|
advantages, but the also causes the need for message specific
|
|
|
actions.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq54"></a> <strong><del>(54) How do I use a namespace
|
|
|
prefix?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq54">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>A namespace prefix is used to automatically remove the prefix
|
|
|
providers sometimes add to folder names.</del></p>
|
|
|
<p><del>For example the Gmail spam folder is called:</del></p>
|
|
|
<pre><code>[Gmail]/Spam</code></pre>
|
|
|
<p><del>By setting the namespace prefix to <em>[Gmail]</em> FairEmail
|
|
|
will automatically remove <em>[Gmail]/</em> from all folder
|
|
|
names.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq55"></a> <strong>(55) How can I mark all messages as read
|
|
|
/ move or delete all messages?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq55">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can use multiple select for this. Long press the first message,
|
|
|
don’t lift your finger and slide down to the last message. Then use the
|
|
|
three dot action button to execute the desired action.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq56"></a> <strong>(56) Can you add support for
|
|
|
JMAP?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq56">Google
|
|
|
Translate</a></p>
|
|
|
<p>There are almost no providers offering the <a
|
|
|
href="https://jmap.io/">JMAP</a> protocol, so it is not worth a lot of
|
|
|
effort to add support for this to FairEmail.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq57"></a> <strong>(57) Can I use HTML in
|
|
|
signatures?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq57">Google
|
|
|
Translate</a></p>
|
|
|
<p>Yes, you can use <a
|
|
|
href="https://en.wikipedia.org/wiki/HTML">HTML</a>. In the signature
|
|
|
editor you can switch to HTML mode via the three-dots menu.</p>
|
|
|
<p>Note that if you switch back to the text editor that not all HTML
|
|
|
might be rendered as-is because the Android text editor is not able to
|
|
|
render all HTML. Similarly, if you use the text editor, the HTML might
|
|
|
be altered in unexpected ways.</p>
|
|
|
<p>If you want to use preformatted text, like <a
|
|
|
href="https://en.wikipedia.org/wiki/ASCII_art">ASCII art</a>, you should
|
|
|
wrap the text in a <em>pre</em> element, like this:</p>
|
|
|
<pre><code><pre>
|
|
|
|\_/|
|
|
|
/ @ @ \
|
|
|
( > º < )
|
|
|
`>>x<<´
|
|
|
/ O \
|
|
|
</pre></code></pre>
|
|
|
<p>If you want to resize an image, you could do it like this:</p>
|
|
|
<pre><code><img src="..." width="..." height="..."></code></pre>
|
|
|
<p>The recipient of your message might not like large images in
|
|
|
messages, so it is better to resize images with an image editor
|
|
|
first.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq58"></a> <strong>(58) What does an open/closed email icon
|
|
|
mean?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq58">Google
|
|
|
Translate</a></p>
|
|
|
<p>The email icon in the folder list can be open (outlined) or closed
|
|
|
(solid):</p>
|
|
|
<p><img src="https://github.com/M66B/FairEmail/blob/master/images/baseline_mail_outline_black_48dp.png" width="48" height="48" /></p>
|
|
|
<p>Message bodies and attachments are not downloaded by default.</p>
|
|
|
<p><img src="https://github.com/M66B/FairEmail/blob/master/images/baseline_email_black_48dp.png" width="48" height="48" /></p>
|
|
|
<p>Message bodies and attachments are downloaded by default.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq59"></a> <strong>(59) Can original messages be opened in
|
|
|
the browser?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq59">Google
|
|
|
Translate</a></p>
|
|
|
<p>For security reasons the files with the original message texts are
|
|
|
not accessible to other apps, so this is not possible. In theory the <a
|
|
|
href="https://developer.android.com/guide/topics/providers/document-provider">Storage
|
|
|
Access Framework</a> could be used to share these files, but even
|
|
|
Google’s Chrome cannot handle this.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq60"></a> <strong>(60) Did you know …?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq60">Google
|
|
|
Translate</a></p>
|
|
|
<ul>
|
|
|
<li>Did you know that starred messages can be synchronized/kept always?
|
|
|
(this can be enabled in the receive settings)</li>
|
|
|
<li>Did you know that you can long press the ‘write message’ icon to go
|
|
|
to the drafts folder?</li>
|
|
|
<li>Did you know there is an advanced option to mark messages read when
|
|
|
they are moved? (archiving and trashing is also moving)</li>
|
|
|
<li>Did you know that you can select text (or an email address) in any
|
|
|
app on recent Android versions and let FairEmail search for it? (this
|
|
|
can be enabled in the miscellaneous settings)</li>
|
|
|
<li>Did you know that FairEmail has a tablet mode? Rotate your device in
|
|
|
landscape mode and conversation threads will be opened in a second
|
|
|
column if there is enough screen space.</li>
|
|
|
<li>Did you know that you can long press a reply template to create a
|
|
|
draft message from the template?</li>
|
|
|
<li>Did you know that you can long press, hold and swipe to select a
|
|
|
range of messages?</li>
|
|
|
<li>Did you know that you can retry sending messages by using
|
|
|
pull-down-to-refresh in the outbox?</li>
|
|
|
<li>Did you know that you can swipe a conversation left or right to go
|
|
|
to the next or previous conversation?</li>
|
|
|
<li>Did you know that you can tap on an image to see where it will be
|
|
|
downloaded from?</li>
|
|
|
<li>Did you know that you can long press the folder icon in the action
|
|
|
bar to select an account?</li>
|
|
|
<li>Did you know that you can long press the star icon in a conversation
|
|
|
thread to set a colored star?</li>
|
|
|
<li>Did you know that you can open the navigation drawer by swiping from
|
|
|
the left, even when viewing a conversation?</li>
|
|
|
<li>Did you know that you can long press the people’s icon to show/hide
|
|
|
the CC/BCC fields and remember the visibility state for the next
|
|
|
time?</li>
|
|
|
<li>Did you know that you can insert the email addresses of an Android
|
|
|
contact group via the three dots overflow menu?</li>
|
|
|
<li>Did you know that if you select text and reply, only the selected
|
|
|
text will be quoted? (this works for reformatted messages only because
|
|
|
of <a href="https://issuetracker.google.com/issues/36939405">this
|
|
|
issue</a>)</li>
|
|
|
<li>Did you know that you can long press the trash icons (both in the
|
|
|
message and the bottom action bar) to permanently delete a message or
|
|
|
conversation? (version 1.1368+)</li>
|
|
|
<li>Did you know that you can long press the send action to show the
|
|
|
send dialog, even if it was disabled?</li>
|
|
|
<li>Did you know that you can long press the full screen icon to show
|
|
|
the original message text only?</li>
|
|
|
<li>Did you know that you can long press the answer button to reply to
|
|
|
the sender? (since version 1.1562; since version 1.1839 you can
|
|
|
configure the action in the send settings)</li>
|
|
|
<li>Did you know that you can long press the message move button to move
|
|
|
across accounts? (since version 1.1702)</li>
|
|
|
<li>Did you know that you can long press the folder name in the message
|
|
|
header when viewing a conversation to navigate to the folder? (since
|
|
|
version 1.1720)</li>
|
|
|
<li>Did you know that you can long press the add contact button in the
|
|
|
message composer to insert a contact group? (since version 1.1721)</li>
|
|
|
<li>Did you know that you can long press the image action to show the
|
|
|
image dialog, even if it was disabled? (since version 1.1772)</li>
|
|
|
<li>Did you know that you can long press the “] [” button to fit
|
|
|
original messages to the screen width? (this might result in “thin”
|
|
|
messages)</li>
|
|
|
<li>Did you know that you can long press on the save drafts button for a
|
|
|
grammar, style, and spell check via <a
|
|
|
href="https://languagetool.org/">LanguageTools</a>?</li>
|
|
|
<li>Did you know that you can long press a folder in the folder
|
|
|
selection dialog to copy instead of move a message?</li>
|
|
|
<li>Did you know that you can long press a quick search button in the
|
|
|
search dialog to copy the search term?</li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq61"></a> <strong>(61) Why are some messages shown
|
|
|
dimmed?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq61">Google
|
|
|
Translate</a></p>
|
|
|
<p>Messages shown dimmed (grayed) are locally moved messages for which
|
|
|
the move is not confirmed by the server yet. This can happen when there
|
|
|
is no connection to the server or the account (yet). These messages will
|
|
|
be synchronized after a connection to the server and the account has
|
|
|
been made or, if this never happens, will be deleted if they are too old
|
|
|
to be synchronized.</p>
|
|
|
<p>You might need to manually synchronize the folder, for example by
|
|
|
pulling down.</p>
|
|
|
<p>You can view these messages, but you cannot move these messages again
|
|
|
until the previous move has been confirmed.</p>
|
|
|
<p>Pending <a href="#faq3">operations</a> are shown in the operations
|
|
|
view accessible from the main navigation menu.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq62"></a> <strong>(62) Which authentication methods are
|
|
|
supported?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq62">Google
|
|
|
Translate</a></p>
|
|
|
<p>The following authentication methods are supported and used in this
|
|
|
order:</p>
|
|
|
<ul>
|
|
|
<li>CRAM-MD5</li>
|
|
|
<li>LOGIN</li>
|
|
|
<li>PLAIN</li>
|
|
|
<li>NTLM (untested)</li>
|
|
|
<li>XOAUTH2 (<a
|
|
|
href="https://developers.google.com/gmail/imap/xoauth2-protocol">Gmail</a>,
|
|
|
<a href="https://tech.yandex.com/oauth/">Yandex</a>)</li>
|
|
|
</ul>
|
|
|
<p>SASL authentication methods, besides CRAM-MD5, are not supported
|
|
|
because <a href="https://javaee.github.io/javamail/Android">JavaMail for
|
|
|
Android</a> does not support SASL authentication.</p>
|
|
|
<p>If your provider requires an unsupported authentication method,
|
|
|
you’ll likely get the error message <em>authentication failed</em>.</p>
|
|
|
<p><a href="https://en.wikipedia.org/wiki/Client_certificate">Client
|
|
|
certificates</a> can be selected in the account and identity
|
|
|
settings.</p>
|
|
|
<p><a href="https://en.wikipedia.org/wiki/Server_Name_Indication">Server
|
|
|
Name Indication</a> is supported by <a
|
|
|
href="https://developer.android.com/training/articles/security-ssl">all
|
|
|
supported Android versions</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq63"></a> <strong>(63) How are images resized for
|
|
|
displaying on screens?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq63">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can add images to a message in two ways:</p>
|
|
|
<ul>
|
|
|
<li>As attachment, by tapping on the paperclip icon button in the bottom
|
|
|
action bar</li>
|
|
|
<li>As image, by tapping on the image icon button in the bottom action
|
|
|
bar</li>
|
|
|
</ul>
|
|
|
<p>If you disabled the bottom action bar, you can enable it again via
|
|
|
the three-dots menu at the top right of the message editor.</p>
|
|
|
<p>An attachment will always be sent as-is. An image can be added as
|
|
|
attachment or inserted into a message and you can select to reduce the
|
|
|
size of the image and to remove privacy sensitive information.</p>
|
|
|
<p>Images will be scaled down using whole number factors to reduce
|
|
|
memory usage and to retain the image quality. Scaled images will be
|
|
|
saved with a compression ratio of 90 %.</p>
|
|
|
<p>If the image options do not appear, you can enable them again via the
|
|
|
three-dots menu.</p>
|
|
|
<p>Note that most email providers limit the total message size to 10-50
|
|
|
MB.</p>
|
|
|
<p>Automatically resizing of inline and/or attached images and the
|
|
|
maximum target image size can be configured in the send settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq64"></a> <strong><del>(64) Can you add custom actions for
|
|
|
swipe left/right?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq64">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>The most natural thing to do when swiping a list entry left or
|
|
|
right is to remove the entry from the list.</del> <del>The most natural
|
|
|
action in the context of an email app is moving the message out of the
|
|
|
folder to another folder.</del> <del>You can select the folder to move
|
|
|
to in the account settings.</del></p>
|
|
|
<p><del>Other actions, like marking messages read and snoozing messages
|
|
|
are available via multiple selection.</del> <del>You can long press a
|
|
|
message to start multiple selection. See also <a href="#faq55">this
|
|
|
question</a>.</del></p>
|
|
|
<p><del>Swiping left or right to mark a message read or unread is
|
|
|
unnatural because the message first goes away and later comes back in a
|
|
|
different shape.</del> <del>Note that there is an advanced option to
|
|
|
mark messages automatically read on moving,</del> <del>which is in most
|
|
|
cases a perfect replacement for the sequence mark read and move to some
|
|
|
folder.</del> <del>You can also mark messages read from new message
|
|
|
notifications.</del></p>
|
|
|
<p><del>If you want to read a message later, you can hide it until a
|
|
|
specific time by using the <em>snooze</em> menu.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq65"></a> <strong>(65) Why are some attachments shown
|
|
|
dimmed?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq65">Google
|
|
|
Translate</a></p>
|
|
|
<p>Inline (image) attachments are shown dimmed. <a
|
|
|
href="https://tools.ietf.org/html/rfc2183">Inline attachments</a> are
|
|
|
supposed to be downloaded and shown automatically, but since FairEmail
|
|
|
doesn’t always download attachments automatically, see also <a
|
|
|
href="#faq40">this FAQ</a>, FairEmail shows all attachment types. To
|
|
|
distinguish inline and regular attachments, inline attachments are shown
|
|
|
dimmed.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq66"></a> <strong>(66) Is FairEmail available in the
|
|
|
Google Play Family Library?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq66">Google
|
|
|
Translate</a></p>
|
|
|
<p>“<em>You can’t share in-app purchases and free apps with your family
|
|
|
members.</em>”</p>
|
|
|
<p>See <a
|
|
|
href="https://support.google.com/googleone/answer/7007852">here</a>
|
|
|
under “<em>See if content is eligible to be added to Family
|
|
|
Library</em>”, “<em>Apps & games</em>”.</p>
|
|
|
<p>In other words, only subscriptions can be shared and since there is
|
|
|
no subscription, FairEmail is not shareable via the Google Play Family
|
|
|
Library.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq67"></a> <strong>(67) How can I snooze
|
|
|
conversations?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq67">Google
|
|
|
Translate</a></p>
|
|
|
<p>Multiple select one of more conversations (long press to start
|
|
|
multiple selecting), tap the three dot button and select <em>Snooze
|
|
|
…</em>. Alternatively, in the expanded message view use <em>Snooze
|
|
|
…</em> in the message three-dots ‘more’ menu or the time-lapse action in
|
|
|
the bottom action bar. Select the time the conversation(s) should snooze
|
|
|
and confirm by tapping OK. The conversations will be hidden for the
|
|
|
selected time and shown again afterwards. You will receive a new message
|
|
|
notification as reminder.</p>
|
|
|
<p>It is also possible to snooze messages with <a href="#faq71">a
|
|
|
rule</a>, which will also allow you to move messages to a folder to let
|
|
|
them be auto snoozed.</p>
|
|
|
<p>You can show snoozed messages by unchecking <em>Filter out</em> >
|
|
|
<em>Hidden</em> in the three dot overflow menu.</p>
|
|
|
<p>You can tap on the small snooze icon to see until when a conversation
|
|
|
is snoozed.</p>
|
|
|
<p>By selecting a zero snooze duration you can cancel snoozing.</p>
|
|
|
<p>Third party apps do not have access to the Gmail snoozed messages
|
|
|
folder.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq68"></a> <strong><del>(68) Why can Adobe Acrobat reader
|
|
|
not open PDF attachments / Microsoft apps not open attached
|
|
|
documents?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq68">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>Adobe Acrobat reader and Microsoft apps still expects full
|
|
|
access to all stored files,</del> <del>while apps should use the <a
|
|
|
href="https://developer.android.com/guide/topics/providers/document-provider">Storage
|
|
|
Access Framework</a> since Android KitKat (2013)</del> <del>to have
|
|
|
access to actively shared files only. This is for privacy and security
|
|
|
reasons.</del></p>
|
|
|
<p><del>You can workaround this by saving the attachment and opening it
|
|
|
from the Adobe Acrobat reader / Microsoft app,</del> <del>but you are
|
|
|
advised to install an up-to-date and preferably open source PDF reader /
|
|
|
document viewer,</del> <del>for example one listed <a
|
|
|
href="https://github.com/offa/android-foss#-document--pdf-viewer">here</a>.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq69"></a> <strong>(69) Can you add auto scroll up on new
|
|
|
message?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq69">Google
|
|
|
Translate</a></p>
|
|
|
<p>The message list is automatically scrolled up when navigating from a
|
|
|
new message notification or after a manual refresh. Always automatically
|
|
|
scrolling up on arrival of new messages would interfere with your own
|
|
|
scrolling, but if you like you can enable this in the settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq70"></a> <strong>(70) When will messages be auto
|
|
|
expanded?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq70">Google
|
|
|
Translate</a></p>
|
|
|
<p>When navigation to a conversation one message will be expanded
|
|
|
if:</p>
|
|
|
<ul>
|
|
|
<li>There is just one message in the conversation</li>
|
|
|
<li>There is exactly one unread message in the conversation</li>
|
|
|
<li>There is exactly one starred (favorite) message in the conversation
|
|
|
(since version 1.1508)</li>
|
|
|
</ul>
|
|
|
<p>There is one exception: the message was not downloaded yet and the
|
|
|
message is too large to download automatically on a metered (mobile)
|
|
|
connection. You can set or disable the maximum message size on the
|
|
|
‘connection’ settings tab.</p>
|
|
|
<p>Duplicate (archived) messages, trashed messages and draft messages
|
|
|
are not counted.</p>
|
|
|
<p>Messages will automatically be marked read on expanding, unless this
|
|
|
was disabled in the individual account settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq71"></a> <strong>(71) How do I use rules?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq71">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can edit rules by long pressing a folder in the folder list of an
|
|
|
account (tap the account name in the navigation/side menu).</p>
|
|
|
<p>New rules will be applied to new messages received in the folder, not
|
|
|
to existing messages. You can check the rule and apply the rule to
|
|
|
existing messages or, alternatively, long press the rule in the rule
|
|
|
list and select <em>Execute now</em>.</p>
|
|
|
<p>You’ll need to give a rule a name and you’ll need to define the order
|
|
|
in which a rule should be executed relative to other rules.</p>
|
|
|
<p>You can disable a rule and you can stop processing other rules after
|
|
|
a rule has been executed, which can be used to create a <em>not</em>
|
|
|
condition.</p>
|
|
|
<p>Since version 1.2061 rules can be part of a named group. Group names
|
|
|
will be displayed in the list of rules. If a rule is part of a group,
|
|
|
stop processing means stop processing the group.</p>
|
|
|
<p>Since version 1.2018 there is a rule option to run rules daily on
|
|
|
messages (around 1:00am) older than xxx.</p>
|
|
|
<p>The following rule conditions are available:</p>
|
|
|
<ul>
|
|
|
<li>Sender (from, reply-to) contains or sender is contact</li>
|
|
|
<li>Recipient (to, cc, bcc) contains</li>
|
|
|
<li>Subject contains</li>
|
|
|
<li>Has attachments (optional of specific type)</li>
|
|
|
<li>Header contains</li>
|
|
|
<li>Text contains (since version 1.1785)</li>
|
|
|
<li>Absolute time (received) between (since version 1.1540)</li>
|
|
|
<li>Relative time (received) between</li>
|
|
|
</ul>
|
|
|
<p>All the conditions of a rule need to be true for the rule action to
|
|
|
be executed. All conditions are optional, but there needs to be at least
|
|
|
one condition, to prevent matching all messages. If you want to match
|
|
|
all senders or all recipients, you can just use the @ character as
|
|
|
condition because all email addresses will contain this character. If
|
|
|
you want to match a domain name, you can use as a condition something
|
|
|
like <em><span class="citation"
|
|
|
data-cites="example.org">@example.org</span></em></p>
|
|
|
<p>Note that email addresses are formatted like this:</p>
|
|
|
<p><code>"Somebody" <somebody@example.org></code></p>
|
|
|
<p>When using a regex, you need to take care to match the complete
|
|
|
address.</p>
|
|
|
<p>Note that message texts are normalized when not using a regex, which
|
|
|
means that all whitespaces (spaces, tabs, line breaks, etc) are replaced
|
|
|
by a single space. This makes it easier to match texts on multiple lines
|
|
|
or when the line break is at different places.</p>
|
|
|
<p>Since version 1.1996 it is possible to use <a
|
|
|
href="https://jsoup.org/cookbook/extracting-data/selector-syntax">Jsoup
|
|
|
selectors</a> to match HTML elements, by prefixing the selector by
|
|
|
<em>jsoup:</em> and entering it as text contains condition, like for
|
|
|
example:</p>
|
|
|
<pre><code>jsoup:html > body > div > a[href=https://example.org]</code></pre>
|
|
|
<p>You can use multiple rules, possibly with a <em>stop processing</em>,
|
|
|
for an <em>or</em> or a <em>not</em> condition.</p>
|
|
|
<p>Matching is not case sensitive, unless you use <a
|
|
|
href="https://en.wikipedia.org/wiki/Regular_expression">regular
|
|
|
expressions</a>. Please see <a
|
|
|
href="https://developer.android.com/reference/java/util/regex/Pattern">here</a>
|
|
|
for the documentation of Java regular expressions. Note that you need to
|
|
|
match the complete text from the first to the last character. You can
|
|
|
test a regex <a href="https://regexr.com/">here</a>.</p>
|
|
|
<p>Note that a regular expression supports an <em>or</em> operator, so
|
|
|
if you want to match multiple senders, you can do this:</p>
|
|
|
<p><code>.*alice@example\.org.*|.*bob@example\.org.*|.*carol@example\.org.*</code></p>
|
|
|
<p>Note that <a
|
|
|
href="https://developer.android.com/reference/java/util/regex/Pattern#DOTALL">dot
|
|
|
all mode</a> is enabled to be able to match <a
|
|
|
href="https://tools.ietf.org/html/rfc2822#section-3.2.3">unfolded
|
|
|
headers</a>.</p>
|
|
|
<p>You can select one of these actions to apply to matching
|
|
|
messages:</p>
|
|
|
<ul>
|
|
|
<li>No action (useful for <em>not</em>)</li>
|
|
|
<li>Mark as read</li>
|
|
|
<li>Mark as unread</li>
|
|
|
<li>Hide</li>
|
|
|
<li>Suppress notification</li>
|
|
|
<li>Silent notification (since version 1.2150)</li>
|
|
|
<li>Snooze</li>
|
|
|
<li>Add star</li>
|
|
|
<li>Set importance (local priority)</li>
|
|
|
<li>Add keyword</li>
|
|
|
<li>Add local notes (since version 1.2094)</li>
|
|
|
<li>Move</li>
|
|
|
<li>Copy (Gmail: label)</li>
|
|
|
<li>Delete permanently (since version 1.1801)</li>
|
|
|
<li>Play sound (since version 1.1803; experimental)</li>
|
|
|
<li>Answer/forward (with template)</li>
|
|
|
<li>Text-to-speech (sender and subject)</li>
|
|
|
<li>Automation (Tasker, etc)</li>
|
|
|
<li>Webhook (since version 1.2107)</li>
|
|
|
</ul>
|
|
|
<p><strong>Important</strong>: permanent deletion is
|
|
|
<strong>irreversible</strong>. Instead, consider to move messages to the
|
|
|
trash folder and to set up auto deletion for the trash folder in the
|
|
|
folder properties (long press the folder in the folder list of an
|
|
|
account).</p>
|
|
|
<p>If you want to forward a message, consider to use a <em>move</em>
|
|
|
action instead. This will be more reliable than forwarding because
|
|
|
forwarded messages might be considered as spam.</p>
|
|
|
<p><br></p>
|
|
|
<p>It is possible to use a <a
|
|
|
href="https://jsoup.org/cookbook/extracting-data/selector-syntax">Jsoup
|
|
|
selector</a> to select the text for notes, for example:</p>
|
|
|
<pre><code>jsoup:td > span:containsOwn(€)</code></pre>
|
|
|
<p>The text of the first matched HTML element up to 512 characters will
|
|
|
be used as text for the local note.</p>
|
|
|
<p><br></p>
|
|
|
<p>A <em>move</em> action can optionally create subfolders (since
|
|
|
version 1.1966) to move messages to, for which you can use the following
|
|
|
placeholders:</p>
|
|
|
<pre><code>$day$ (since version 1.2030)
|
|
|
$week$
|
|
|
$month$
|
|
|
$year$
|
|
|
$domain$
|
|
|
$group$ (since version 1.2030)</code></pre>
|
|
|
<p><span
|
|
|
class="math inline"><em>g</em><em>r</em><em>o</em><em>u</em><em>p</em></span>
|
|
|
will be replaced with the contact group name of the sender, provided
|
|
|
that the related contact is assigned to one contact group only. Note
|
|
|
that the Android contact provider isn’t very fast, so using this
|
|
|
placeholder can slow down fetching messages.</p>
|
|
|
<p><br /></p>
|
|
|
<p>Since version 1.2132 it is possible to use the following placeholders
|
|
|
in keywords:</p>
|
|
|
<pre><code>$day$
|
|
|
$week$
|
|
|
$month$
|
|
|
$year$</code></pre>
|
|
|
<p><br /></p>
|
|
|
<p>Since message headers are not downloaded and stored by default to
|
|
|
save on battery and data usage and to save storage space it is by
|
|
|
default not possible to preview which messages would match a header rule
|
|
|
condition. You can enable downloading message headers in the connection
|
|
|
settings and check headers conditions anyway (since version 1.1599).</p>
|
|
|
<p>Some common header conditions (regex):</p>
|
|
|
<ul>
|
|
|
<li><em>.*To:.*undisclosed-recipients.*</em></li>
|
|
|
<li><em>.*Auto-Submitted:.*</em> <a
|
|
|
href="https://tools.ietf.org/html/rfc3834">RFC3834</a></li>
|
|
|
<li><em>.*List-Unsubscribe:.*</em> <a
|
|
|
href="https://datatracker.ietf.org/doc/html/rfc2369">RFC3834</a></li>
|
|
|
<li><em>.*Content-Type:.*multipart/report.*</em> <a
|
|
|
href="https://tools.ietf.org/html/rfc3462">RFC3462</a></li>
|
|
|
</ul>
|
|
|
<p>To match <em>set</em> IMAP flags (keywords) via a header condition
|
|
|
(since version 1.1777):</p>
|
|
|
<pre><code>$<keyword>$</code></pre>
|
|
|
<p>To match <em>set</em> message flags via a header condition (since
|
|
|
version 1.1777):</p>
|
|
|
<pre><code>$$seen$ (read)
|
|
|
$$answered$ (replied to)
|
|
|
$$flagged$ (starred, favorite)
|
|
|
$$deleted$ (marked as deleted)</code></pre>
|
|
|
<p>To match <em>passed</em> message checks via a header condition (since
|
|
|
version 1.1787):</p>
|
|
|
<pre><code>$$tls$ (since version 1.1826)
|
|
|
$$dkim$
|
|
|
$$spf$
|
|
|
$$dmarc$
|
|
|
$$auth$ (since version 1.2141)
|
|
|
$$mx$
|
|
|
$$blocklist$
|
|
|
$$replydomain$
|
|
|
$$nofrom$ (since version 1.1791)
|
|
|
$$multifrom$ (since version 1.1791)
|
|
|
$$automatic$ (since version 1.1862)
|
|
|
$$lowpriority$ (since version 1.1958)
|
|
|
$$highpriority$ (since version 1.1958)
|
|
|
$$signed$ (since version 1.1981)
|
|
|
$$encrypted$ (since version 1.1981)
|
|
|
$$aligned$ (since version 1.2049)</code></pre>
|
|
|
<p>Note that <em>regex</em> should be disabled and that there should be
|
|
|
no white space.</p>
|
|
|
<p>Please be aware that a difference in the <em>from</em> and
|
|
|
<em>reply-to</em> domain, and no or multi <em>from</em> addresses isn’t
|
|
|
a good indication of spam.</p>
|
|
|
<p>Since the app sets the keyword <em><span
|
|
|
class="math inline"><em>F</em><em>i</em><em>l</em><em>t</em><em>e</em><em>r</em><em>e</em><em>d</em></span></em>
|
|
|
after the rules have been executed for a message, you can create a rule
|
|
|
to prevent the rules from being executed again (which is sometimes
|
|
|
desirable):</p>
|
|
|
<ul>
|
|
|
<li>Name: anything you like</li>
|
|
|
<li>Order: lower than all other rules, for example 0</li>
|
|
|
<li>Stop processing rules after executing this rule: enabled</li>
|
|
|
<li>Header contains: <em>$<span
|
|
|
class="math inline"><em>F</em><em>i</em><em>l</em><em>t</em><em>e</em><em>r</em><em>e</em><em>d</em></span></em>
|
|
|
(no spaces)</li>
|
|
|
<li>Action: No action</li>
|
|
|
</ul>
|
|
|
<p>Note that not all email servers support IMAP keywords.</p>
|
|
|
<p><br /></p>
|
|
|
<p>The automation action will broadcast the intent
|
|
|
<em>eu.faircode.email.AUTOMATION</em> with the following string
|
|
|
extras:</p>
|
|
|
<ul>
|
|
|
<li><em>rule</em></li>
|
|
|
<li><em>sender</em></li>
|
|
|
<li><em>subject</em></li>
|
|
|
<li><em>received</em> (ISO 8601 date/time)</li>
|
|
|
</ul>
|
|
|
<p>An app like Tasker can listen for this intent and perform some
|
|
|
action.</p>
|
|
|
<p><br /></p>
|
|
|
<p>You can long-press a rule in the list of rules to copy it, which can
|
|
|
be useful if you need a rule with the same condition but a different
|
|
|
action.</p>
|
|
|
<p><br /></p>
|
|
|
<p>In the three-dots <em>more</em> message menu there is an item to
|
|
|
create a rule for a received message with the most common conditions
|
|
|
filled in.</p>
|
|
|
<p><br /></p>
|
|
|
<p>If you want to set up archiving by week, month, year, etc, you can do
|
|
|
this with rules with an absolute time condition on a ‘jump’ archive
|
|
|
folder where archived messages are being moved to as a first step. Such
|
|
|
a rule will move the messages to a (sub) archive folder as a second
|
|
|
step.</p>
|
|
|
<p>The POP3 protocol does not support setting keywords and moving or
|
|
|
copying messages.</p>
|
|
|
<p><br /></p>
|
|
|
<p>Since version 1.2061 it is possible to execute rules with an
|
|
|
automation app, like for example Tasker.</p>
|
|
|
<pre><code>(adb shell) am start-foreground-service -a eu.faircode.email.RULE --es account <account name> -es rule <unique rule name></code></pre>
|
|
|
<p><br /></p>
|
|
|
<p>Since version 1.2107 it is possible to executed webhooks. The
|
|
|
supported HTTP methods are GET, HEAD, OPTIONS, POST and POST. The query
|
|
|
parameters will be sent as body in the case of POST and PUT. Note that
|
|
|
execution of webhooks won’t be retried. So, don’t use this for anything
|
|
|
critical.</p>
|
|
|
<p>This website might be useful for testing webhooks:</p>
|
|
|
<p><a href="https://webhook.site/">https://webhook.site/</a></p>
|
|
|
<p><br /></p>
|
|
|
<p>Using rules is a pro feature.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq72"></a> <strong>(72) What are primary
|
|
|
accounts/identities?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq72">Google
|
|
|
Translate</a></p>
|
|
|
<p>The primary account is used when the account is ambiguous, for
|
|
|
example when starting a new draft from the unified inbox.</p>
|
|
|
<p>Similarly, the primary identity of an account is used when the
|
|
|
identity is ambiguous.</p>
|
|
|
<p>The default email address is the email address of the primary
|
|
|
identity of the primary account.</p>
|
|
|
<p>There can be just one primary account and there can be just one
|
|
|
primary identity per account.</p>
|
|
|
<p>You can set an account or an identity to be primary by long pressing
|
|
|
it in the list of accounts or identities. You can go to the list of
|
|
|
accounts via <em>Manual setup and account options</em> in the main setup
|
|
|
screen.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq73"></a> <strong>(73) Is moving messages across accounts
|
|
|
safe/efficient?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq73">Google
|
|
|
Translate</a></p>
|
|
|
<p>Moving messages across accounts is safe because the raw, original
|
|
|
messages will be downloaded and moved and because the source messages
|
|
|
will be deleted only after the target messages have been added</p>
|
|
|
<p>Batch moving messages across accounts is efficient if both the source
|
|
|
folder and target folder are set to synchronize, else FairEmail needs to
|
|
|
connect to the folder(s) for each message.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq74"></a> <strong>(74) Why do I see duplicate
|
|
|
messages?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq74">Google
|
|
|
Translate</a></p>
|
|
|
<p>Some providers, notably Gmail, list all messages in all folders,
|
|
|
except trashed messages, in the archive (all messages) folder too.
|
|
|
FairEmail shows all these messages in a non obtrusive way to indicate
|
|
|
that these messages are in fact the same message.</p>
|
|
|
<p>Gmail allows one message to have multiple labels, which are presented
|
|
|
to FairEmail as folders. This means that messages with multiple labels
|
|
|
will be shown multiple times as well.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq75"></a> <strong>(75) Can you make an iOS, Windows,
|
|
|
Linux, etc version?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq75">Google
|
|
|
Translate</a></p>
|
|
|
<p>A lot of knowledge and experience is required to successfully develop
|
|
|
an app for a specific platform, which is why I develop apps for Android
|
|
|
only.</p>
|
|
|
<p>You can install FairEmail on recent Windows versions, though, see <a
|
|
|
href="#faq185">here</a>, and also on ChromeOS via the Play Store.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq76"></a> <strong>(76) What does ‘Clear local messages’
|
|
|
do?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq76">Google
|
|
|
Translate</a></p>
|
|
|
<p>The folder menu <em>Clear local messages</em> removes messages from
|
|
|
the device which are present on the server too. It does not delete
|
|
|
messages from the server. This can be useful after changing the folder
|
|
|
settings to not download the message content (text and attachments), for
|
|
|
example to save space.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq77"></a> <strong>(77) Why are messages sometimes shown
|
|
|
with a small delay?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq77">Google
|
|
|
Translate</a></p>
|
|
|
<p>Depending on the speed of your device (processor speed and maybe even
|
|
|
more memory speed) messages might be displayed with a small delay.
|
|
|
FairEmail is designed to dynamically handle a large number of messages
|
|
|
without running out of memory. This means that messages needs to be read
|
|
|
from a database and that this database needs to be watched for changes,
|
|
|
both of which might cause small delays.</p>
|
|
|
<p>Some convenience features, like grouping messages to display
|
|
|
conversation threads and determining the previous/next message, take a
|
|
|
little extra time. Note that there is no <em>the</em> next message
|
|
|
because in the meantime a new message might have been arrived.</p>
|
|
|
<p>When comparing the speed of FairEmail with similar apps this should
|
|
|
be part of the comparison. It is easy to write a similar, faster app
|
|
|
which just displays a lineair list of messages while possible using too
|
|
|
much memory, but it is not so easy to properly manage resource usage and
|
|
|
to offer more advanced features like conversation threading.</p>
|
|
|
<p>FairEmail is based on the state-of-the-art <a
|
|
|
href="https://developer.android.com/topic/libraries/architecture/">Android
|
|
|
architecture components</a>, so there is little room for performance
|
|
|
improvements.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq78"></a> <strong>(78) How do I use
|
|
|
schedules?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq78">Google
|
|
|
Translate</a></p>
|
|
|
<p>In the receive settings you can enable scheduling and set a time
|
|
|
period and the days of the week <em>when</em> messages should be
|
|
|
<em>received</em>. Note that an end time equal to or earlier than the
|
|
|
start time is considered to be 24 hours later.</p>
|
|
|
<p>Since version 1.1880 is is possible to exclude accounts from
|
|
|
scheduling in the advanced account settings. This means you can
|
|
|
synchronize a business account during business hours only and make an
|
|
|
exception for personal accounts.</p>
|
|
|
<p>Automation, see below, can be used for more advanced schedules, like
|
|
|
for example multiple synchronization periods per day or different
|
|
|
synchronization periods for different days.</p>
|
|
|
<p>It is possible to install FairEmail in multiple user profiles, for
|
|
|
example a personal and a work profile, and to configure FairEmail
|
|
|
differently in each profile, which is another possibility to have
|
|
|
different synchronization schedules and to synchronize a different set
|
|
|
of accounts.</p>
|
|
|
<p>It is also possible to create <a href="#faq71">rules</a> with a time
|
|
|
condition and to snooze messages until the end time of the time
|
|
|
condition. This way it is possible to <em>snooze</em> business related
|
|
|
messages until the start of the business hours. This also means that the
|
|
|
messages will be on your device for when there is (temporarily) no
|
|
|
internet connection. How to:</p>
|
|
|
<ul>
|
|
|
<li>Go to the folder list of an account by tapping on the account name
|
|
|
in the navigation menu (left side menu)</li>
|
|
|
<li>Long press the inbox in the folder list and select <em>Edit
|
|
|
rules</em></li>
|
|
|
<li>Tap om the big <em>plus</em> button at the bottom to create a new
|
|
|
rule</li>
|
|
|
<li>Enter as name for example <em>Snooze business messages</em></li>
|
|
|
<li>Under relative time select a start and end date/time, for example
|
|
|
Friday 17:00 and Monday 09:00</li>
|
|
|
<li>Select <em>Snooze</em> as action</li>
|
|
|
<li>Save the rule with the save button in the bottom action bar</li>
|
|
|
</ul>
|
|
|
<p>Note that recent Android versions allow overriding DND (Do Not
|
|
|
Disturb) per notification channel and per app, which could be used to
|
|
|
(not) silence specific (business) notifications. Please <a
|
|
|
href="https://support.google.com/android/answer/9069335">see here</a>
|
|
|
for more information.</p>
|
|
|
<p>Since version 1.2150 it is possible to create <a
|
|
|
href="#faq71">rules</a> to silence specific new message
|
|
|
notifications.</p>
|
|
|
<p>For more complex schemes you could set one or more accounts to manual
|
|
|
synchronization and send this command to FairEmail to check for new
|
|
|
messages:</p>
|
|
|
<pre><code>(adb shell) am start-foreground-service -a eu.faircode.email.POLL</code></pre>
|
|
|
<p>For a specific account:</p>
|
|
|
<pre><code>(adb shell) am start-foreground-service -a eu.faircode.email.POLL --es account Gmail</code></pre>
|
|
|
<p>You can also automate turning receiving messages on and off by
|
|
|
sending these commands to FairEmail:</p>
|
|
|
<pre><code>(adb shell) am start-foreground-service -a eu.faircode.email.ENABLE
|
|
|
(adb shell) am start-foreground-service -a eu.faircode.email.DISABLE</code></pre>
|
|
|
<p>To enable/disable a specific account:</p>
|
|
|
<pre><code>(adb shell) am start-foreground-service -a eu.faircode.email.ENABLE --es account Gmail
|
|
|
(adb shell) am start-foreground-service -a eu.faircode.email.DISABLE --es account Gmail</code></pre>
|
|
|
<p>Note that disabling an account will hide the account and all
|
|
|
associated folders and messages. Since version 1.1600 an account will be
|
|
|
disabled/enabled by setting the account to manual/automatic sync, so the
|
|
|
folders and messages keep being accessible.</p>
|
|
|
<p>To set the poll interval:</p>
|
|
|
<pre><code>(adb shell) adb shell am start-foreground-service -a eu.faircode.email.INTERVAL --ei minutes nnn</code></pre>
|
|
|
<p>Where <em>nnn</em> is one of 0, 5, 15, 30, 60, 120, 240, 480, 1440. A
|
|
|
value of 0 means push messages.</p>
|
|
|
<p>You can automatically send commands with for example <a
|
|
|
href="https://tasker.joaoapps.com/userguide/en/intents.html">Tasker</a>:</p>
|
|
|
<pre><code>New task: Something recognizable
|
|
|
Action Category: Misc/Send Intent
|
|
|
Action: eu.faircode.email.ENABLE
|
|
|
Target: Service</code></pre>
|
|
|
<p>To enable/disable an account with the name <em>Gmail</em>:</p>
|
|
|
<pre><code>Extras: account:Gmail</code></pre>
|
|
|
<p>Account names are case sensitive.</p>
|
|
|
<p>Scheduling is a pro feature.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq79"></a> <strong>(79) How do I use synchronize on demand
|
|
|
(manual)?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq79">Google
|
|
|
Translate</a></p>
|
|
|
<p>Normally, FairEmail maintains a connection to the configured email
|
|
|
servers whenever possible to receive messages in real-time. If you don’t
|
|
|
want this, for example to be not disturbed or to save on battery usage,
|
|
|
just disable receiving in the receive settings. This will stop the
|
|
|
background service which takes care of automatic synchronization and
|
|
|
will remove the associated status bar notification.</p>
|
|
|
<p>You can also enable <em>Synchronize manually</em> in the advanced
|
|
|
account settings if you want to manually synchronize specific accounts
|
|
|
only.</p>
|
|
|
<p>You can use pull-down-to-refresh in a message list or use the folder
|
|
|
menu <em>Synchronize now</em> to manually synchronize messages.</p>
|
|
|
<p>If you want to synchronize some or all folders of an account
|
|
|
manually, just disable synchronization for the folders (but not of the
|
|
|
account).</p>
|
|
|
<p>You’ll likely want to disabled <a href="#faq24">browse on server</a>
|
|
|
too.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq80"></a> <strong><del>(80) How do I fix the error ‘Unable
|
|
|
to load BODYSTRUCTURE’?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq80">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>The error message <em>Unable to load BODYSTRUCTURE</em> is
|
|
|
caused by bugs in the email server,</del> <del>see <a
|
|
|
href="https://javaee.github.io/javamail/FAQ#imapserverbug">here</a> for
|
|
|
more details.</del></p>
|
|
|
<p><del>FairEmail already tries to workaround these bugs, but if this
|
|
|
fail you’ll need to ask for support from your provider.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq81"></a> <strong>(81) Can you make the background of the
|
|
|
original message view dark in dark themes?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq81">Google
|
|
|
Translate</a></p>
|
|
|
<p>The original message view will use a dark background when using a
|
|
|
dark theme for Android version 10 and later.</p>
|
|
|
<p><del>For Android before version 10 Google removed this feature from
|
|
|
the <a
|
|
|
href="https://play.google.com/store/apps/details?id=com.google.android.webview">Android
|
|
|
System WebView</a>,</del> <del>even though it worked fine in most
|
|
|
cases.</del> <del>Please see <a
|
|
|
href="https://issuetracker.google.com/issues/237785596">this issue</a>
|
|
|
(requires a Google account login) requesting to restore this feature
|
|
|
again for more information.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq82"></a> <strong>(82) What is a tracking
|
|
|
image?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq82">Google
|
|
|
Translate</a></p>
|
|
|
<p>Please see <a
|
|
|
href="https://en.wikipedia.org/wiki/Web_beacon">here</a> about what a
|
|
|
tracking image exactly is. In short tracking images keep track if you
|
|
|
opened a message.</p>
|
|
|
<p>The BBC article ‘<a
|
|
|
href="https://www.bbc.com/news/technology-56071437">Spy pixels in emails
|
|
|
have become endemic</a>’ is worth reading.</p>
|
|
|
<p>FairEmail will in most cases automatically recognize tracking images
|
|
|
and replace them by this icon:</p>
|
|
|
<p><img src="https://github.com/M66B/FairEmail/blob/master/images/baseline_my_location_black_48dp.png" width="48" height="48" /></p>
|
|
|
<p>Automatic recognition of tracking images can be disabled in the
|
|
|
privacy settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq84"></a> <strong>(84) What are local contacts
|
|
|
for?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq84">Google
|
|
|
Translate</a></p>
|
|
|
<p>Local contact information is based on names and addresses found in
|
|
|
incoming and outgoing messages.</p>
|
|
|
<p>The main use of the local contacts storage is to offer auto
|
|
|
completion when no contacts permission has been granted to
|
|
|
FairEmail.</p>
|
|
|
<p>Another use is to generate <a href="#faq31">shortcuts</a> on recent
|
|
|
Android versions to quickly send a message to frequently contacted
|
|
|
people. This is also why the number of times contacted and the last time
|
|
|
contacted is being recorded and why you can make a contact a favorite or
|
|
|
exclude it from favorites by long pressing it.</p>
|
|
|
<p>The list of contacts is sorted on number of times contacted and the
|
|
|
last time contacted.</p>
|
|
|
<p>By default only names and addresses to whom you send messages to will
|
|
|
be recorded. You can change this in the send settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq85"></a> <strong>(85) Why is an identity not
|
|
|
available?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq85">Google
|
|
|
Translate</a></p>
|
|
|
<p>An identity is available for sending a new message or replying or
|
|
|
forwarding an existing message only if:</p>
|
|
|
<ul>
|
|
|
<li>the identity is set to synchronize (send messages)</li>
|
|
|
<li>the associated account is set to synchronize (receive messages)</li>
|
|
|
<li>the associated account has a drafts folder</li>
|
|
|
</ul>
|
|
|
<p>FairEmail will try to select the best identity based on the
|
|
|
<em>to</em> address of the message replied to / being forwarded.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq86"></a> <strong><del>(86) What are ‘extra privacy
|
|
|
features’?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq86">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>The advanced option <em>extra privacy features</em>
|
|
|
enables:</del></p>
|
|
|
<ul>
|
|
|
<li><del>Looking up the owner of the IP address of a link</del></li>
|
|
|
<li><del>Detection and removal of <a href="#faq82">tracking
|
|
|
images</a></del></li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq87"></a> <strong>(87) What does ‘invalid credentials’
|
|
|
mean?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq87">Google
|
|
|
Translate</a></p>
|
|
|
<p>The error message <em>invalid credentials</em> means either that the
|
|
|
user name and/or password is incorrect, for example because the password
|
|
|
was changed or expired, or that the account authorization has expired,
|
|
|
for example due to logging out.</p>
|
|
|
<p>If the password is incorrect/expired, you will have to update the
|
|
|
password in the account and/or identity settings.</p>
|
|
|
<p>If the account authorization has expired, you will have to select the
|
|
|
account again. You will likely need to save the associated identity
|
|
|
again as well.</p>
|
|
|
<p>In the case of a Gmail account the error <em>Invalid credentials
|
|
|
(Failure)</em> can be the result of <em>accounts.google.com</em> being
|
|
|
blocked for the Android account manager, for example due to using a VPN,
|
|
|
firewall, ad blocker, or similar. So, try to disable all VPN based apps
|
|
|
or allow this address.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq88"></a> <strong>(88) How can I use a Yahoo/AT&T, AOL
|
|
|
or Sky account?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq88">Google
|
|
|
Translate</a></p>
|
|
|
<p>The preferred way to set up a Yahoo account is by using the quick
|
|
|
setup wizard, which will use OAuth instead of a password and is
|
|
|
therefore safer (and easier as well).</p>
|
|
|
<p>To authorize a Yahoo/AT&T, AOL, or Sky account you need to use an
|
|
|
app password instead of your normal account password. For instructions
|
|
|
about how to create an app password, please see here:</p>
|
|
|
<ul>
|
|
|
<li><a
|
|
|
href="https://help.yahoo.com/kb/generate-third-party-passwords-sln15241.html">for
|
|
|
Yahoo/AT&T</a></li>
|
|
|
<li><a
|
|
|
href="https://help.aol.com/articles/Create-and-manage-app-password">for
|
|
|
AOL</a> <del><strong>Important</strong>: app password generation is
|
|
|
broken, <a
|
|
|
href="https://aol.uservoice.com/forums/912886-aol-mail/suggestions/45235399-i-wanted-to-generate-a-third-party-app-password-bu">frustrating
|
|
|
many people</a> because this means you can use the AOL app and the
|
|
|
browser only.</del></li>
|
|
|
<li><a
|
|
|
href="https://www.sky.com/help/articles/getting-started-with-sky-yahoo-mail">for
|
|
|
Sky</a> (under <em>Other email apps</em>)</li>
|
|
|
</ul>
|
|
|
<p>Please see <a href="#faq111">this FAQ</a> about OAuth support.</p>
|
|
|
<p>Note that Yahoo, AOL, and Sky do not support standard push messages.
|
|
|
The Yahoo email app uses a proprietary, undocumented protocol for push
|
|
|
messages.</p>
|
|
|
<p>Push messages require <a
|
|
|
href="https://en.wikipedia.org/wiki/IMAP_IDLE">IMAP IDLE</a> and the
|
|
|
Yahoo email server does not report IDLE as capability:</p>
|
|
|
<pre><code>Y1 CAPABILITY
|
|
|
* CAPABILITY IMAP4rev1 ID MOVE NAMESPACE XYMHIGHESTMODSEQ UIDPLUS LITERAL+ CHILDREN X-MSG-EXT UNSELECT OBJECTID
|
|
|
Y1 OK CAPABILITY completed</code></pre>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq89"></a> <strong>(89) How can I send plain text only
|
|
|
messages?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq89">Google
|
|
|
Translate</a></p>
|
|
|
<p>By default FairEmail sends each message both as plain text and as
|
|
|
HTML formatted text because almost every receiver expects formatted
|
|
|
messages these days. If you want/need to send plain text only messages,
|
|
|
you can enable this in the send options. You can enable/disable sending
|
|
|
plain text only messages in the send dialog on a case by case basis as
|
|
|
well. If you disabled the send dialog, you can long press the
|
|
|
<em>Send</em> button to show it again.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq90"></a> <strong>(90) Why are some texts linked while not
|
|
|
being a link?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq90">Google
|
|
|
Translate</a></p>
|
|
|
<p>FairEmail will automatically link not linked web links (http and
|
|
|
https) and not linked email addresses (mailto) for your convenience.
|
|
|
However, texts and links are not easily distinguished, especially not
|
|
|
with lots of <a
|
|
|
href="https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains">top
|
|
|
level domains</a> being words. This is why texts with dots are sometimes
|
|
|
incorrectly recognized as links, which is better than not recognizing
|
|
|
some links.</p>
|
|
|
<p>Links for the tel, geo, rtsp and xmpp protocols will be recognized
|
|
|
too, but links for less usual or less safe protocols like telnet and ftp
|
|
|
will not be recognized. The regex to recognize links is already
|
|
|
<em>very</em> complex and adding more protocols will make it only slower
|
|
|
and possibly cause errors.</p>
|
|
|
<p>Note that original messages are shown exactly as they are, which
|
|
|
means also that links are not automatically added.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq91"></a> <strong><del>(91) Can you add periodical
|
|
|
synchronization to save battery power?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq91">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>Synchronizing messages is an expensive proces because the local
|
|
|
and remote messages need to be compared,</del> <del>so periodically
|
|
|
synchronizing messages will not result in saving battery power, more
|
|
|
likely the contrary.</del></p>
|
|
|
<p><del>See <a href="#faq39">this FAQ</a> about optimizing battery
|
|
|
usage.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq92"></a> <strong>(92) Can you add spam filtering,
|
|
|
verification of the DKIM signature and SPF authorization?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq92">Google
|
|
|
Translate</a></p>
|
|
|
<p>Spam filtering, verification of the <a
|
|
|
href="https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail">DKIM</a>
|
|
|
signature and <a
|
|
|
href="https://en.wikipedia.org/wiki/Sender_Policy_Framework">SPF</a>
|
|
|
authorization is a task of email servers, not of an email client, which
|
|
|
is basically a viewer for messages on an email server. Servers generally
|
|
|
have more memory and computing power, so they are much better suited to
|
|
|
this task than battery-powered devices. Also, you’ll want spam filtered
|
|
|
for all your email clients, possibly including web email, not just for
|
|
|
one email client on one device. Moreover, email servers have access to
|
|
|
information, like the IP address, etc. of the connecting server, which
|
|
|
an email client has no access to. Furthermore, an email server can
|
|
|
inspect all messages of all email accounts, while an email client can
|
|
|
inspect messages in your email account only.</p>
|
|
|
<p>If you are receiving a significant amount of spam, the first thing
|
|
|
you should do is consider switching to another email provider. Some
|
|
|
email servers excell at filtering spam, and others are really bad at it.
|
|
|
Switching to another e-mail provider is no fun, but neither is wading
|
|
|
through piles of spam on a daily basis.</p>
|
|
|
<p>Spam filtering based on message headers might have been feasible, but
|
|
|
unfortunately this technique is <a
|
|
|
href="https://patents.google.com/patent/US7543076">patented by
|
|
|
Microsoft</a>.</p>
|
|
|
<p>Recent versions of FairEmail can filter spam to a certain extent
|
|
|
using a message classifier. Please see <a href="#faq163">this FAQ</a>
|
|
|
for more information about this.</p>
|
|
|
<p>Of course you can report messages as spam with FairEmail, which will
|
|
|
move the reported messages to the spam folder and train the spam filter
|
|
|
of the provider, which is how it is supposed to work. This can be done
|
|
|
automatically with <a href="#faq71">rules</a> too. Blocking the sender
|
|
|
will create a filter rule to automatically move future messages of the
|
|
|
same sender into the spam folder.</p>
|
|
|
<p>Note that the POP3 protocol gives access to the inbox only. So, it is
|
|
|
won’t be possible to report spam for POP3 accounts.</p>
|
|
|
<p>Note that you should not delete spam messages, also not from the spam
|
|
|
folder, because the email server uses the messages in the spam folder to
|
|
|
“learn” what spam messages are.</p>
|
|
|
<p>If you are wondering why a message was moved into the spam folder,
|
|
|
these are all possible reasons:</p>
|
|
|
<ul>
|
|
|
<li>The email server of your email provider moved the message into the
|
|
|
spam folder. The app can’t undo this automatically because this can
|
|
|
result in an endless loop.</li>
|
|
|
<li>The message classifier (miscellaneous settings tab page) moved the
|
|
|
message into the spam folder.</li>
|
|
|
<li>A filter rule (navigation menu = left side menu of the start
|
|
|
screen), for example a block domain name rule, moved the message into
|
|
|
the spam folder.</li>
|
|
|
<li>An email address or a network address is on a block list (receive
|
|
|
settings tab page).</li>
|
|
|
</ul>
|
|
|
<p>Note that a sender will automatically be blocked when a message is
|
|
|
moved into the spam folder. You can disable this behavior by disabling
|
|
|
the option <em>Automatically block the sender when reporting spam</em>
|
|
|
in the behavior settings tab page.</p>
|
|
|
<p>Since version 1.2143, there is an “<em>Unblock all</em>” button in
|
|
|
the receive-settings tab page, which will reset all above options.</p>
|
|
|
<p>If you receive a lot of spam messages in your inbox, the best you can
|
|
|
do is to contact the email provider to ask if spam filtering can be
|
|
|
improved.</p>
|
|
|
<p>Also, FairEmail can show a small red warning flag when DKIM, SPF or
|
|
|
<a href="https://en.wikipedia.org/wiki/DMARC">DMARC</a> authentication
|
|
|
failed on the receiving server. You can enable/disable <a
|
|
|
href="https://en.wikipedia.org/wiki/Email_authentication">authentication
|
|
|
verification</a> in the display settings. The feature depends on the
|
|
|
header <a
|
|
|
href="https://datatracker.ietf.org/doc/html/rfc7601">Authentication-Results</a>,
|
|
|
which the receiving email server should add. If the email server doesn’t
|
|
|
add an <em>Authentication-Results</em>, which is optional, you can
|
|
|
enable native DKIM in the debug panel, which appears when you enable
|
|
|
debug mode in the miscellaneous settings tab page (last option). Please
|
|
|
be aware that this option will increase both data and battery usage.</p>
|
|
|
<p>FairEmail can show a warning flag too if the domain name of the
|
|
|
(reply) email address of the sender does not define an MX record
|
|
|
pointing to an email server. This can be enabled in the receive
|
|
|
settings. Be aware that this will slow down synchronization of messages
|
|
|
significantly.</p>
|
|
|
<p>If the domain name of the sender and the domain name of the reply
|
|
|
address differ, the warning flag will be shown too because this is most
|
|
|
often the case with phishing messages. If desired, this can be disabled
|
|
|
in the receive settings (since version 1.1506).</p>
|
|
|
<p>If legitimate messages are failing authentication, you should notify
|
|
|
the sender because this will result in a high risk of messages ending up
|
|
|
in the spam folder. Moreover, without proper authentication there is a
|
|
|
risk the sender will be impersonated. The sender might use <a
|
|
|
href="https://www.mail-tester.com/">this tool</a> to check
|
|
|
authentication and other things.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq93"></a> <strong>(93) Can you allow installation/data
|
|
|
storage on external storage media (sdcard)?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq93">Google
|
|
|
Translate</a></p>
|
|
|
<p>FairEmail uses services and alarms, provides widgets and listens for
|
|
|
the boot completed event to be started on device start, so it is not
|
|
|
possible to store the app on external storage media, like an sdcard. See
|
|
|
also <a
|
|
|
href="https://developer.android.com/guide/topics/data/install-location">here</a>.</p>
|
|
|
<p>Since the app is small anyway and the data files will be stored in
|
|
|
the same place, the benefit would be limited anyway.</p>
|
|
|
<p>Messages, attachments, etc stored on external storage media, like an
|
|
|
sdcard, can be accessed by other apps and is therefore not safe. See <a
|
|
|
href="https://developer.android.com/training/data-storage">here</a> for
|
|
|
the details. Instead, consider to use <a
|
|
|
href="https://source.android.com/devices/storage/adoptable">adoptable
|
|
|
storage</a>.</p>
|
|
|
<p>Since version 1.1829 is it possible to store attachments to external
|
|
|
storage space private to the app (except for file managers) via an
|
|
|
option in the debug panel. You can enable the debug panel by enabling
|
|
|
debug mode in the miscellaneous settings (last option). To prevent
|
|
|
ongoing operations from storing attachments at the old location you
|
|
|
should disable receiving messages in the receive settings and wait until
|
|
|
all operations have been completed before changing this option. Please
|
|
|
be aware that removing the storage space will inevitably result in
|
|
|
problems, which is one of the reasons why this option is hidden.</p>
|
|
|
<p>Please note that more often than not the external storage space is
|
|
|
emulated on recent Android versions and recent devices. and that there
|
|
|
is no longer a viable way to get permission to write to other
|
|
|
locations.</p>
|
|
|
<p>Moving messages to an sdcard is not an option because this would
|
|
|
significantly reduce the response times of the app.</p>
|
|
|
<p>When needed you can save (raw) messages via the three-dots menu just
|
|
|
above the message text and save attachments by tapping on the floppy
|
|
|
icon.</p>
|
|
|
<p>If you need to save on storage space, you can limit the number of
|
|
|
days messages are being synchronized and kept on your device and disable
|
|
|
downloading and storing of message texts and attachments (which means
|
|
|
only message headers will be stored). You can change these settings by
|
|
|
long pressing a folder in the folder list and selecting <em>Edit
|
|
|
properties</em>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq94"></a> <strong>(94) What does the red/orange stripe at
|
|
|
the end of the header mean?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq94">Google
|
|
|
Translate</a></p>
|
|
|
<p>The red/orange stripe at the left side of the header means that the
|
|
|
DKIM, SPF or DMARC authentication failed. See also <a href="#faq92">this
|
|
|
FAQ</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq95"></a> <strong>(95) Why are not all apps shown when
|
|
|
selecting an attachment or image?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq95">Google
|
|
|
Translate</a></p>
|
|
|
<p>For privacy and security reasons FairEmail does not have permissions
|
|
|
to directly access files, instead the Storage Access Framework,
|
|
|
available and recommended since Android 4.4 KitKat (released in 2013),
|
|
|
is used to select files.</p>
|
|
|
<p>If an app is listed depends on if the app implements a <a
|
|
|
href="https://developer.android.com/guide/topics/providers/document-provider">document
|
|
|
provider</a>. If the app is not listed, you might need to ask the
|
|
|
developer of the app to add support for the Storage Access
|
|
|
Framework.</p>
|
|
|
<p>Android Q will make it harder and maybe even impossible to directly
|
|
|
access files, see <a
|
|
|
href="https://developer.android.com/preview/privacy/scoped-storage">here</a>
|
|
|
and <a
|
|
|
href="https://www.xda-developers.com/android-q-storage-access-framework-scoped-storage/">here</a>
|
|
|
for more details.</p>
|
|
|
<p>If you use MIUI, please make sure <a
|
|
|
href="https://android.stackexchange.com/questions/191228/what-is-miui-optimization">MIUI
|
|
|
optimization</a> is enabled in the developer settings. You can enable
|
|
|
the developer options by tapping a few times on the MIUI version number
|
|
|
in the settings, About phone.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq96"></a> <strong>(96) Where can I find the IMAP and SMTP
|
|
|
settings?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq96">Google
|
|
|
Translate</a></p>
|
|
|
<p>The IMAP settings are part of the (custom) account settings and the
|
|
|
SMTP settings are part of the identity settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq97"></a> <strong>(97) What is ‘cleanup’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq97">Google
|
|
|
Translate</a></p>
|
|
|
<p>About each four hours FairEmail runs a cleanup job that:</p>
|
|
|
<ul>
|
|
|
<li>Removes old message texts</li>
|
|
|
<li>Removes old attachment files</li>
|
|
|
<li>Removes old image files</li>
|
|
|
<li>Removes old local contacts</li>
|
|
|
<li>Removes old log entries</li>
|
|
|
</ul>
|
|
|
<p>Note that the cleanup job will only run when the synchronize service
|
|
|
is active.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq98"></a> <strong>(98) Why can I still pick contacts after
|
|
|
revoking contacts permissions?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq98">Google
|
|
|
Translate</a></p>
|
|
|
<p>After revoking contacts permissions Android does not allow FairEmail
|
|
|
access to your contacts anymore. However, picking contacts is delegated
|
|
|
to and done by Android and not by FairEmail, so this will still be
|
|
|
possible without contacts permissions.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq99"></a> <strong>(99) Can you add a rich text or markdown
|
|
|
editor?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq99">Google
|
|
|
Translate</a></p>
|
|
|
<p>FairEmail provides common text formatting (bold, italic, underline,
|
|
|
text size and color) via a toolbar that appears after selecting some
|
|
|
text.</p>
|
|
|
<p>A <a href="https://en.wikipedia.org/wiki/Formatted_text">Rich
|
|
|
text</a> or <a
|
|
|
href="https://en.wikipedia.org/wiki/Markdown">Markdown</a> editor would
|
|
|
not be used by many people on a small mobile device and, more important,
|
|
|
Android doesn’t support a rich text editor and most rich text editor
|
|
|
open source projects are abandoned. See <a
|
|
|
href="https://forum.xda-developers.com/showpost.php?p=79061829&postcount=4919">here</a>
|
|
|
for some more details about this.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq100"></a> <strong>(100) How can I synchronize Gmail
|
|
|
categories?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq100">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can synchronize Gmail categories by creating filters to label
|
|
|
categorized messages:</p>
|
|
|
<ul>
|
|
|
<li>Create a new filter via Gmail > Settings wheel > See all
|
|
|
settings > Filters and Blocked Addresses > Create a new
|
|
|
filter</li>
|
|
|
<li>Enter a category search (see below) in the <em>Has the words</em>
|
|
|
field and click <em>Create filter</em></li>
|
|
|
<li>Check <em>Apply the label</em> and select a label and click
|
|
|
<em>Create filter</em></li>
|
|
|
</ul>
|
|
|
<p>Possible categories:</p>
|
|
|
<pre><code>category:social
|
|
|
category:updates
|
|
|
category:forums
|
|
|
category:promotions</code></pre>
|
|
|
<p>Documentation: <a
|
|
|
href="https://support.google.com/mail/answer/7190">see here</a>.</p>
|
|
|
<p>Unfortunately, this is not possible for the snoozed messages
|
|
|
folder.</p>
|
|
|
<p>You can use <em>Force sync</em> in the three-dots menu of the unified
|
|
|
inbox to let FairEmail synchronize the folder list again and you can
|
|
|
long press the folders to enable synchronization.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq101"></a> <strong>(101) What does the blue/orange dot at
|
|
|
the bottom of the conversations mean?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq101">Google
|
|
|
Translate</a></p>
|
|
|
<p>The dot shows the relative position of the conversation in the
|
|
|
message list. The dot will be show orange when the conversation is the
|
|
|
first or last in the message list, else it will be blue. The dot is
|
|
|
meant as an aid when swiping left/right to go to the previous/next
|
|
|
conversation.</p>
|
|
|
<p>The dot is disabled by default and can be enabled with the display
|
|
|
settings <em>Show relative conversation position with a dot</em>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq102"></a> <strong>(102) How can I enable auto rotation of
|
|
|
images?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq102">Google
|
|
|
Translate</a></p>
|
|
|
<p>Images will automatically be rotated when automatic resizing of
|
|
|
images is enabled in the settings (enabled by default). However,
|
|
|
automatic rotating depends on the <a
|
|
|
href="https://en.wikipedia.org/wiki/Exif">Exif</a> information to be
|
|
|
present and to be correct, which is not always the case. Particularly
|
|
|
not when taking a photo with a camara app from FairEmail.</p>
|
|
|
<p>Note that only <a href="https://en.wikipedia.org/wiki/JPEG">JPEG</a>
|
|
|
and <a
|
|
|
href="https://en.wikipedia.org/wiki/Portable_Network_Graphics">PNG</a>
|
|
|
images can contain Exif information.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq104"></a> <strong>(104) What do I need to know about
|
|
|
error reporting?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq104">Google
|
|
|
Translate</a></p>
|
|
|
<ul>
|
|
|
<li>Error reports will help improve FairEmail</li>
|
|
|
<li>Error reporting is optional and opt-in</li>
|
|
|
<li>Error reporting can be enabled/disabled via the
|
|
|
<em>miscellaneous</em> settings tab page</li>
|
|
|
<li>Error reports will automatically be sent anonymously to <a
|
|
|
href="https://www.bugsnag.com/">Bugsnag</a></li>
|
|
|
<li><a
|
|
|
href="https://docs.bugsnag.com/platforms/android/configuration-options/#telemetry">Telemetry</a>
|
|
|
is always disabled</li>
|
|
|
<li>Bugsnag for Android is <a
|
|
|
href="https://github.com/bugsnag/bugsnag-android">open source</a></li>
|
|
|
<li>See <a
|
|
|
href="https://docs.bugsnag.com/platforms/android/automatically-captured-data/">here</a>
|
|
|
about what data will be sent in case of errors</li>
|
|
|
<li>See <a
|
|
|
href="https://docs.bugsnag.com/legal/privacy-policy/">here</a> for the
|
|
|
privacy policy of Bugsnag</li>
|
|
|
<li>Error reports will be sent to <em>sessions.bugsnag.com:443</em> and
|
|
|
<em>notify.bugsnag.com:443</em></li>
|
|
|
</ul>
|
|
|
<p>Error reports have helped to find otherwise hard to find bugs and
|
|
|
therefore improve the overall stability of the app.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq105"></a> <strong>(105) How does the roam-like-at-home
|
|
|
option work?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq105">Google
|
|
|
Translate</a></p>
|
|
|
<p>FairEmail will check if the country code of the SIM card and the
|
|
|
country code of the network are in the <a
|
|
|
href="https://en.wikipedia.org/wiki/European_Union_roaming_regulations#Territorial_extent">EU
|
|
|
roam-like-at-home countries</a> and assumes no roaming if the country
|
|
|
codes are equal and the advanced roam-like-at-home option is
|
|
|
enabled.</p>
|
|
|
<p>So, you don’t have to disable this option if you don’t have an EU SIM
|
|
|
or are not connected to an EU network.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq106"></a> <strong>(106) Which launchers can show a badge
|
|
|
count with the number of unread messages?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq106">Google
|
|
|
Translate</a></p>
|
|
|
<p>Please <a
|
|
|
href="https://github.com/leolin310148/ShortcutBadger#supported-launchers">see
|
|
|
here</a> for a list of launchers which can show the number of unread
|
|
|
messages. Standard Android <a
|
|
|
href="https://developer.android.com/training/notify-user/badges">does
|
|
|
not support this</a>.</p>
|
|
|
<p>Note that Nova Launcher requires Tesla Unread, which is <a
|
|
|
href="https://forum.xda-developers.com/android/general/bad-news-tesla-unread-devoloper-t3920415">not
|
|
|
supported anymore</a>.</p>
|
|
|
<p>Note that the notification setting <em>Show launcher icon with number
|
|
|
of new messages</em> needs to be enabled (default enabled).</p>
|
|
|
<p>Only <em>new</em> unread messages in folders set to show new message
|
|
|
notifications will be counted, so messages marked unread again and
|
|
|
messages in folders set to not show new message notification will not be
|
|
|
counted.</p>
|
|
|
<p>Depending on what you want, the notification settings <em>Let the
|
|
|
number of new messages match the number of notifications</em> needs to
|
|
|
be enabled (default disabled). When enabled the badge count will be the
|
|
|
same as the number of new message notifications. When disabled the badge
|
|
|
count will be the number of unread messages, independent if they are
|
|
|
shown in a notification or are new.</p>
|
|
|
<p>This feature depends on support of your launcher. FairEmail merely
|
|
|
‘broadcasts’ the number of unread messages using the ShortcutBadger
|
|
|
library. If it doesn’t work, this cannot be fixed by changes in
|
|
|
FairEmail.</p>
|
|
|
<p>An alternative is to use the unread messages count home screen
|
|
|
widget. You can add this widget by long pressing on an empty place on
|
|
|
the home screen.</p>
|
|
|
<p>If you are using Nova launcher and you want to show the number of
|
|
|
notifications in the launcher icon (maximum 10; imposed by Nova
|
|
|
launcher), you’ll need to enable <em>Notification access</em> in the
|
|
|
Android <em>Special app access</em> settings for Nova launcher on recent
|
|
|
Android versions.</p>
|
|
|
<p>Some launchers display a dot or a ‘1’ for <a href="#faq2">the
|
|
|
monitoring notification</a>, despite FairEmail explicitly requesting not
|
|
|
to show a <em>badge</em> for this notification. This could be caused by
|
|
|
a bug in the launcher app or in your Android version. Please double
|
|
|
check if the notification dot (badge) is disabled for the receive
|
|
|
(service) notification channel. You can go to the right notification
|
|
|
channel settings via the notification settings of FairEmail. This might
|
|
|
not be obvious, but you can tap on the channel name for more
|
|
|
settings.</p>
|
|
|
<p>FairEmail does send a new message count <em>broadcast</em> intent as
|
|
|
well:</p>
|
|
|
<pre><code>eu.faircode.email.NEW_MESSAGE_COUNT</code></pre>
|
|
|
<p>The number of new, unread messages will be in an integer
|
|
|
“<em>count</em>” parameter.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq107"></a> <strong>(107) How do I use colored
|
|
|
stars?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq107">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can set a colored star via the <em>more</em> message menu, via
|
|
|
multiple selection (started by long pressing a message), by long
|
|
|
pressing a star in a conversation or automatically by using <a
|
|
|
href="#faq71">rules</a>.</p>
|
|
|
<p>You need to know that colored stars are not supported by the IMAP
|
|
|
protocol and can therefore not be synchronized to an email server. This
|
|
|
means that colored stars will not be visible in other email clients and
|
|
|
will be lost on downloading messages again. However, the stars (without
|
|
|
color) will be synchronized and will be visible in other email clients,
|
|
|
when supported.</p>
|
|
|
<p>Some email clients use IMAP keywords for colors. However, not all
|
|
|
servers support IMAP keywords and besides that there are no standard
|
|
|
keywords for colors.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq108"></a> <strong><del>(108) Can you add permanently
|
|
|
delete messages from any folder?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq108">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>When you delete messages from a folder the messages will be
|
|
|
moved to the trash folder, so you have a chance to restore the
|
|
|
messages.</del> <del>You can permanently delete messages from the trash
|
|
|
folder.</del> <del>Permanently delete messages from other folders would
|
|
|
defeat the purpose of the trash folder, so this will not be
|
|
|
added.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq109"></a> <strong><del>(109) Why is ‘select account’
|
|
|
available in official versions only?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq109">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>Using <em>select account</em> to select and authorize Google
|
|
|
accounts require special permission from Google for security and privacy
|
|
|
reasons.</del> <del>This special permission can only be acquired for
|
|
|
apps a developer manages and is responsible for.</del> <del>Third party
|
|
|
builds, like the F-Droid builds, are managed by third parties and are
|
|
|
the responsibility of these third parties.</del> <del>So, only these
|
|
|
third parties can acquire the required permission from Google.</del>
|
|
|
<del>Since these third parties do not actually support FairEmail, they
|
|
|
are most likely not going to request the required permission.</del></p>
|
|
|
<p><del>You can solve this in two ways:</del></p>
|
|
|
<ul>
|
|
|
<li><del>Switch to the official version of FairEmail, see <a
|
|
|
href="https://github.com/M66B/FairEmail/blob/master/README.md#downloads">here</a>
|
|
|
for the options</del></li>
|
|
|
<li><del>Use app specific passwords, see <a href="#faq6">this
|
|
|
FAQ</a></del></li>
|
|
|
</ul>
|
|
|
<p><del>Using <em>select account</em> in third party builds is not
|
|
|
possible in recent versions anymore.</del> <del>In older versions this
|
|
|
was possible, but it will now result in the error
|
|
|
<em>UNREGISTERED_ON_API_CONSOLE</em>.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq110"></a> <strong>(110) Why are (some) messages empty
|
|
|
and/or attachments corrupt?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq110">Google
|
|
|
Translate</a></p>
|
|
|
<p>Empty messages and/or corrupt attachments are probably being caused
|
|
|
by a bug in the server software. Older Microsoft Exchange software is
|
|
|
known to cause this problem. Mostly you can workaround this by disabling
|
|
|
<em>Partial fetch</em> in the advanced account settings:</p>
|
|
|
<p>Settings > Manual setup > Accounts > tap account > tap
|
|
|
advanced > Partial fetch > uncheck</p>
|
|
|
<p>After disabling this setting, you can use the message ‘more’ (three
|
|
|
dots) menu to ‘resync’ empty messages. Alternatively, you can <em>Delete
|
|
|
local messages</em> by long pressing the folder(s) in the folder list
|
|
|
and synchronize all messages again.</p>
|
|
|
<p>Disabling <em>Partial fetch</em> will result in more memory
|
|
|
usage.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq111"></a> <strong>(111) Is OAuth supported?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq111">Google
|
|
|
Translate</a></p>
|
|
|
<p>OAuth for Gmail is supported via the quick setup wizard. <del>The
|
|
|
Android account manager will be used to fetch and refresh OAuth tokens
|
|
|
for selected on-device accounts.</del> <del>OAuth for non on-device
|
|
|
accounts is not supported</del> <del>because Google requires a <a
|
|
|
href="https://support.google.com/cloud/answer/9110914">yearly security
|
|
|
audit</a> ($15,000 to $75,000) for this.</del> <del>Since FairEmail is
|
|
|
basically offered free of charge, it is not an option to pay such an
|
|
|
amount annually for a security audit.</del> <del>You can read more about
|
|
|
this <a
|
|
|
href="https://www.theregister.com/2019/02/11/google_gmail_developer/">here</a>.</del></p>
|
|
|
<p>OAuth for Outlook/Office 365, Yahoo, Mail.ru and Yandex is supported
|
|
|
via the quick setup wizard.</p>
|
|
|
<p>The OAuth <a href="https://oauth.faircode.eu/">jump page</a> exists
|
|
|
for when <a
|
|
|
href="https://developer.android.com/training/app-links/verify-site-associations">Android
|
|
|
App Links</a> are not available, for example when using a non Play store
|
|
|
version of the app, or do not work for some reason.</p>
|
|
|
<p>OAuth is not supported for third party builds like the F-Droid build,
|
|
|
please <a href="#faq147">see here</a> about why not.</p>
|
|
|
<p>Since version 1.1859 there is support for custom OAuth. To use custom
|
|
|
OAuth, an XML file containing the server and OAuth data, like the client
|
|
|
secret, should be created and imported. Please <a
|
|
|
href="https://github.com/M66B/FairEmail/blob/master/app/src/main/res/xml/providers.xml">see
|
|
|
here</a> about how the XML file should look like. The XML file can be
|
|
|
imported via a button in the debug panel of the miscellaneous settings
|
|
|
of the app. To show the debug panel, debug mode mode should temporarily
|
|
|
be enabled. After importing, you can use the quick setup wizard to
|
|
|
configure an account.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq112"></a> <strong>(112) Which email provider do you
|
|
|
recommend?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq112">Google
|
|
|
Translate</a></p>
|
|
|
<p>FairEmail is an email client only, so you need to bring your own
|
|
|
email address. Note that this is clearly mentioned in the app
|
|
|
description.</p>
|
|
|
<p>There are plenty of email providers to choose from. Which email
|
|
|
provider is best for you depends on your wishes/requirements. Please see
|
|
|
these websites for lists of privacy oriented email providers with
|
|
|
advantages and disadvantages:</p>
|
|
|
<ul>
|
|
|
<li><a href="https://restoreprivacy.com/secure-email/">Restore
|
|
|
privacy</a></li>
|
|
|
<li><a href="https://www.privacyguides.org/email/">Privacy
|
|
|
Guides</a></li>
|
|
|
<li><a href="https://www.privacytools.io/providers/email/">Privacy
|
|
|
Tools</a></li>
|
|
|
</ul>
|
|
|
<p><strong>Important</strong>: Some providers, like ProtonMail and
|
|
|
Tutanota, use proprietary email protocols, which make it impossible to
|
|
|
use third party email apps. Please see <a href="#faq129">this FAQ</a>
|
|
|
for more information.</p>
|
|
|
<p>Using your own (custom) domain name, which is supported by most email
|
|
|
providers, will make it easier to switch to another email provider.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq113"></a> <strong>(113) How does biometric authentication
|
|
|
work?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq113">Google
|
|
|
Translate</a></p>
|
|
|
<p>If your device has a biometric sensor, for example a fingerprint
|
|
|
sensor, you can enable/disable biometric authentication in the
|
|
|
navigation (hamburger) menu of the settings screen. When enabled
|
|
|
FairEmail will require biometric authentication after a period of
|
|
|
inactivity or after the screen has been turned off while FairEmail was
|
|
|
running. Activity is navigation within FairEmail, for example opening a
|
|
|
conversation thread. The inactivity period duration can be configured in
|
|
|
the miscellaneous settings. When biometric authentication is enabled new
|
|
|
message notifications will not show any content and FairEmail won’t be
|
|
|
visible on the Android recents screen.</p>
|
|
|
<p>Biometric authentication is meant to prevent others from seeing your
|
|
|
messages only. FairEmail relies on device encryption for data
|
|
|
encryption, see also <a href="#faq37">this FAQ</a>.</p>
|
|
|
<p>Biometric authentication is a pro feature.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq114"></a> <strong>(114) Can you add an import for the
|
|
|
settings of other email apps?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq114">Google
|
|
|
Translate</a></p>
|
|
|
<p>The format of the settings files of most other email apps is not
|
|
|
documented, so this is difficult. Sometimes it is possible to reverse
|
|
|
engineer the format, but as soon as the settings format changes things
|
|
|
will break. Also, settings are often incompatible. For example,
|
|
|
FairEmail has unlike most other email apps settings for the number of
|
|
|
days to synchronize messages and for the number of days to keep
|
|
|
messages, mainly to save on battery usage. Moreover, setting up an
|
|
|
account/identity with the quick setup wizard is simple, so it is not
|
|
|
really worth the effort.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq115"></a> <strong><del>(115) Can you add email address
|
|
|
chips?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq115">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>Email address <a
|
|
|
href="https://material.io/design/components/chips.html">chips</a> look
|
|
|
nice, but cannot be edited,</del> <del>which is quite inconvenient when
|
|
|
you made a typo in an email address.</del></p>
|
|
|
<p><del>Note that FairEmail will select the address only when long
|
|
|
pressing an address, which makes it easy to delete an address.</del></p>
|
|
|
<p><del>Chips are not suitable for showing in a list</del> <del>and
|
|
|
since the message header in a list should look similar to the message
|
|
|
header of the message view it is not an option to use chips for viewing
|
|
|
messages.</del></p>
|
|
|
<p><del>Reverted <a
|
|
|
href="https://github.com/M66B/FairEmail/commit/2c80c25b8aa75af2287f471b882ec87d5a5a5015">commit</a>.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq116"></a> <strong><del>(116) How can I show images in
|
|
|
messages from trusted senders by default?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq116">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>You can show images in messages from trusted senders by default
|
|
|
by enabled the display setting <em>Automatically show images for known
|
|
|
contacts</em>.</del></p>
|
|
|
<p><del>Contacts in the Android contacts list are considered to be known
|
|
|
and trusted,</del> <del>unless the contact is in the group / has the
|
|
|
label ‘<em>Untrusted</em>’ (case insensitive).</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq38"></a> <a name="faq117"></a> <strong>(117) How can I
|
|
|
restore a purchase (on another device) ?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq117">Google
|
|
|
Translate</a></p>
|
|
|
<p>Firstly, a purchase will be available on all devices logged into the
|
|
|
same Google account, <em>if</em> (this is important) the app is
|
|
|
installed via the same Google account too. You can select the account in
|
|
|
the Play store app by tapping on the avatar at the top right, but only
|
|
|
<em>before</em> installing the app. It is not possible to change the
|
|
|
linked Google account after the app has been installed.</p>
|
|
|
<p>Google manages all purchases, so as a developer I have little control
|
|
|
over purchases. So, basically, the only thing I can do, is suggest some
|
|
|
things:</p>
|
|
|
<ul>
|
|
|
<li>Make sure you have an active, working internet connection, and turn
|
|
|
off any VPN based app because it might prevent the Play store from
|
|
|
checking purchases</li>
|
|
|
<li>Make sure you are logged in with the right Google account and that
|
|
|
there is nothing wrong with your Google account</li>
|
|
|
<li>Make sure you installed FairEmail via the right Google account if
|
|
|
you configured multiple Google accounts on your device (you might need
|
|
|
to reinstall the app)</li>
|
|
|
<li>Make sure the Play store app is up to date, please <a
|
|
|
href="https://support.google.com/googleplay/answer/1050566?hl=en">see
|
|
|
here</a></li>
|
|
|
<li>Open the Play store app and wait at least a minute to give it time
|
|
|
to synchronize with the Google servers</li>
|
|
|
<li>Open FairEmail and navigate to the pro features screen to let
|
|
|
FairEmail check the purchases; sometimes it helps to tap the
|
|
|
<em>buy</em> button</li>
|
|
|
</ul>
|
|
|
<p>You can also try to clear the cache of the Play store app via the
|
|
|
Android apps settings. Restarting the device might be necessary to let
|
|
|
the Play store recognize the purchase correctly.</p>
|
|
|
<p>Note that:</p>
|
|
|
<ul>
|
|
|
<li>If you get <em>ITEM_ALREADY_OWNED</em>, the Play store app probably
|
|
|
needs to be updated, please <a
|
|
|
href="https://support.google.com/googleplay/answer/1050566?hl=en">see
|
|
|
here</a></li>
|
|
|
<li>If you get <em>BILLING_UNAVAILABLE Google Play In-app Billing API
|
|
|
version is less than 3</em>, the Play store app might not be logged into
|
|
|
the account used to install the app</li>
|
|
|
<li>Purchases are stored in the Google cloud and cannot get lost</li>
|
|
|
<li>There is no time limit on purchases, so they cannot expire</li>
|
|
|
<li>Google does not expose details (name, e-mail, etc) about buyers to
|
|
|
developers</li>
|
|
|
<li>An app like FairEmail cannot select which Google account to use</li>
|
|
|
<li>It may take a while until the Play store app has synchronized a
|
|
|
purchase to another device</li>
|
|
|
<li>Play Store purchases cannot be used without the Play Store
|
|
|
app/services</li>
|
|
|
<li>Play Store purchases cannot be transferred to another account</li>
|
|
|
<li>You can’t restore purchases with <a
|
|
|
href="https://microg.org/">microG</a></li>
|
|
|
</ul>
|
|
|
<p>Please <a
|
|
|
href="https://support.google.com/googleplay/answer/4646404">see here</a>
|
|
|
about how to add, remove, or edit your Google Play payment method.</p>
|
|
|
<p>If you cannot restore a purchase, please contact me via <a
|
|
|
href="https://contact.faircode.eu/?product=fairemailsupport">this
|
|
|
contact form</a>, mentioning the email address of the Google account
|
|
|
used for the purchase.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq118"></a> <strong>(118) What does ‘Remove tracking
|
|
|
parameters’ exactly?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq118">Google
|
|
|
Translate</a></p>
|
|
|
<p>Checking <em>Remove tracking parameters</em> will remove all <a
|
|
|
href="https://en.wikipedia.org/wiki/UTM_parameters">UTM parameters</a>
|
|
|
from a link.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq119"></a> <strong><del>(119) Can you add colors to the
|
|
|
unified inbox widget?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq119">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>The widget is designed to look good on most home/launcher
|
|
|
screens by making it monochrome and by using a half transparent
|
|
|
background.</del> <del>This way the widget will nicely blend in, while
|
|
|
still being properly readable.</del></p>
|
|
|
<p><del>Adding colors will cause problems with some backgrounds and will
|
|
|
cause readability problems, which is why this won’t be added.</del></p>
|
|
|
<p>Due to Android limitations it is not possible to dynamically set the
|
|
|
opacity of the background and to have rounded corners at the same
|
|
|
time.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq120"></a> <strong>(120) Why are new message notifications
|
|
|
not removed on opening the app?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq120">Google
|
|
|
Translate</a></p>
|
|
|
<p>New message notifications will be removed on swiping notifications
|
|
|
away or on marking the associated messages read. Opening the app will
|
|
|
not remove new message notifications. This gives you a choice to leave
|
|
|
new message notifications as a reminder that there are still unread
|
|
|
messages.</p>
|
|
|
<p>On Android 7 Nougat and later new message notifications will be <a
|
|
|
href="https://developer.android.com/training/notify-user/group">grouped</a>.
|
|
|
Tapping on the summary notification will open the unified inbox. The
|
|
|
summary notification can be expanded to view individual new message
|
|
|
notifications. Tapping on an individual new message notification will
|
|
|
open the conversation the message it is part of. See <a
|
|
|
href="#faq70">this FAQ</a> about when messages in a conversation will be
|
|
|
auto expanded and marked read.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq121"></a> <strong>(121) How are messages grouped into a
|
|
|
conversation?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq121">Google
|
|
|
Translate</a></p>
|
|
|
<p>By default FairEmail groups messages in conversations. This can be
|
|
|
turned of in the display settings.</p>
|
|
|
<p>FairEmail groups messages based on the standard <em>Message-ID</em>,
|
|
|
<em>In-Reply-To</em> and <em>References</em> headers. FairEmail does not
|
|
|
group on other criteria, like the subject, because this could result in
|
|
|
grouping unrelated messages and would be at the expense of increased
|
|
|
battery usage.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq122"></a> <strong><del>(122) Why is the recipient
|
|
|
name/email address show with a warning color?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq122">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>The recipient name and/or email address in the addresses section
|
|
|
will be shown in a warning color</del> <del>when the sender domain name
|
|
|
and the domain name of the <em>to</em> address do not match.</del>
|
|
|
<del>Mostly this indicates that the message was received <em>via</em> an
|
|
|
account with another email address.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq123"></a> <strong>(123) What will happen when FairEmail
|
|
|
cannot connect to an email server?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq123">Google
|
|
|
Translate</a></p>
|
|
|
<p>If FairEmail cannot connect to an email server to synchronize
|
|
|
messages, for example, if the internet connection is bad or a firewall
|
|
|
or a VPN is blocking or aborting the connection, FairEmail will retry
|
|
|
one time after waiting 8 seconds while keeping the device awake (=use
|
|
|
battery power). If this fails, FairEmail will schedule an alarm to retry
|
|
|
after 5, 15, 30 and eventually every 60 minutes and let the device sleep
|
|
|
(=no battery usage).</p>
|
|
|
<p>By temporarily enabling debug mode in the miscellaneous settings, you
|
|
|
can disable this logarithmic back-off scheme (since version 1.1855).
|
|
|
This will result in using a linear back-off scheme, which means that
|
|
|
after each successive failure the waiting time will be increased by 1
|
|
|
minute the first 5 minutes and thereafter by 5 minutes up to 60 minutes.
|
|
|
This might increase the battery usage significantly!</p>
|
|
|
<p>Note that <a
|
|
|
href="https://developer.android.com/training/monitoring-device-state/doze-standby">Android
|
|
|
doze mode</a> does not allow to wake the device earlier than after 15
|
|
|
minutes when doze mode is active.</p>
|
|
|
<p><em>Force sync</em> in the three-dots menu of the unified inbox can
|
|
|
be used to let FairEmail attempt to reconnect without waiting.</p>
|
|
|
<p>Sending messages will be retried on connectivity changes only
|
|
|
(reconnecting to the same network or connecting to another network) to
|
|
|
prevent the email server from blocking the connection permanently. You
|
|
|
can pull down the outbox to retry manually.</p>
|
|
|
<p>Note that sending will not be retried in case of authentication
|
|
|
problems and when the server rejected the message. In this case you can
|
|
|
pull down the outbox to try again.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq124"></a> <strong>(124) Why do I get ‘Message too large
|
|
|
or too complex to display’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq124">Google
|
|
|
Translate</a></p>
|
|
|
<p>The message <em>Message too large or too complex to display</em> will
|
|
|
be shown if there are more than 100,000 characters or more than 500
|
|
|
links in a message. Reformatting and displaying such messages will take
|
|
|
too long. You can try to use the original message view, powered by the
|
|
|
browser, instead.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq125"></a> <strong>(125) What are the current experimental
|
|
|
features?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq125">Google
|
|
|
Translate</a></p>
|
|
|
<p><em>Send hard bounce (version 1.1477+)</em></p>
|
|
|
<p>Send a <a href="https://tools.ietf.org/html/rfc3464">Delivery Status
|
|
|
Notification</a> (=hard bounce) via the reply/answer menu.</p>
|
|
|
<p>Hard bounces will mostly be processed automatically because they
|
|
|
affect the reputation of the email provider. The bounce address
|
|
|
(=<em>Return-Path</em> header) is mostly very specific, so the email
|
|
|
server can determine the sending account.</p>
|
|
|
<p>Some email servers, reportedly the Outlook.com email server, respond
|
|
|
with a hard bounce to a hard bounce. In other words, hard bounces are
|
|
|
being rejected.</p>
|
|
|
<p>For some background, see for <a
|
|
|
href="https://en.wikipedia.org/wiki/Bounce_message">this Wikipedia
|
|
|
article</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><em>Resend (version 1.1788+)</em></p>
|
|
|
<p>Resend a message as defined in <a
|
|
|
href="https://datatracker.ietf.org/doc/html/rfc2822#section-3.6.6">rfc2822
|
|
|
section 3.6.6</a> via the reply/answer menu.</p>
|
|
|
<p>To resend a message, the original message headers are required. You
|
|
|
can enable downloading of messages headers for all messages in the
|
|
|
connection settings of the app. Alternative, you can show messages
|
|
|
headers via the horizontal three-dots menu just above the message text
|
|
|
to download the message headers for a single message. The resend menu
|
|
|
item will be shown grayed (dimmed) if the message headers are not
|
|
|
available (yet).</p>
|
|
|
<p>Remarks:</p>
|
|
|
<ul>
|
|
|
<li>Messages to, CC or BCC <em>undisclosed-recipients:</em> cannot be
|
|
|
resend</li>
|
|
|
<li>The original subject is sent as-is, unless it is being changed</li>
|
|
|
<li>The original message text will be sent as-is, unless text is being
|
|
|
entered</li>
|
|
|
<li>The original attachments are sent as they are, unless attachments
|
|
|
are being added or removed</li>
|
|
|
<li>Default CC and BCC addresses will not be applied</li>
|
|
|
<li>Read and delivery receipts will be requested when enabled, they
|
|
|
could go to the original sender or to you</li>
|
|
|
<li>The email server might refuse or incorrectly process resent
|
|
|
messages</li>
|
|
|
<li>DKIM, SPF and DMARC will likely fail, often causing resent messages
|
|
|
to be considered as spam</li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p><em>Process delivery/read receipt (version 1.1797+)</em></p>
|
|
|
<p>On receiving a delivery or read receipt, the related message will be
|
|
|
looked up in the sent messages folder and the following keywords will be
|
|
|
set depending on the contents of the report:</p>
|
|
|
<pre><code>$Delivered
|
|
|
$NotDelivered
|
|
|
$Displayed
|
|
|
$NotDisplayed</code></pre>
|
|
|
<ul>
|
|
|
<li>Delivered: action = <em>delivered</em>, <em>relayed</em>, or
|
|
|
<em>expanded</em>, <a
|
|
|
href="https://datatracker.ietf.org/doc/html/rfc3464#section-2.3.3">see
|
|
|
here</a></li>
|
|
|
<li>Displayed: disposition = <em>displayed</em>, <a
|
|
|
href="https://datatracker.ietf.org/doc/html/rfc3798#section-3.2.6">see
|
|
|
here</a></li>
|
|
|
</ul>
|
|
|
<p>It is probably a good idea to enable <em>Show keywords in message
|
|
|
header</em> in the display settings.</p>
|
|
|
<p>Note that the email server needs to support IMAP flags (keywords) for
|
|
|
this feature.</p>
|
|
|
<p>Rules will be applied to the received receipt, so it is possible to
|
|
|
move/archive the receipt. See <a href="#faq71">this FAQ</a> for a header
|
|
|
condition to recognize receipts.</p>
|
|
|
<p><br /></p>
|
|
|
<p><em>Block toolbar (version 1.1967+)</em></p>
|
|
|
<p>When enabled in the three-dots overflow menu of the message editor, a
|
|
|
toolbar to perform operations (align text, insert list, indent text,
|
|
|
insert blockquote) on a block of text (consecutive non-empty lines) will
|
|
|
be shown.</p>
|
|
|
<p><br /></p>
|
|
|
<p><em>Edit subject (1.2046+)</em></p>
|
|
|
<p>The subject of a received message can be edited, also on the email
|
|
|
server, via the horizontal three-dots button just above the message text
|
|
|
near the left side of the screen.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq126"></a> <strong>(126) Can message previews be sent to
|
|
|
my smartwatch?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq126">Google
|
|
|
Translate</a></p>
|
|
|
<p>FairEmail fetches a message in two steps:</p>
|
|
|
<ol type="1">
|
|
|
<li>Fetch message headers</li>
|
|
|
<li>Fetch message text and attachments</li>
|
|
|
</ol>
|
|
|
<p>Directly after the first step new messages will be notified. However,
|
|
|
only until after the second step the message text will be available.
|
|
|
FairEmail updates existing notifications with a preview of the message
|
|
|
text, but unfortunately smartwatch notifications cannot be updated.</p>
|
|
|
<p>Since there is no guarantee that a message text will always be
|
|
|
fetched directly after a message header, it is not possible to guarantee
|
|
|
that a new message notification with a preview text will always be sent
|
|
|
to a smartwatch.</p>
|
|
|
<p>If you think this is good enough, you can enable the notification
|
|
|
option <em>Only send notifications with a message preview to
|
|
|
smartwatches</em> and if this does not work, you can try to enable the
|
|
|
notification option <em>Show notifications with a preview text
|
|
|
only</em>. Note that this applies to smartwatches not showing a preview
|
|
|
text too, even when the Android Wear app says the notification has been
|
|
|
sent (bridged).</p>
|
|
|
<p>If you want to have the full message text sent to your smartwatch,
|
|
|
you can enable the notification option <em>Preview all text</em>. Note
|
|
|
that some smartwatches are known to crash with this option enabled.</p>
|
|
|
<p>If you use a Samsung smartwatch with the Galaxy smartwatch (Samsung
|
|
|
Gear) app, you might need to enable notifications for FairEmail when the
|
|
|
setting <em>Notifications</em>, <em>Apps installed in the future</em> is
|
|
|
turned off in this app.</p>
|
|
|
<p>Some companion apps ignore <a
|
|
|
href="https://developer.android.com/training/wearables/notifications/bridger#non-bridged">local
|
|
|
only</a> notifications, causing the summary notification (<em>nnn new
|
|
|
messages</em>) to be bridged. Unfortunately, it is not possible to
|
|
|
workaround this problem.</p>
|
|
|
<p>Some smartwatches do not display notifications with non-<a
|
|
|
href="https://en.wikipedia.org/wiki/ASCII">ASCII</a> characters, in
|
|
|
which can you can enable the option <em>ASCII text only</em> in the
|
|
|
display settings tab page.</p>
|
|
|
<p>Ongoing notifications shouldn’t be bridged, but some companion apps
|
|
|
bridge all notifications. This results in the “monitoring” status bar
|
|
|
notification to be bridged. The workaround is to disable this
|
|
|
notification, see <a href="#faq2">this FAQ</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq127"></a> <strong>(127) How can I fix ‘Syntactically
|
|
|
invalid HELO argument(s)’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq127">Google
|
|
|
Translate</a></p>
|
|
|
<p>The error <em>… Syntactically invalid HELO argument(s) …</em> means
|
|
|
that the SMTP server rejected the local IP address or host name. You can
|
|
|
likely fix this error by enabling or disabling the advanced indentity
|
|
|
option <em>Use local IP address instead of host name</em>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq128"></a> <strong>(128) How can I reset asked questions,
|
|
|
for example to show images?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq128">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can reset asked questions via the three dots overflow menu in the
|
|
|
miscellaneous settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq129"></a> <strong>(129) Are ProtonMail, Tutanota, etc
|
|
|
supported?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq129">Google
|
|
|
Translate</a></p>
|
|
|
<p><strong>ProtonMail</strong> uses a proprietary email protocol and <a
|
|
|
href="https://protonmail.com/support/knowledge-base/imap-smtp-and-pop3-setup/">does
|
|
|
not directly support IMAP</a>, so you cannot use FairEmail or any other
|
|
|
Android email client to access ProtonMail.</p>
|
|
|
<p><strong>Tutanota</strong> uses a proprietary email protocol and <a
|
|
|
href="https://tutanota.com/faq/#imap">does not support IMAP</a>, so you
|
|
|
cannot use FairEmail or any other email client to access Tutanota.</p>
|
|
|
<p><strong>Cyberfear</strong> does not support IMAP, so you’ll need to
|
|
|
manually configure a POP3 account.</p>
|
|
|
<p><strong>Skiff</strong> uses a proprietary email protocol and <a
|
|
|
href="https://www.skiff.com/blog/tutanota-alternatives-comparison">does
|
|
|
not support IMAP</a> so you cannot use FairEmail or any other email
|
|
|
client to access Skiff.</p>
|
|
|
<p><strong>Tildamail</strong> uses a proprietary email protocol and does
|
|
|
not support IMAP, so you cannot use FairEmail or any other email client
|
|
|
to access Tildamail.</p>
|
|
|
<p><strong>Criptext</strong> uses a proprietary email protocol and <a
|
|
|
href="https://www.reddit.com/r/privacy/comments/chs82k/comment/ewrxxcn/">does
|
|
|
not directly support IMAP</a>, so you cannot use FairEmail or any other
|
|
|
email email client to access Criptext.</p>
|
|
|
<p><strong>OnMail</strong> uses a proprietary email protocol and <a
|
|
|
href="https://support.onmail.com/hc/en-us/articles/360048879012-How-do-I-connect-my-OnMail-address-to-a-third-party-email-app-">does
|
|
|
not support IMAP</a>, so you cannot use FairEmail or any other email
|
|
|
client to access OnMail, except for one (but please read the privacy
|
|
|
policy carefully).</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq130"></a> <strong>(130) What does message error …
|
|
|
mean?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq130">Google
|
|
|
Translate</a></p>
|
|
|
<p>If you don’t understand an error, please <a
|
|
|
href="https://contact.faircode.eu/?product=fairemailsupport">contact
|
|
|
me</a> for support.</p>
|
|
|
<p>The warning <em>No server found at …</em> means that there was no
|
|
|
email server registered at the indicated domain name. Replying to the
|
|
|
message might not be possible and might result in an error. This could
|
|
|
indicate a falsified email address and/or spam.</p>
|
|
|
<p>The error <em>… ParseException …</em> means that there is a problem
|
|
|
with a received message, likely caused by a bug in the sending software.
|
|
|
FairEmail will workaround this is in most cases, so this message can
|
|
|
mostly be considered as a warning instead of an error.</p>
|
|
|
<p>The error <em>…SendFailedException…</em> means that there was a
|
|
|
problem while sending a message. The error will almost always include a
|
|
|
reason. Common reasons are that the message was too big or that one or
|
|
|
more recipient addresses were invalid.</p>
|
|
|
<p>The warning <em>Message too large to fit into the available
|
|
|
memory</em> means that the message was larger than 10 MiB. Even if your
|
|
|
device has plenty of storage space Android provides limited working
|
|
|
memory to apps, which limits the size of messages that can be
|
|
|
handled.</p>
|
|
|
<p>Please see <a href="#faq22">here</a> for other error messages.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq131"></a> <strong>(131) Can you change the direction for
|
|
|
swiping to previous/next message?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq131">Google
|
|
|
Translate</a></p>
|
|
|
<p>If you read from left to right, swiping to the left will show the
|
|
|
next message. Similarly, if you read from right to left, swiping to the
|
|
|
right will show the next message.</p>
|
|
|
<p>This behavior seems quite natural to me, also because it is similar
|
|
|
to turning pages.</p>
|
|
|
<p>Anyway, there is a behavior setting to reverse the swipe
|
|
|
direction.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq132"></a> <strong>(132) Why are new message notifications
|
|
|
silent?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq132">Google
|
|
|
Translate</a></p>
|
|
|
<p>Notifications are silent by default on some MIUI versions. Please see
|
|
|
<a href="http://en.miui.com/thread-3930694-1-1.html">here</a> how you
|
|
|
can fix this.</p>
|
|
|
<p>There is a bug in some Android versions causing <a
|
|
|
href="https://developer.android.com/reference/android/app/Notification.Builder#setOnlyAlertOnce(boolean)">setOnlyAlertOnce</a>
|
|
|
to mute notifications. Since FairEmail shows new message notifications
|
|
|
right after fetching the message headers and FairEmail needs to update
|
|
|
new message notifications after fetching the message text later, this
|
|
|
cannot be fixed or worked around by FairEmail.</p>
|
|
|
<p>Android might rate limit the notification sound, which can cause some
|
|
|
new message notifications to be silent.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq133"></a> <strong>(133) Why is ActiveSync ™ not
|
|
|
supported?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq133">Google
|
|
|
Translate</a></p>
|
|
|
<p>The Microsoft Exchange ActiveSync ™ protocol <a
|
|
|
href="https://en.wikipedia.org/wiki/Exchange_ActiveSync#Licensing">is
|
|
|
patented</a> and Microsoft doesn’t give out licenses anymore. Therefore,
|
|
|
it isn’t possible to support ActiveSync ™ anymore. For this same reason,
|
|
|
you won’t find many, if any, other email clients supporting ActiveSync
|
|
|
™.</p>
|
|
|
<p>Note that the desciption of FairEmail starts with the remark that
|
|
|
non-standard protocols, like Microsoft Exchange Web Services ™ and
|
|
|
Microsoft ActiveSync ™ are not supported.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq134"></a> <strong>(134) Can you add leave messages on the
|
|
|
server?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq134">Google
|
|
|
Translate</a></p>
|
|
|
<p><em>POP3</em></p>
|
|
|
<p>In the account settings (Settings, tap Manual setup, tap Accounts,
|
|
|
tap account) you can enable <em>Leave messages on server</em> and
|
|
|
<em>Leave deleted messages on server</em>.</p>
|
|
|
<p><em>IMAP</em></p>
|
|
|
<p>Since the IMAP protocol is meant to synchronize two ways, from server
|
|
|
to client and from client to server, trashing (=move to trash) and
|
|
|
(permanently) deleting messages will be performed on the email server
|
|
|
too, so that the message list is the same for all connected clients.
|
|
|
Deleting a message from the device only won’t work because it would be
|
|
|
synchronized again later.</p>
|
|
|
<p>Some email apps pretend they can do this, but, in fact, messages are
|
|
|
hidden on the device. FairEmail can do this too, but in a more explicit
|
|
|
way, also allowing you to show the messages again.</p>
|
|
|
<p>You can hide messages either via the three-dots menu in the action
|
|
|
bar just above the message text (you can configure a button for this via
|
|
|
the same menu) or by multiple selecting messages in the message
|
|
|
list.</p>
|
|
|
<p>Alternatively, you can disable AUTO EXPUNGE, which will result in
|
|
|
marking messages being deleted on the server (by setting the
|
|
|
<em>deleted</em> flag), but not expunging (deleting) them. You can find
|
|
|
this option in the debug panel, which can be shown by (temporarily)
|
|
|
enabling debug mode in the miscellaneous settings.</p>
|
|
|
<p>Note that it is possible to set the swipe left or right action to
|
|
|
hide a message. There is a button in the behavior settings to quickly
|
|
|
configure the swipe left and right actions for all IMAP accounts.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq135"></a> <strong>(135) Why are trashed messages and
|
|
|
drafts shown in conversations?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq135">Google
|
|
|
Translate</a></p>
|
|
|
<p>Individual messages will rarely be trashed and mostly this happens by
|
|
|
accident. Showing trashed messages in conversations makes it easier to
|
|
|
find them back.</p>
|
|
|
<p>You can permanently delete a message using the message three-dots
|
|
|
<em>delete</em> menu, which will remove the message from the
|
|
|
conversation. Note that this is irreversible.</p>
|
|
|
<p>Similarly, drafts are shown in conversations to find them back in the
|
|
|
context where they belong. It is easy to read through the received
|
|
|
messages before continuing to write the draft later.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq136"></a> <strong>(136) How can I delete an
|
|
|
account/identity/folder?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq136">Google
|
|
|
Translate</a></p>
|
|
|
<p>Deleting an account/identity/folder is a little bit hidden to prevent
|
|
|
accidents.</p>
|
|
|
<ul>
|
|
|
<li>Account: Settings > Manual setup > Accounts > tap
|
|
|
account</li>
|
|
|
<li>Identity: Settings > Manual setup > Identities > tap
|
|
|
identity</li>
|
|
|
<li>Folder: Long press the folder in the folder list > Edit
|
|
|
properties</li>
|
|
|
</ul>
|
|
|
<p>In the three-dots overflow menu at the top right there is an item to
|
|
|
delete the account/identity/folder.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq137"></a> <strong>(137) How can I reset ‘Don’t ask
|
|
|
again’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq137">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can reset all questions set to be not asked again in the
|
|
|
miscellaneous settings.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq138"></a> <strong>(138) Can you add
|
|
|
calendar/contact/tasks/notes management?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq138">Google
|
|
|
Translate</a></p>
|
|
|
<p>Calendar, contact, task and note management can better be done by a
|
|
|
separate, specialized app. Note that FairEmail is a specialized email
|
|
|
app, not an office suite.</p>
|
|
|
<p>Also, I prefer to do a few things very well, instead of many things
|
|
|
only half. Moreover, from a security perspective, it is not a good idea
|
|
|
to grant many permissions to a single app.</p>
|
|
|
<p>You are advised to use the excellent, open source <a
|
|
|
href="https://f-droid.org/packages/at.bitfire.davdroid/">DAVx⁵</a> app
|
|
|
to synchronize/manage your calendars/contacts.</p>
|
|
|
<p>If you want to synchronize Outlook contacts and you have access to
|
|
|
Google Workspace, please <a
|
|
|
href="https://support.google.com/a/users/answer/156595">see here</a>
|
|
|
about how you can set up contact syncing.</p>
|
|
|
<p>Most providers support exporting your contacts. Please <a
|
|
|
href="https://support.google.com/contacts/answer/1069522">see here</a>
|
|
|
about how you can import contacts if synchronizing is not possible.</p>
|
|
|
<p>Note that FairEmail does support replying to calendar invites (a pro
|
|
|
feature) and adding calendar invites to your personal calendar.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq83"></a> <a name="faq139"></a> <strong>(139) How do I fix
|
|
|
‘User is authenticated but not connected’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq139">Google
|
|
|
Translate</a></p>
|
|
|
<p>The confusing Microsoft specific server error <em>User is
|
|
|
authenticated but not connected</em> might occur if:</p>
|
|
|
<ul>
|
|
|
<li>External access is administratively disabled, please see <a
|
|
|
href="https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/client-access-rules/client-access-rules">this
|
|
|
article</a> about how an administrator can enable it again</li>
|
|
|
<li>SMTP is administratively disabled, please see <a
|
|
|
href="https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission">this
|
|
|
article</a> about how an administrator can enable it again</li>
|
|
|
<li>Required server components are disabled, please see <a
|
|
|
href="https://learn.microsoft.com/en-us/exchange/troubleshoot/user-and-shared-mailboxes/pop3-imap-owa-activesync-office-365">this
|
|
|
article</a> about enabling IMAP, MAPI, etc.</li>
|
|
|
<li>Push messages are enabled for too many folders: see <a
|
|
|
href="#faq23">this FAQ</a> for more information and a workaround</li>
|
|
|
<li>There were too many login attempts in a too short time, for example
|
|
|
by using multiple email clients at the same time</li>
|
|
|
<li>The wrong account was selected in the Microsoft account selector,
|
|
|
for example an account with a different email address or a personal
|
|
|
instead of a business account</li>
|
|
|
<li>An ad blocker or DNS changer is being used</li>
|
|
|
<li>Devices in another time zone are connected to the same account</li>
|
|
|
<li>A security policy is blocking the login, for example because only
|
|
|
specific network connections are allowed</li>
|
|
|
<li>There is a problem with the Exchange server license: it might be
|
|
|
expired or for another server edition</li>
|
|
|
<li>An alias email address is being used as username instead of the
|
|
|
primary email address</li>
|
|
|
<li>An incorrect login scheme is being used for a shared mailbox: the
|
|
|
right scheme is *username@domain</li>
|
|
|
</ul>
|
|
|
<p>The shared mailbox alias will mostly be the email address of the
|
|
|
shared account, like this:</p>
|
|
|
<pre><code>you@example.com\shared@example.com</code></pre>
|
|
|
<p>Note that it should be a backslash and not a forward slash.</p>
|
|
|
<p>The Outlook/Office 365 quick setup wizard supports setting up shared
|
|
|
mailboxes.</p>
|
|
|
<p>When using a shared mailbox, you might want to enable the option
|
|
|
<em>Synchronize shared folder lists</em> in the receive settings.</p>
|
|
|
<p>Sometimes it helps to use the <em>Other provider</em> wizard instead
|
|
|
of the <em>Outlook/Office 365</em> wizard. You might need an app
|
|
|
password for this, please see <a href="#faq14">this FAQ</a>.</p>
|
|
|
<p>Background: this error happens if logging in to an account succeeded
|
|
|
(with OAuth), but logging in to the email (IMAP/SMTP) server fails for
|
|
|
some reason.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq140"></a> <strong>(140) Why does the message text contain
|
|
|
strange characters?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq140">Google
|
|
|
Translate</a></p>
|
|
|
<p>Displaying strange characters is almost always caused by specifying
|
|
|
no or an invalid character encoding by the sending software. FairEmail
|
|
|
will assume <a href="https://en.wikipedia.org/wiki/ISO/IEC_8859-1">ISO
|
|
|
8859-1</a> when no character set or when <a
|
|
|
href="https://en.wikipedia.org/wiki/ASCII">US-ASCII</a> was specified.
|
|
|
Other than that there is no way to reliably determine the correct
|
|
|
character encoding automatically, so this cannot be fixed by FairEmail.
|
|
|
The right action is to complain to the sender.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq141"></a> <strong>(141) How can I fix ‘A drafts folder is
|
|
|
required to send messages’?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq141">Google
|
|
|
Translate</a></p>
|
|
|
<p>To store draft messages a drafts folder is required. In most cases
|
|
|
FairEmail will automatically select the drafts folders on adding an
|
|
|
account based on <a
|
|
|
href="https://www.iana.org/assignments/imap-mailbox-name-attributes/imap-mailbox-name-attributes.xhtml">the
|
|
|
attributes</a> the email server sends. However, some email servers are
|
|
|
not configured properly and do not send these attributes. In this case
|
|
|
FairEmail tries to identify the drafts folder by name, but this might
|
|
|
fail if the drafts folder has an unusual name or is not present at
|
|
|
all.</p>
|
|
|
<p>You can fix this problem by manually selecting the drafts folder in
|
|
|
the account settings (Settings, tap Manual setup, tap Accounts, tap
|
|
|
account, at the bottom). If there is no drafts folder at all, you can
|
|
|
create a drafts folder by tapping on the ‘+’ button in the folder list
|
|
|
of the account (tap on the account name in the navigation menu).</p>
|
|
|
<p>Some providers, like Gmail, allow enabling/disabling IMAP for
|
|
|
individual folders. So, if a folder is not visible, you might need to
|
|
|
enable IMAP for the folder.</p>
|
|
|
<p>Quick link for Gmail (will work on a desktop computer only): <a
|
|
|
href="https://mail.google.com/mail/u/0/#settings/labels">https://mail.google.com/mail/u/0/#settings/labels</a></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq142"></a> <strong>(142) How can I store sent messages in
|
|
|
the inbox?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq142">Google
|
|
|
Translate</a></p>
|
|
|
<p>Generally, it is not a good idea to store sent messages in the inbox
|
|
|
because this is hard to undo and could be incompatible with other email
|
|
|
clients.</p>
|
|
|
<p>That said, FairEmail is able to properly handle sent messages in the
|
|
|
inbox. FairEmail will mark outgoing messages with a sent messages icon
|
|
|
for example.</p>
|
|
|
<p>The best solution would be to enable showing the sent folder in the
|
|
|
unified inbox by long pressing the sent folder in the folder list and
|
|
|
enabling <em>Show in unified inbox</em>. This way all messages can stay
|
|
|
where they belong, while allowing to see both incoming and outgoing
|
|
|
messages at one place.</p>
|
|
|
<p>If this is not an option, you can <a href="#faq71">create a rule</a>
|
|
|
to automatically move sent messages to the inbox or set a default CC or
|
|
|
BCC address in the advanced identity settings (via the manual setup in
|
|
|
the main setup screen) to send yourself a copy.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq143"></a> <strong><del>(143) Can you add a trash folder
|
|
|
for POP3 accounts?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq143">Google
|
|
|
Translate</a></p>
|
|
|
<p><a href="https://en.wikipedia.org/wiki/Post_Office_Protocol">POP3</a>
|
|
|
is a very limited protocol. Basically only messages can be downloaded
|
|
|
and deleted from the inbox. It is not even possible to mark a message
|
|
|
read.</p>
|
|
|
<p>Since POP3 does not allow access to the trash folder at all, there is
|
|
|
no way to restore trashed messages.</p>
|
|
|
<p>Note that you can hide messages and search for hidden messages, which
|
|
|
is similar to a local trash folder, without suggesting that trashed
|
|
|
messages can be restored, while this is actually not possible.</p>
|
|
|
<p>Version 1.1082 added a local trash folder. Note that trashing a
|
|
|
message will permanently remove it from the server and that trashed
|
|
|
messages cannot be restored to the server anymore.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq144"></a> <strong>(144) How can I record voice
|
|
|
notes?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq144">Google
|
|
|
Translate</a></p>
|
|
|
<p>To record voice notes you can press this icon in the bottom action
|
|
|
bar of the message composer:</p>
|
|
|
<p><img src="https://github.com/M66B/FairEmail/blob/master/images/baseline_record_voice_over_black_48dp.png" width="48" height="48" /></p>
|
|
|
<p>This requires a compatible audio recorder app to be installed. In
|
|
|
particular <a
|
|
|
href="https://developer.android.com/reference/android/provider/MediaStore.Audio.Media.html#RECORD_SOUND_ACTION">this
|
|
|
common intent</a> needs to be supported.</p>
|
|
|
<p>For example <a
|
|
|
href="https://f-droid.org/app/com.github.axet.audiorecorder">this audio
|
|
|
recorder</a> is compatible.</p>
|
|
|
<p>Voice notes will automatically be attached.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq145"></a> <strong>(145) How can I set a notification
|
|
|
sound for an account, folder, sender or condition?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq145">Google
|
|
|
Translate</a></p>
|
|
|
<p>Account:</p>
|
|
|
<ul>
|
|
|
<li><del>Version 1.1927-: enable <em>Separate notifications</em> in the
|
|
|
advanced account settings</del></li>
|
|
|
<li>Version 1.1927+: long press the account in the account list and
|
|
|
select <em>Create notification channel</em></li>
|
|
|
<li>Long press the account in the account list and select <em>Edit
|
|
|
notification channel</em> to change the notification sound</li>
|
|
|
</ul>
|
|
|
<p>To go to the account list: navigation menu (left side menu), tap
|
|
|
<em>Settings</em>, tap <em>Manual setup and account options</em> and tap
|
|
|
<em>Accounts</em>.<br> To go to the advanced account settings from the
|
|
|
account list: tap on the account and tap on <em>Advanced</em>.</p>
|
|
|
<p>Folder:</p>
|
|
|
<ul>
|
|
|
<li>Long press the folder in the folder list and select <em>Notify on
|
|
|
new messages</em></li>
|
|
|
<li>Long press the folder in the folder list and select <em>Create
|
|
|
notification channel</em></li>
|
|
|
<li>Long press the folder in the folder list and select <em>Edit
|
|
|
notification channel</em> to change the notification sound</li>
|
|
|
</ul>
|
|
|
<p>To go to the folder list: tap on the account name in the navigation
|
|
|
menu (left side menu).</p>
|
|
|
<p>Sender:</p>
|
|
|
<ul>
|
|
|
<li>Open a message from the sender and expand it</li>
|
|
|
<li>Expand the addresses section by tapping on the down arrow</li>
|
|
|
<li>Tap on the bell icon to create or edit a notification channel and to
|
|
|
change the notification sound</li>
|
|
|
</ul>
|
|
|
<p>Conditional: (since version 1.1803; experimental)</p>
|
|
|
<ul>
|
|
|
<li>Long press the folder (inbox) in the folder list and select <em>Edit
|
|
|
rules</em></li>
|
|
|
<li>Add a rule with the big ‘plus’ button at the bottom right</li>
|
|
|
<li>Configure a rule condition, select <em>Play sound</em> as rule
|
|
|
action and select a sound</li>
|
|
|
<li>For more information about rules, please <a href="#faq71">see
|
|
|
here</a></li>
|
|
|
</ul>
|
|
|
<p>The order of precendence is: conditional sound, sender sound, folder
|
|
|
sound, account sound and (default) notification sound.</p>
|
|
|
<p>Setting a notification sound for an account, folder or sender
|
|
|
requires Android 8 Oreo or later and is a pro feature.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq146"></a> <strong>(146) How can I fix incorrect message
|
|
|
times?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq146">Google
|
|
|
Translate</a></p>
|
|
|
<p>Since the sent date/time is optional and can be manipulated by the
|
|
|
sender, FairEmail uses the server received date/time by default.</p>
|
|
|
<p>Sometimes the server received date/time is incorrect, mostly because
|
|
|
messages were incorrectly imported from another server and sometimes due
|
|
|
to a bug in the email server.</p>
|
|
|
<p>In these rare cases, it is possible to let FairEmail use either the
|
|
|
date/time from the <em>Date</em> header (sent time) or from the
|
|
|
<em>Received</em> header as a workaround. This can be changed in the
|
|
|
advanced account settings: go to the Settings, tap <em>Manual setup and
|
|
|
account options</em>, tap <em>Accounts</em>, tap the account, tap
|
|
|
<em>Advanced</em>.</p>
|
|
|
<p>This will not change the time of already synchronized messages. To
|
|
|
solve this, long press the folder(s) in the folder list and select
|
|
|
<em>Delete local messages</em> and <em>Synchronize now</em>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq147"></a> <strong>(147) What should I know about third
|
|
|
party versions?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq147">Google
|
|
|
Translate</a></p>
|
|
|
<p>You likely came here because you are using a third party build of
|
|
|
FairEmail.</p>
|
|
|
<p>There is <strong>only support</strong> on the latest Play store
|
|
|
version, the latest GitHub release and the F-Droid build, but
|
|
|
<strong>only if</strong> the version number of the F-Droid build is the
|
|
|
same as the version number of the latest GitHub release.</p>
|
|
|
<p>F-Droid builds irregularly, which can be problematic when there is an
|
|
|
important update. Therefore you are advised to switch to the GitHub
|
|
|
release.</p>
|
|
|
<p>Note that developers have no control over F-Droid builds and the
|
|
|
F-Droid infrastructure (apps, forums, etc.).</p>
|
|
|
<p>OAuth access is available only for Play Store and Github releases
|
|
|
because email providers permitted the use of OAuth for these releases
|
|
|
only. The responsible for a release, for the F-Droid build this is the
|
|
|
F-Droid organization, needs to ask for OAuth permissions, which mostly
|
|
|
involves signing a contract with binding terms and conditions.</p>
|
|
|
<p>Note that you’ll need to uninstall the F-Droid build first before you
|
|
|
can install a GitHub release because Android refuses to install
|
|
|
(“<em>App was not installed</em>”) the same app with a different
|
|
|
signature for security reasons.</p>
|
|
|
<p>At the start of 2024, the Play Store app started to update all apps,
|
|
|
including apps not installed via the Play Store. Since the F-Droid build
|
|
|
is signed by the F-Droid organization, which basically means the F-Droid
|
|
|
build is another app, updating the F-Droid build will fail.
|
|
|
Unfortunately, there is no way to resolve this.</p>
|
|
|
<p>Note that the GitHub version will automatically check for updates.
|
|
|
When desired, this can be turned off in the miscellaneous settings.</p>
|
|
|
<p>Please <a
|
|
|
href="https://github.com/M66B/FairEmail/blob/master/README.md#downloads">see
|
|
|
here</a> for all download option and <a href="#faq173">see here</a> for
|
|
|
the differences between the different release types.</p>
|
|
|
<p>If you have a problem with the F-Droid build, please check if there
|
|
|
is a newer GitHub version first.</p>
|
|
|
<p>You can see the source of the app in <em>About</em> of the navigation
|
|
|
menu (left side menu), either <em>Play store</em>, <em>GitHub</em>,
|
|
|
<em>F-Droid</em>, or <em>?</em> (for example in the case of a custom
|
|
|
build).</p>
|
|
|
<p><a href="https://apt.izzysoft.de/fdroid/">IzzyOnDroid</a> hosts the
|
|
|
GitHub release of the app. <a
|
|
|
href="https://f-droid.org/packages/com.aurora.store/">Aurora Store</a>
|
|
|
hosts the Play store version of the app, even though the Aurora Store
|
|
|
app was downloaded from F-Droid.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq148"></a> <strong>(148) How can I use an Apple iCloud
|
|
|
account?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq148">Google
|
|
|
Translate</a></p>
|
|
|
<p>There is a built-in profile for Apple iCloud, so you should be able
|
|
|
to use the quick setup wizard (other provider). If needed you can find
|
|
|
the right settings <a
|
|
|
href="https://support.apple.com/en-us/HT202304">here</a> to manually set
|
|
|
up an account.</p>
|
|
|
<p>When using two-factor authentication you might need to use an <a
|
|
|
href="https://support.apple.com/en-us/HT204397">app-specific
|
|
|
password</a>.</p>
|
|
|
<p>Please make sure you use the main email address and not an alias
|
|
|
address. It is not possible to authenticate an iCloud account with an
|
|
|
alias address. If you want to create an alias address, first configure
|
|
|
the main account, and after that see <a href="#faq9">this FAQ</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq149"></a> <strong>(149) How does the unread message count
|
|
|
widget work?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq149">Google
|
|
|
Translate</a></p>
|
|
|
<p>The unread message count widget shows the number of unread messages
|
|
|
either for all accounts or for a selected account, but only for the
|
|
|
folders for which new message notifications are enabled.</p>
|
|
|
<p>Tapping on the notification will synchronize all folders for which
|
|
|
synchronization is enabled and will open:</p>
|
|
|
<ul>
|
|
|
<li>the start screen when all accounts were selected</li>
|
|
|
<li>a folder list when a specific account was selected and when new
|
|
|
message notifications are enabled for multiple folders</li>
|
|
|
<li>a list of messages when a specific account was selected and when new
|
|
|
message notifications are enabled for one folder</li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq150"></a> <strong>(150) Can you add cancelling calendar
|
|
|
invites?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq150">Google
|
|
|
Translate</a></p>
|
|
|
<p>Cancelling calendar invites (removing calendar events) requires write
|
|
|
calendar permission, which will result in effectively granting
|
|
|
permission to read and write <em>all</em> calendar events of
|
|
|
<em>all</em> calendars.</p>
|
|
|
<p>Given the goal of FairEmail, privacy and security, and given that it
|
|
|
is easy to remove a calendar event manually, it is not a good idea to
|
|
|
request this permission for just this reason.</p>
|
|
|
<p>Inserting new calendar events can be done without permissions with
|
|
|
special <a
|
|
|
href="https://developer.android.com/guide/topics/providers/calendar-provider.html#intents">intents</a>.
|
|
|
Unfortunately, there exists no intent to delete existing calendar
|
|
|
events.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq151"></a> <strong>(151) Can you add backup/restore of
|
|
|
messages?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq151">Google
|
|
|
Translate</a></p>
|
|
|
<p>An email client is meant to read and write messages, not to back up
|
|
|
and restore messages. In other words, an email client is a viewer for
|
|
|
messages on an email server, and not a backup tool. Instead, the email
|
|
|
provider/server is responsible for backups.</p>
|
|
|
<p>If you want to make a backup yourself, you could use a tool like <a
|
|
|
href="https://imapsync.lamiral.info/">imapsync</a>.</p>
|
|
|
<p>Since version 1.1556 it is possible to export all messages of a POP3
|
|
|
folder in mbox format according to <a
|
|
|
href="https://www.ietf.org/rfc/rfc4155.txt">RFC4155</a>, which might be
|
|
|
useful to backup sent messages if the email server doesn’t (which is
|
|
|
risky because breaking or losing your device, means losing your sent
|
|
|
messages!). For this, please long press on the folder in the folder list
|
|
|
of an account (tap on the account name in the navigation menu).</p>
|
|
|
<p>If you want to import an mbox file into an existing email account,
|
|
|
you can use Thunderbird on a desktop computer and the <a
|
|
|
href="https://addons.thunderbird.net/de/thunderbird/addon/importexporttools-ng/">ImportExportTools
|
|
|
NG</a> add-on.</p>
|
|
|
<p>Note that in case of IMAP, all messages on your device are also on
|
|
|
the email server.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq152"></a> <strong>(152) How can I insert a contact
|
|
|
group?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq152">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can insert the email addresses of all contacts in a contact group
|
|
|
via the three dots menu of the message composer. You can also long press
|
|
|
the person-add icon at the end of the to/cc/bcc/field.</p>
|
|
|
<p>You can define contact groups with the Android contacts app, please
|
|
|
see <a href="https://support.google.com/contacts/answer/30970">here</a>
|
|
|
for instructions.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq153"></a> <strong>(153) Why does permanently deleting
|
|
|
Gmail message not work?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq153">Google
|
|
|
Translate</a></p>
|
|
|
<p>You might need to change <a
|
|
|
href="https://mail.google.com/mail/u/0/#settings/fwdandpop">the Gmail
|
|
|
IMAP settings</a> on a desktop browser to make it work:</p>
|
|
|
<ul>
|
|
|
<li>When I mark a message in IMAP as deleted: Auto-Expunge off - Wait
|
|
|
for the client to update the server.</li>
|
|
|
<li>When a message is marked as deleted and expunged from the last
|
|
|
visible IMAP folder: Immediately delete the message forever</li>
|
|
|
</ul>
|
|
|
<p><img alt="External image" src="https://github.com/M66B/FairEmail/blob/master/images/Gmail_IMAP_delete_settings.png" width="600" height="333" /></p>
|
|
|
<p>Note that archived messages can be deleted only by moving them to the
|
|
|
trash folder first.</p>
|
|
|
<p>Some background: Gmail seems to have an additional message view for
|
|
|
IMAP, which can be different from the main message view.</p>
|
|
|
<p>Another oddity is that a star (favorite message) set via the web
|
|
|
interface cannot be removed with the IMAP command</p>
|
|
|
<pre><code>STORE <message number> -FLAGS (\Flagged)</code></pre>
|
|
|
<p>On the other hand, a star set via IMAP is being shown in the web
|
|
|
interface and can be removed via IMAP.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq154"></a> <strong><del>(154) Can you add favicons as
|
|
|
contact photos?</del></strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq154">Google
|
|
|
Translate</a></p>
|
|
|
<p><del>Besides that a <a
|
|
|
href="https://en.wikipedia.org/wiki/Favicon">favicon</a> might be shared
|
|
|
by many email addresses with the same domain name</del> <del>and
|
|
|
therefore is not directly related to an email address, favicons can be
|
|
|
used to track you.</del></p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq155"></a> <strong>(155) What is a winmail.dat
|
|
|
file?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq155">Google
|
|
|
Translate</a></p>
|
|
|
<p>A <em>winmail.dat</em> file is sent by an incorrectly configured
|
|
|
Outlook client. It is a Microsoft specific file format (<a
|
|
|
href="https://en.wikipedia.org/wiki/Transport_Neutral_Encapsulation_Format">TNEF</a>)
|
|
|
containing a message and possibly attachments.</p>
|
|
|
<p>You can find some more information about this file <a
|
|
|
href="https://support.mozilla.org/en-US/kb/what-winmaildat-attachment">here</a>.</p>
|
|
|
<p>FairEmail has limited support for this file type.</p>
|
|
|
<p>You can view it with for example the Android app <a
|
|
|
href="https://play.google.com/store/apps/details?id=app.letteropener">Letter
|
|
|
Opener</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq156"></a> <strong>(156) How can I set up an Office 365
|
|
|
account?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq156">Google
|
|
|
Translate</a></p>
|
|
|
<p>An Office 365 account can be set up via the quick setup wizard and
|
|
|
selecting <em>Office 365 (OAuth)</em>.</p>
|
|
|
<p>If the wizard ends with <em>AUTHENTICATE failed</em>, IMAP and/or
|
|
|
SMTP might be disabled for the account. In this case you should ask the
|
|
|
administrator to enable IMAP and SMTP. The procedure is documented <a
|
|
|
href="https://docs.microsoft.com/en-in/exchange/troubleshoot/configure-mailboxes/pop3-imap-owa-activesync-office-365">here</a>.</p>
|
|
|
<p>If you’ve enabled <em>security defaults</em> in your organization,
|
|
|
you might need to enable the SMTP AUTH protocol. Please <a
|
|
|
href="https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission">see
|
|
|
here</a> about how to.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq157"></a> <strong>(157) How can I set up an Free.fr
|
|
|
account?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq157">Google
|
|
|
Translate</a></p>
|
|
|
<p>Veuillez <a href="https://free.fr/assistance/597.html">voir ici</a>
|
|
|
pour les instructions.</p>
|
|
|
<p><strong>SMTP est désactivé par défaut</strong>, veuillez <a
|
|
|
href="https://free.fr/assistance/2406.html">voir ici</a> comment il peut
|
|
|
être activé.</p>
|
|
|
<p>Veuillez <a
|
|
|
href="http://jc.etiemble.free.fr/abc/index.php/trucs-astuces/configurer-smtp-free-fr">voir
|
|
|
ici</a> pour un guide détaillé.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq103"></a> <a name="faq158"></a> <strong>(158) Which
|
|
|
camera / audio recorder do you recommend?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq158">Google
|
|
|
Translate</a></p>
|
|
|
<p>To take photos and to record audio a camera and an audio recorder app
|
|
|
are needed. The following apps are open source cameras and audio
|
|
|
recorders:</p>
|
|
|
<ul>
|
|
|
<li><a
|
|
|
href="https://play.google.com/store/apps/details?id=net.sourceforge.opencamera">Open
|
|
|
Camera</a> (<a
|
|
|
href="https://f-droid.org/en/packages/net.sourceforge.opencamera/">F-Droid</a>)</li>
|
|
|
<li><a
|
|
|
href="https://play.google.com/store/apps/details?id=com.github.axet.audiorecorder">Audio
|
|
|
Recorder version 3.3.24+</a> (<a
|
|
|
href="https://f-droid.org/packages/com.github.axet.audiorecorder/">F-Droid</a>)</li>
|
|
|
</ul>
|
|
|
<p>To record voice notes, etc, the audio recorder needs to support <a
|
|
|
href="https://developer.android.com/reference/android/provider/MediaStore.Audio.Media#RECORD_SOUND_ACTION">MediaStore.Audio.Media.RECORD_SOUND_ACTION</a>.
|
|
|
Oddly, most audio recorders seem not to support this standard Android
|
|
|
action.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq159"></a> <strong>(159) What are Disconnect’s tracker
|
|
|
protection lists?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq159">Google
|
|
|
Translate</a></p>
|
|
|
<p>Please see <a href="https://disconnect.me/trackerprotection">here</a>
|
|
|
for more information about Disconnect’s tracker protection lists. For
|
|
|
the last updates, please <a
|
|
|
href="https://github.com/disconnectme/disconnect-tracking-protection/commits">see
|
|
|
here</a>.</p>
|
|
|
<p>After downloading the lists in the privacy settings, the lists can
|
|
|
optionally be used:</p>
|
|
|
<ul>
|
|
|
<li>to warn about tracking links on opening links</li>
|
|
|
<li>to recognize tracking images in messages</li>
|
|
|
</ul>
|
|
|
<p>Tracking images will be disabled only if the corresponding main
|
|
|
‘disable’ option is enabled.</p>
|
|
|
<p>Tracking images will not be recognized when the domain is classified
|
|
|
as ‘<em>Content</em>’, see <a
|
|
|
href="https://disconnect.me/trackerprotection#trackers-we-dont-block">here</a>
|
|
|
for more information.</p>
|
|
|
<p>This command can be sent to FairEmail from an automation app to
|
|
|
update the protection lists:</p>
|
|
|
<pre><code>(adb shell) am start-foreground-service -a eu.faircode.email.DISCONNECT.ME</code></pre>
|
|
|
<p>Updating once a week will probably be sufficient, please see <a
|
|
|
href="https://github.com/disconnectme/disconnect-tracking-protection/commits/master">here</a>
|
|
|
for recent lists changes.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq160"></a> <strong>(160) Can you add permanent deletion of
|
|
|
messages without confirmation?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq160">Google
|
|
|
Translate</a></p>
|
|
|
<p>Permanent deletion means that messages will <em>irreversibly</em> be
|
|
|
lost, and to prevent this from happening accidentally, this always needs
|
|
|
to be confirmed. Even with a confirmation, some very angry people who
|
|
|
lost some of their messages through their own fault contacted me, which
|
|
|
was a rather unpleasant experience :-(</p>
|
|
|
<p>Please <a
|
|
|
href="https://forum.xda-developers.com/t/app-5-0-fairemail-fully-featured-open-source-privacy-oriented-email-app.3824168/post-86984471">see
|
|
|
here</a> for more background information.</p>
|
|
|
<p>Since version 1.1601 it is possible to disable confirmation of
|
|
|
permanent deletion of individual messages after reading a big
|
|
|
warning.</p>
|
|
|
<p>Note that the POP3 protocol can download messages from the inbox
|
|
|
only. So, deleted messages cannot be uploaded to the inbox again. This
|
|
|
means that messages can only be permanently deleted in case of a POP3
|
|
|
account.</p>
|
|
|
<p>Advanced: the IMAP delete flag in combination with the EXPUNGE
|
|
|
command is not supportable because both email servers and not all people
|
|
|
can handle this, risking unexpected loss of messages. A complicating
|
|
|
factor is that not all email servers support <a
|
|
|
href="https://tools.ietf.org/html/rfc4315">UID EXPUNGE</a>.</p>
|
|
|
<p>Since version 1.1485 it is possible to temporarily enable debug mode
|
|
|
in the miscellaneous settings to disable auto expunging messages. Note
|
|
|
that messages with a *flag will not be shown if auto EXPUNGE is
|
|
|
enabled.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq161"></a> <strong>(161) Can you add a setting to change
|
|
|
the primary and accent color?</strong>*</p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq161">Google
|
|
|
Translate</a></p>
|
|
|
<p>If I could, I would add a setting to select the primary and accent
|
|
|
color right away, but unfortunately Android themes are fixed, see for
|
|
|
example <a href="https://stackoverflow.com/a/26511725/1794097">here</a>,
|
|
|
so this is not possible.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq162"></a> <strong>(162) Is IMAP NOTIFY
|
|
|
supported?</strong>*</p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq162">Google
|
|
|
Translate</a></p>
|
|
|
<p>Yes, <a href="https://tools.ietf.org/html/rfc5465">IMAP NOTIFY</a>
|
|
|
has been supported since version 1.1413.</p>
|
|
|
<p>IMAP NOTIFY support means that notifications for added, changed or
|
|
|
deleted messages of all <em>subscribed</em> folders will be requested
|
|
|
and if a notification is received for a subscribed folder, that the
|
|
|
folder will be synchronized. Synchronization for subscribed folders can
|
|
|
therefore be disable, saving folder connections to the email server.</p>
|
|
|
<p><strong>Important</strong>: push messages (=always sync) for the
|
|
|
inbox and subscription management (receive settings) need to be
|
|
|
enabled.</p>
|
|
|
<p><strong>Important</strong>: most email servers do not support this!
|
|
|
You can check the log via the navigation menu if an email server
|
|
|
supports the NOTIFY capability.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq163"></a> <strong>(163) What is message
|
|
|
classification?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq163">Google
|
|
|
Translate</a></p>
|
|
|
<p><em>This is an experimental feature!</em></p>
|
|
|
<p>Message classification will attempt to automatically group emails
|
|
|
into classes, based on their contents, using <a
|
|
|
href="https://en.wikipedia.org/wiki/Bayesian_statistics">Bayesian
|
|
|
statistics</a>. In the context of FairEmail, a folder is a class. So,
|
|
|
for example, the inbox, the spam folder, a ‘marketing’ folder, etc,
|
|
|
etc.</p>
|
|
|
<p>You can enable message classification in the miscellaneous settings.
|
|
|
This will enable ‘learning’ mode only. The classifier will ‘learn’ from
|
|
|
new messages in the inbox and spam folder by default. The folder
|
|
|
property <em>Classify new messages in this folder</em> will enable or
|
|
|
disable ‘learning’ mode for a folder. You can clear local messages (long
|
|
|
press a folder in the folder list of an account) and synchronize the
|
|
|
messages again to classify existing messages.</p>
|
|
|
<p>Each folder has an option <em>Automatically move classified messages
|
|
|
to this folder</em> (‘auto classification’ for short). When this is
|
|
|
turned on, new messages in other folders which the classifier thinks
|
|
|
belong to that folder will be automatically moved.</p>
|
|
|
<p>The option <em>Use local spam filter</em> in the report spam dialog
|
|
|
will turn on message classification in the miscellaneous settings and
|
|
|
auto classification for the spam folder. Please understand that this is
|
|
|
not a replacement for the spam filter of the email server and can result
|
|
|
in <a
|
|
|
href="https://en.wikipedia.org/wiki/False_positives_and_false_negatives">false
|
|
|
positives and false negatives</a>. See also <a href="#faq92">this
|
|
|
FAQ</a>.</p>
|
|
|
<p>A practical example: suppose there is a folder ‘marketing’ and auto
|
|
|
message classification is enabled for this folder. Each time you move a
|
|
|
message into this folder you’ll train FairEmail that similar messages
|
|
|
belong in this folder. Each time you move a message out of this folder
|
|
|
you’ll train FairEmail that similar messages do not belong in this
|
|
|
folder. After moving some messages into the ‘marketing’ folder,
|
|
|
FairEmail will start moving similar messages automatically into this
|
|
|
folder. Or, the other way around, after moving some messages out of the
|
|
|
‘marketing’ folder, FairEmail will stop moving similar messages
|
|
|
automatically into this folder. This will work best with messages with
|
|
|
similar content (email addresses, subject and message text).</p>
|
|
|
<p>Classification should be considered as a best guess - it might be a
|
|
|
wrong guess, or the classifier might not be confident enough to make any
|
|
|
guess. If the classifier is unsure, it will simply leave an email where
|
|
|
it is.</p>
|
|
|
<p>To prevent the email server from moving a message into the spam
|
|
|
folder again and again, auto classification out of the spam folder will
|
|
|
not be done.</p>
|
|
|
<p>The message classifier calculates the probability a message belongs
|
|
|
in a folder (class). There are two options in the miscellaneous settings
|
|
|
which control if a message will be automatically moved into a folder,
|
|
|
provided that auto classification is enabled for the folder:</p>
|
|
|
<ul>
|
|
|
<li><em>Minimum class probability</em>: a message will only be moved
|
|
|
when the confidence it belongs in a folder is greater than this value
|
|
|
(default 15 %)</li>
|
|
|
<li><em>Minimum class difference</em>: a message will only be moved when
|
|
|
the difference in confidence between one class and the next most likely
|
|
|
class is greater than this value (default 50 %)</li>
|
|
|
</ul>
|
|
|
<p>If all previously classified messages were the same and the message
|
|
|
being evaluated is also the same, the confidence would be 100%.</p>
|
|
|
<p>Both conditions must be satisfied before a message will be moved.</p>
|
|
|
<p>Considering the default option values:</p>
|
|
|
<ul>
|
|
|
<li>Apples 40 % and bananas 30 % would be disregarded because the
|
|
|
difference of 25 % is below the minimum of 50 %</li>
|
|
|
<li>Apples 10 % and bananas 5 % would be disregarded because the
|
|
|
probability for apples is below the minimum of 15 %</li>
|
|
|
<li>Apples 50 % and bananas 20 % would result in selecting apples</li>
|
|
|
</ul>
|
|
|
<p>Classification is optimized to use as little resources as possible,
|
|
|
but will inevitably use some extra battery power. This is also why only
|
|
|
folders of the same account will be considered.</p>
|
|
|
<p>You can delete all classification data by turning classification in
|
|
|
the miscellaneous settings three times off. This will be necessary when
|
|
|
classification for a folder is enabled or disabled (or when a folder is
|
|
|
deleted) because classification is based on comparision.</p>
|
|
|
<p><a href="#faq71">Rules</a> will be executed before classification. If
|
|
|
one or more rules were executed for a message, message classification
|
|
|
will be skipped because it is assumed that the message will be processed
|
|
|
by the rules in this case.</p>
|
|
|
<p>Message classification is a pro feature, except for the spam
|
|
|
folder.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq164"></a> <strong>(164) Can you add customizable
|
|
|
themes?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq164">Google
|
|
|
Translate</a></p>
|
|
|
<p>Unfortunately, Android <a
|
|
|
href="https://stackoverflow.com/a/26511725/1794097">does not support</a>
|
|
|
dynamic themes, which means all themes need <a
|
|
|
href="https://github.com/M66B/FairEmail/blob/master/app/src/main/res/values/styles.xml">to
|
|
|
be predefined</a>.</p>
|
|
|
<p>Since for each theme there needs to be a light, dark and black
|
|
|
variant, it is not feasible to add for each color combination (literally
|
|
|
millions) a predefined theme.</p>
|
|
|
<p>Moreover, a theme is more than just a few colors. For example themes
|
|
|
with a yellow accent color use a darker link color for enough
|
|
|
contrast.</p>
|
|
|
<p>Most people like the beige background for the light themes, but if
|
|
|
you don’t like it, it can be disabled in the display settings.</p>
|
|
|
<p>The <a
|
|
|
href="https://material.io/blog/announcing-material-you">Material You</a>
|
|
|
theme, a more dynamic theme based on the selected background image
|
|
|
(“Monet”), which was introduced in Android 12 on Google Pixel devices,
|
|
|
is supported and can be selected in the theme selection dialog (via the
|
|
|
three-dots menu of the start screen).</p>
|
|
|
<p>The theme colors are based on the color circle of <a
|
|
|
href="https://en.wikipedia.org/wiki/Johannes_Itten">Johannes
|
|
|
Itten</a>.</p>
|
|
|
<p>The <em>Solarized</em> theme is described in <a
|
|
|
href="https://en.wikipedia.org/wiki/Solarized_(color_scheme)">this
|
|
|
article</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq165"></a> <strong>(165) Is Android Auto
|
|
|
supported?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq165">Google
|
|
|
Translate</a></p>
|
|
|
<p>Yes, Android Auto is supported, but only with the GitHub version of
|
|
|
the app because Google rejected the application of FairEmail for this
|
|
|
reason:</p>
|
|
|
<p><em>App category not permitted - At this time, we are only accepting
|
|
|
apps within the Media, short form Messaging, or categories supported by
|
|
|
the Android for Cars App Library.</em></p>
|
|
|
<p>Also, not all Android Auto versions support this (as installed in the
|
|
|
car).</p>
|
|
|
<p><strong>Use of this feature with the Github version is expressly at
|
|
|
your own risk!</strong></p>
|
|
|
<p>For notification (messaging) support you’ll need to enable the
|
|
|
following notification options:</p>
|
|
|
<ul>
|
|
|
<li><em>Use Android ‘messaging style’ notification format</em></li>
|
|
|
<li>Notification actions: <em>Direct reply</em> and (mark as)
|
|
|
<em>Read</em> (this might be optional now, but this is untested)</li>
|
|
|
</ul>
|
|
|
<p>You can enable other notification actions too, if you like, but they
|
|
|
are not supported by Android Auto.</p>
|
|
|
<p>The developers guide is <a
|
|
|
href="https://developer.android.com/training/cars/messaging">here</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq166"></a> <strong>(166) Can I snooze a message across
|
|
|
multiple devices?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq166">Google
|
|
|
Translate</a></p>
|
|
|
<p>First of all, there is no standard for snoozing messages, so all
|
|
|
snooze implementations are custom solutions.</p>
|
|
|
<p>Some email providers, like Gmail, move snoozed messages to a special
|
|
|
folder. Unfortunately, third party apps have no access to this special
|
|
|
folder.</p>
|
|
|
<p>Moving a message to another folder and back might fail and might not
|
|
|
be possible if there is no internet connection. This is problematic
|
|
|
because a message can be snoozed only after moving the message.</p>
|
|
|
<p>To prevent these issues, snoozing is done locally on the device by
|
|
|
hiding the message while it is snoozing. Unfortunately, it is not
|
|
|
possible to hide messages on the email server too. Deleting messages
|
|
|
from the server and restoring them later could result in losing messages
|
|
|
when the device breaks.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq167"></a> <strong>(167) How can I use DeepL?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq167">Google
|
|
|
Translate</a></p>
|
|
|
<p>DeepL offers free translation of 500,000 characters (~100,000 words;
|
|
|
~250 pages) every month.</p>
|
|
|
<ol type="1">
|
|
|
<li>Make sure you have the latest version of the app installed</li>
|
|
|
<li>Check if <a href="https://www.deepl.com/">DeepL</a> supports your
|
|
|
language</li>
|
|
|
<li>Enable DeepL support in the integration settings</li>
|
|
|
<li><a href="https://www.deepl.com/pro#developer">Subscribe to</a> the
|
|
|
DeepL API Free (credit card required; won’t be charged)</li>
|
|
|
<li><a href="https://www.deepl.com/pro-account/plan">Copy</a> the
|
|
|
authentication key</li>
|
|
|
<li>In the message composer tap on the translate button (文A) in the top
|
|
|
action bar, select <em>Configure</em> and paste the key</li>
|
|
|
</ol>
|
|
|
<p>This feature requires an internet connection.</p>
|
|
|
<p>Note that you can’t use <a href="https://www.deepl.com/pro">the
|
|
|
regular pro plans</a>. The error <em>403 forbidden</em> means that the
|
|
|
key and/or plan in invalid.</p>
|
|
|
<p>Note that when reading a message, you can use the horizontal
|
|
|
three-dots menu to translate too. If you use this frequently, you can
|
|
|
configure a button for this.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq168"></a> <strong>(168) What is a spam block
|
|
|
list?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq168">Google
|
|
|
Translate</a></p>
|
|
|
<p>A spam block list is basically a list of domain names which have been
|
|
|
used to send spam or to spread malware.</p>
|
|
|
<p>A spam block list is checked by resolving the server name from the
|
|
|
last <em>Received</em> header into an IP address and looking up the IP
|
|
|
address with a DNS request:</p>
|
|
|
<pre><code>Received:
|
|
|
... from smtp.gmail.com ...
|
|
|
smtp.gmail.com ->
|
|
|
142.250.27.108
|
|
|
DNS lookup 108.27.250.142.zen.spamhaus.org ->
|
|
|
127.0.0.2: spam
|
|
|
NXDOMAIN: not spam</code></pre>
|
|
|
<p>NXDOMAIN = no such domain</p>
|
|
|
<p>For more information, please see <a
|
|
|
href="https://en.wikipedia.org/wiki/Domain_Name_System-based_blackhole_list">this
|
|
|
article</a>.</p>
|
|
|
<p>You can check common block lists for example <a
|
|
|
href="https://mxtoolbox.com/blacklists.aspx">here</a>.</p>
|
|
|
<p>FairEmail currently uses the following block lists:</p>
|
|
|
<ul>
|
|
|
<li><a href="https://www.spamhaus.org/">Spamhaus</a> – <a
|
|
|
href="https://www.spamhaus.org/organization/dnsblusage/">Terms of
|
|
|
Use</a> — <a
|
|
|
href="https://www.spamhaus.org/organization/privacy/">Privacy
|
|
|
policy</a></li>
|
|
|
<li><a href="https://www.spamcop.net/">Spamcop</a> – <a
|
|
|
href="https://www.spamcop.net/fom-serve/cache/297.html">Legal info</a> —
|
|
|
<a href="https://www.spamcop.net/fom-serve/cache/168.html">Privacy
|
|
|
policy</a></li>
|
|
|
<li><a
|
|
|
href="https://www.barracudacentral.org/rbl/how-to-use">Barracuda</a> –
|
|
|
<a href="https://www.barracudacentral.org/account/register">Request
|
|
|
Access</a> – <a
|
|
|
href="https://www.barracuda.com/company/legal/trust-center/data-privacy/privacy-policy">Privacy
|
|
|
policy</a></li>
|
|
|
</ul>
|
|
|
<p>Since version 1.1627 it is possible to enable/disable individual
|
|
|
blocklists in the receive settings of the app.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq169"></a> <strong>(169) Why does the app not start
|
|
|
automatically?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq169">Google
|
|
|
Translate</a></p>
|
|
|
<p>FairEmail requests Android to start the app when the device starts
|
|
|
up. Obviously, this depends on Android as the app cannot start
|
|
|
itself.</p>
|
|
|
<p>Some Android versions, such as EMUI, have settings to enable or
|
|
|
disable auto starting apps. So, if the app isn’t started automatically,
|
|
|
please check the Android settings.</p>
|
|
|
<p>For example for Huawei/EMUI, please <a
|
|
|
href="https://dontkillmyapp.com/huawei">see here</a> for a guide.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq170"></a> <strong>(170) Why can’t folders be created with
|
|
|
POP3?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq170">Google
|
|
|
Translate</a></p>
|
|
|
<p>The POP3 protocol has commands to download and delete messages from
|
|
|
the inbox only. There are no commands to access any other folder.</p>
|
|
|
<p>Creating a local folder only and storing messages on your device only
|
|
|
is a bad idea because losing or breaking your device would mean losing
|
|
|
your messages. Therefore this isn’t supportable.</p>
|
|
|
<p>Please note that FairEmail doesn’t store a copy of your messages in
|
|
|
the cloud for privacy reasons.</p>
|
|
|
<p>If you want to store messages in folders, please use IMAP, so that
|
|
|
there is always a copy of the messages on the email server.</p>
|
|
|
<p>You could register, for example, a Gmail account, and configure Gmail
|
|
|
to import messages from a POP3 account, automatically label them (=put
|
|
|
them in a folder), and configure the Gmail account in FairEmail. Please
|
|
|
<a
|
|
|
href="https://support.google.com/mail/answer/21289?hl=en&co=GENIE.Platform%3DDesktop">see
|
|
|
here</a> for instructions.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq171"></a> <strong>(171) How can I delete a
|
|
|
contact?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq171">Google
|
|
|
Translate</a></p>
|
|
|
<p>A contact can be stored in the Android address book or in the local
|
|
|
contact database.</p>
|
|
|
<p>When a contact is stored in the Android address book, you can use the
|
|
|
Android contacts app to delete the contact.</p>
|
|
|
<p>When a contact is store in the local contact database, you can delete
|
|
|
it like this:</p>
|
|
|
<ul>
|
|
|
<li>Go to the settings via the navigation menu (left side menu)</li>
|
|
|
<li>Go to the send settings tab page</li>
|
|
|
<li>Tap on the <em>Manage</em> button under <em>Suggest locally stored
|
|
|
contacts</em></li>
|
|
|
<li>Locate the contact (you can use the magnifier glass in the top
|
|
|
action bar)</li>
|
|
|
<li>Long press the contact and select to delete it</li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq172"></a> <strong>(172) How can I import
|
|
|
contacts?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq172">Google
|
|
|
Translate</a></p>
|
|
|
<p>Like most Android apps, FairEmail consults the Android address book
|
|
|
for contact information.</p>
|
|
|
<p>There is also a local contact database, which is filled with contacts
|
|
|
from sent and received messages. You can enable/disable this in the send
|
|
|
settings of the app.</p>
|
|
|
<p>If you want to import contacts into the local contact database, this
|
|
|
is possible (in recent versions of the app) by tapping on the
|
|
|
<em>Manage</em> button in the send settings. In the three-dots menu at
|
|
|
the top right there is an import (and also an export) <a
|
|
|
href="https://en.wikipedia.org/wiki/VCard">vCard</a>s menu item.</p>
|
|
|
<p>The Android address book is managed by the Android Contacts app (or a
|
|
|
replacement for this app). Please see <a
|
|
|
href="https://support.google.com/contacts/answer/1069522">this
|
|
|
article</a> about importing contacts to the Android address book.</p>
|
|
|
<p>Note that some vendors, notably Microsoft, try to lock you into their
|
|
|
contact (data) storage. This is not how it should work on Android, which
|
|
|
is more open to sharing information.</p>
|
|
|
<p>Related questions:</p>
|
|
|
<ul>
|
|
|
<li><a href="#faq84">What are local contacts for?</a></li>
|
|
|
<li><a href="#faq98">Why can I still pick contacts after revoking
|
|
|
contacts permissions?</a></li>
|
|
|
<li><a href="#faq138">Can you add calendar/contact/tasks/notes
|
|
|
management?</a></li>
|
|
|
<li><a href="#faq152">How can I insert a contact group?</a></li>
|
|
|
<li><a href="#faq171">How can I delete a contact?</a></li>
|
|
|
</ul>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq173"></a> <strong>(173) What is the difference between
|
|
|
Play store / GitHub / F-Droid version?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq173">Google
|
|
|
Translate</a></p>
|
|
|
<ul>
|
|
|
<li>The Play Store version does not support Android Auto, see <a
|
|
|
href="#faq165">this FAQ</a> for more information</li>
|
|
|
<li>The Play Store version does not support Amazon devices with Android
|
|
|
5 Lollipop because there are critical bugs in this Android version of
|
|
|
Amazon</li>
|
|
|
<li>The Play Store version does not support Gravatars/Libravatars/BIMI
|
|
|
due to Play Store policies</li>
|
|
|
<li>The Play Store version does not support auto-storing iCalendar
|
|
|
invitations, see <a href="#faq186">this FAQ</a> for more
|
|
|
information</li>
|
|
|
<li>The Play Store version is released about once a month only because I
|
|
|
am tired of 1-star ratings for <em>Too many updates</em>. If you want to
|
|
|
receive more updates, you can join the <a
|
|
|
href="https://play.google.com/apps/testing/eu.faircode.email">Play Store
|
|
|
test program</a>.</li>
|
|
|
<li>The GitHub version will check for <a
|
|
|
href="https://github.com/M66B/FairEmail/releases">updates on GitHub</a>
|
|
|
and is updated more frequently, but updates need to be installed
|
|
|
manually</li>
|
|
|
<li>The GitHub version has some different links, some more features and
|
|
|
options, and some different default values (more geared to advanced
|
|
|
users)</li>
|
|
|
<li>The GitHub version can be installed as an update over the Play store
|
|
|
version, whereas the F-Droid build can’t (see below for more
|
|
|
details)</li>
|
|
|
<li>The F-Droid build does not support OAuth, see <a href="#faq147">this
|
|
|
FAQ</a> about why not</li>
|
|
|
<li>The F-Droid build does not include <a
|
|
|
href="https://developer.android.com/google/play/billing/integrate">Google
|
|
|
Play Billing</a>, so Play store purchases cannot be reused</li>
|
|
|
<li>The F-Droid build is supported only if the version number is the
|
|
|
same as the version number of the latest GitHub version, see also <a
|
|
|
href="#faq147">this FAQ</a></li>
|
|
|
</ul>
|
|
|
<p>The Play store and GitHub version are signed with the <a
|
|
|
href="https://github.com/M66B/FairEmail#downloads">same digital
|
|
|
signature</a> (security certificate). The F-Droid build is signed by the
|
|
|
F-Droid organization with a different digital key. This means you can’t
|
|
|
update the F-Droid build with the Play store or GitHub version or the
|
|
|
other way around without reinstalling. However, it is possible to
|
|
|
install the GitHub version over the Play store version, and the Play
|
|
|
store app will do the same, when auto-updating isn’t disabled for the
|
|
|
app in the app description.</p>
|
|
|
<p>The version in the <a
|
|
|
href="https://play.google.com/apps/testing/eu.faircode.email">Play Store
|
|
|
test program</a> is more often updated, but not all GitHub releases will
|
|
|
be released as Play Store test version.</p>
|
|
|
<p>The GitHub version will automatically check for updates and notify
|
|
|
you when there is an update available. Since apps can’t update
|
|
|
themselves, updates can’t be automatically installed. However, you can
|
|
|
easily install an update via a button in the update available
|
|
|
notification. You could use the <a
|
|
|
href="https://apt.izzysoft.de/fdroid/">IzzyOnDroid F-Droid
|
|
|
Repository</a> to manage GitHub updates.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq174"></a> <strong>(174) Is auto discovery
|
|
|
supported?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq174">Google
|
|
|
Translate</a></p>
|
|
|
<p>Yes, multiple methods of auto discovery are available.</p>
|
|
|
<p>The preferred, simplest and fastest method is using DNS records,
|
|
|
please see see <a href="https://tools.ietf.org/html/rfc6186">RFC6186</a>
|
|
|
and <a href="https://tools.ietf.org/html/rfc8314">RFC8314</a> for the
|
|
|
details.</p>
|
|
|
<p>Example DNS records (SRV=record type, 0=priority, 1=weight,
|
|
|
993/587=port number):</p>
|
|
|
<pre><code>_imaps._tcp SRV 0 1 993 imap.example.com.
|
|
|
_submission._tcp SRV 0 1 587 smtp.example.com.</code></pre>
|
|
|
<p><a
|
|
|
href="https://wiki.mozilla.org/Thunderbird:Autoconfiguration">Mozilla’s
|
|
|
autoconfiguration</a> is supported too, but only if the configuration
|
|
|
file is accessible via a secure (https) connection.</p>
|
|
|
<p>FairEmail will also check the <a
|
|
|
href="https://en.wikipedia.org/wiki/MX_record">MX record</a> and if
|
|
|
common email ports (143/993, 465/587) are open.</p>
|
|
|
<p>There is no auto discovery for POP3.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq175"></a> <strong>(175) Why should battery optimizations
|
|
|
be disabled?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq175">Google
|
|
|
Translate</a></p>
|
|
|
<p>If battery optimizations are enabled (<a
|
|
|
href="https://developer.android.com/training/monitoring-device-state/doze-standby">Doze
|
|
|
mode</a>), Android will stop the app when it is running in the
|
|
|
background, resulting in no more messages being sent and received in the
|
|
|
background anymore.</p>
|
|
|
<p>Manufacturers also tweak Android rather often to stop apps in the
|
|
|
background for ostensibly better battery life, please <a
|
|
|
href="https://dontkillmyapp.com/">see here</a> for more details.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq176"></a> <strong>(176) When will a message be considered
|
|
|
safely transported?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq176">Google
|
|
|
Translate</a></p>
|
|
|
<p>If the receive option <em>Check transport layer security (TLS)</em>
|
|
|
is enabled, a green shield will be shown only if a message was
|
|
|
transported securely by all servers.</p>
|
|
|
<p>To show shields, the option <em>Show authentication status
|
|
|
indicator</em> in the display settings should be enabled.</p>
|
|
|
<p>A message will be consired safely transported if <em>every</em> <a
|
|
|
href="https://datatracker.ietf.org/doc/html/rfc2821#section-4.4">Received</a>
|
|
|
header:</p>
|
|
|
<ul>
|
|
|
<li>contains the phrase ‘using TLS’, ‘via HTTP’, ‘version=TLS’</li>
|
|
|
<li>contains the phrase ‘(qmail <nnn> invoked by uid <nnn>)’</li>
|
|
|
<li>contains the phrase ‘(Postfix, from userid nnn)’</li>
|
|
|
<li>has a <em>by</em> with a local address</li>
|
|
|
<li>has a <em>by</em> xxx.google.com</li>
|
|
|
<li>has a <em>from</em> with a local address</li>
|
|
|
<li>has a <em>via</em> with the value ‘<a
|
|
|
href="https://social.technet.microsoft.com/wiki/contents/articles/50370.exchange-2016-what-is-the-front-end-transport-service-on-the-mailbox-role.aspx">Frontend
|
|
|
Transport</a>’</li>
|
|
|
<li>has a <em>with</em> with the value ‘TLS’</li>
|
|
|
<li>has a <em>with</em> with the value ‘local’, ‘<a
|
|
|
href="https://en.wikipedia.org/wiki/Local_Mail_Transfer_Protocol">LMTPx</a>,’<a
|
|
|
href="https://en.wikipedia.org/wiki/MAPI">MAPI</a>’</li>
|
|
|
<li>has a <em>with</em> with the value ‘HTTP’, ‘HTTPS’, or
|
|
|
‘HTTPREST’</li>
|
|
|
<li>has a <em>with</em> with the value ‘<a
|
|
|
href="https://datatracker.ietf.org/doc/html/rfc3848">xMTPSx</a>’
|
|
|
(‘xMTPAx’ is considered insecure)</li>
|
|
|
</ul>
|
|
|
<p>A local address is a local host address, a site local address or a
|
|
|
link local address.</p>
|
|
|
<p>Example:</p>
|
|
|
<pre><code>Received: brown.elm.relay.mailchannels.net (brown.elm.relay.mailchannels.net. [23.83.212.23])
|
|
|
by mx.google.com with ESMTPS id d10si6675855pgb.5.2021.12.24.13.20.38
|
|
|
for <test@example.org> (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);</code></pre>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq177"></a> <strong>(177) What does ‘Sensitivity’
|
|
|
mean?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq177">Google
|
|
|
Translate</a></p>
|
|
|
<p>The sensitivity of a message indicates the confidentiality of a
|
|
|
message.</p>
|
|
|
<ul>
|
|
|
<li>Personal: for you only</li>
|
|
|
<li>Private: for you and trusted people only</li>
|
|
|
<li>Confidential: for a company, organization or department only</li>
|
|
|
</ul>
|
|
|
<p>Please see <a
|
|
|
href="https://support.microsoft.com/en-us/office/mark-your-email-as-normal-personal-private-or-confidential-4a76d05b-6c29-4a0d-9096-71784a6b12c1">this
|
|
|
article</a> for more information.</p>
|
|
|
<p>The sensitivity indication is sent as <a
|
|
|
href="https://datatracker.ietf.org/doc/html/rfc4021#section-2.1.55">a
|
|
|
message header</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq178"></a> <strong>(178) Why are widgets not
|
|
|
updating?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq178">Google
|
|
|
Translate</a></p>
|
|
|
<p>Apps provide the layout and data for widgets on demand, but the
|
|
|
homescreen app/launcher manages all widgets, with a little help from
|
|
|
Android.</p>
|
|
|
<p>If widgets are not being updated, this is often caused by missing
|
|
|
permission. Please see <a
|
|
|
href="https://www.youtube.com/watch?v=ywQrYJ6rtnM">this video</a> about
|
|
|
how to fix this.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq179"></a> <strong>(179) What are reply
|
|
|
templates?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq179">Google
|
|
|
Translate</a></p>
|
|
|
<p>Reply templates are predefined answer texts. They can be defined via
|
|
|
the main navigation menu (left side menu).</p>
|
|
|
<p>You can reply with a template, insert a template via the three-dots
|
|
|
overflow menu in the message editor, and long press on an open space to
|
|
|
insert a snippet (the latter requires Android 6 Marshmallow or
|
|
|
later).</p>
|
|
|
<p>Templates can have the following options:</p>
|
|
|
<ul>
|
|
|
<li><em>Default</em>: standard template to use when writing a new
|
|
|
message</li>
|
|
|
<li><em>Use as read receipt</em>: template to use instead of the default
|
|
|
read receipt text</li>
|
|
|
<li><em>Favorite</em>: template will be added in the main reply popup
|
|
|
menu</li>
|
|
|
<li><em>Snippet</em>: template will be used as text fragment (since
|
|
|
version 1.1857)</li>
|
|
|
<li><em>Hide from menus</em>: template will be hidden (disabled)</li>
|
|
|
</ul>
|
|
|
<p>Since version 1.2068 it is possible to send a template message with
|
|
|
an intent:</p>
|
|
|
<pre><code>(adb shell) am start-foreground-service -a eu.faircode.email.TEMPLATE --es template <template name> --es identity <identity display name> --es to <email address> --es cc <email address> --es subject <subject></code></pre>
|
|
|
<p><strong>Important</strong>: you need to configure a display name for
|
|
|
the identity, and use this to identify the identity.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq180"></a> <strong>(180) How do I use
|
|
|
LanguageTool?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq180">Google
|
|
|
Translate</a></p>
|
|
|
<p>LanguageTool integration needs to be enabled in the integration
|
|
|
settings.</p>
|
|
|
<p>After writing some text, you can long press on the save draft button
|
|
|
to perform a grammar, style, and spell check via <a
|
|
|
href="https://languagetool.org/">LanguageTool</a>. Texts with
|
|
|
suggestions will be marked and if you tap on a marked suggestion, it
|
|
|
will be shown by the keyboard if the keyboard supports this, else you
|
|
|
can double tap or long press the marked text to show suggestions.</p>
|
|
|
<p>Since version 1.1974 there is an option to check paragraphs after a
|
|
|
new line.</p>
|
|
|
<p>The suboption <em>Use formal form</em> can be enabled to let
|
|
|
LanguageTool suggest more formal text (business, legal, etc).</p>
|
|
|
<p>Since version 1.2000 you can configure a username and an API key to
|
|
|
access the premium features. If you are looking for the API key, please
|
|
|
<a href="https://languagetool.org/editor/settings/access-tokens">go
|
|
|
here</a>.</p>
|
|
|
<p>You can long press text to select a word, and add it to or remove it
|
|
|
from the personal dictionary via the <em>copy/paste</em> pop-up
|
|
|
menu.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq181"></a> <strong>(181) How do I use
|
|
|
VirusTotal?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq181">Google
|
|
|
Translate</a></p>
|
|
|
<p>VirusTotal integration needs to be enabled in the integration
|
|
|
settings and an API key needs to be entered. To get an API key, you’ll
|
|
|
need to sign up via the <a href="https://www.virustotal.com/">VirusTotal
|
|
|
website</a>.</p>
|
|
|
<p>When integration is enabled and an API key is available, a
|
|
|
<em>scan</em> icon button will be shown for each attachment. Tapping on
|
|
|
the scan button will calculate the SHA-256 hash of the attachment and
|
|
|
lookup the file via the VirusTotal API. If the file is known by
|
|
|
VirusTotal, the number of virus scanners considering the file as
|
|
|
malicious will be shown. If the file isn’t known by VirusTotal, an
|
|
|
upload button will be shown to upload the file for analysis by
|
|
|
VirusTotal.</p>
|
|
|
<p>This feature was added in version 1.1942 and is available in non Play
|
|
|
store versions of the app only.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq182"></a> <strong>(182) How can I select how a link
|
|
|
should be opened?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq182">Google
|
|
|
Translate</a></p>
|
|
|
<p>When clicking on a link, by default, a confirmation dialog will be
|
|
|
shown. The available browser(s) will be listed and if a browser supports
|
|
|
<a href="https://developer.chrome.com/docs/android/custom-tabs/">Custom
|
|
|
Tabs</a>, it will be listed twice, once with an “open external” icon
|
|
|
(the browser will be started standalone, independent of the app) and
|
|
|
once without this icon (the browser will be started embedded as “Custom
|
|
|
Tab”, dependent on the app).</p>
|
|
|
<p>In addition, <em>Select app</em> will be listed, which means that the
|
|
|
link will be handed over to Android, which will select how to open the
|
|
|
link. In most cases, this will be with the default browser, which you
|
|
|
can select in the Android settings. If there is choice, Android will ask
|
|
|
you how to open the link. You can select <em>Always</em> or <em>Just
|
|
|
Once</em>. If you want to reset <em>Always</em>, please <a
|
|
|
href="https://support.google.com/pixelphone/answer/6271667">see here</a>
|
|
|
about how to. Note that Android will always use the default browser as
|
|
|
selected in the Android settings and therefore will never ask which
|
|
|
browser to use.</p>
|
|
|
<p>You can confirm with <em>Ok</em> or select <em>Open with</em>, which
|
|
|
behaves in the same way as the <em>Select app</em> option.</p>
|
|
|
<p>If you ticked <em>Do not ask this again for [domain name]</em>, you
|
|
|
can undo this by using the <em>Reset questions</em> button in the
|
|
|
miscellaneous settings tab page of the app.</p>
|
|
|
<p>If you disabled confirming links, you can enable this (temporarily)
|
|
|
again in the privacy settings tab page of the app (<em>Confirm opening
|
|
|
links</em>: off).</p>
|
|
|
<p>Note that you might need to enable confirming links and reset
|
|
|
questions to show the link confirmation dialog again.</p>
|
|
|
<p>Please see <a href="#faq35">this FAQ</a> on why you should be careful
|
|
|
when opening links.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq183"></a> <strong>(183) How do I use Send?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq183">Google
|
|
|
Translate</a></p>
|
|
|
<p><a href="https://github.com/timvisee/send">Send</a> is designed as
|
|
|
temporary end-to-end encrypted file storage. Only people with a link to
|
|
|
a file can download and decrypt a file. See for some more information <a
|
|
|
href="https://en.wikipedia.org/wiki/Firefox_Send">Wikipedia</a>.</p>
|
|
|
<p>Send integration needs to be enabled in the integration settings.</p>
|
|
|
<p>Optionally, you can change the host address of the Send server.
|
|
|
Please <a href="https://github.com/timvisee/send-instances">see here</a>
|
|
|
for a list of public instances.</p>
|
|
|
<p>To upload a file and insert a link, you can use the insert link
|
|
|
button in the message editor.</p>
|
|
|
<p>Send is only available in non-Play Store versions of the app (since
|
|
|
version 1.1947).</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq184"></a> <strong>(184) How do I password protect
|
|
|
content?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq184">Google
|
|
|
Translate</a></p>
|
|
|
<p>Password protected content is a simple, yet secure form of end-to-end
|
|
|
encryption that requires no configuration.</p>
|
|
|
<p>How to use: select some text by long pressing it, and in the style
|
|
|
toolbar at the bottom tap on the <em><ins>A</ins></em>-button and select
|
|
|
<em>Password protect</em> in the pop-up menu. This will replace the
|
|
|
selected content with a link that the recipient can click to decrypt the
|
|
|
content on a dedicated static web page.</p>
|
|
|
<p>Password protected content is sent as a <a
|
|
|
href="https://en.wikipedia.org/wiki/URI_fragment">URI fragment</a> and
|
|
|
decrypted in the browser with JavaScript. In other words, protected
|
|
|
content is never stored on or seen by third party servers. Since version
|
|
|
1.1990 received protected content will be decrypted by the app, with as
|
|
|
fallback decryption in the browser for other email clients.</p>
|
|
|
<p>Password protected content is encrypted with <a
|
|
|
href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard">AES</a>
|
|
|
/ <a href="https://en.wikipedia.org/wiki/Galois/Counter_Mode">GCM</a>
|
|
|
with a 256 bits key derived with <a
|
|
|
href="https://en.wikipedia.org/wiki/PBKDF2">PBKDF2</a> / <a
|
|
|
href="https://en.wikipedia.org/wiki/Secure_Hash_Algorithms">SHA</a>-512
|
|
|
with 120,000 iterations. With a sufficiently long/complex password,
|
|
|
which is communicated to the recipient securely, this is considered safe
|
|
|
in 2022 and for the foreseeable future.</p>
|
|
|
<p>Due to <a href="https://stackoverflow.com/a/417184/1794097">length
|
|
|
limitations</a> of <a href="https://en.wikipedia.org/wiki/URL">URL</a>s
|
|
|
and Android <a
|
|
|
href="https://developer.android.com/reference/android/os/TransactionTooLargeException">binder
|
|
|
limitations</a>, the maximum content size is 1,500 bytes, which includes
|
|
|
<a href="https://en.wikipedia.org/wiki/HTML">HTML</a> formatting tags.
|
|
|
Images will be replaced with placeholders to reduce the content size,
|
|
|
but other formatting, like bold, italic, links, etc., will be retained.
|
|
|
If the content is too long, there will be a popup <em>Text too
|
|
|
long</em>.</p>
|
|
|
<p>The content size limit is also why complete messages (possibly
|
|
|
including a long reply chain) cannot be password protected. You can use
|
|
|
<a href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy">PGP</a> or
|
|
|
<a href="https://en.wikipedia.org/wiki/S/MIME">S/MIME</a> encryption for
|
|
|
this (see <a href="#faq12">this FAQ</a>).</p>
|
|
|
<p><a
|
|
|
href="https://en.wikipedia.org/wiki/Cross-site_scripting">Cross-site
|
|
|
scripting</a> is prevented by using <a
|
|
|
href="https://github.com/cure53/DOMPurify">DOMPurify</a> (Apache License
|
|
|
Version 2.0).</p>
|
|
|
<p>Protected content is only available in non-Play Store versions of the
|
|
|
app (since version 1.1985) and requires Android 8 Oreo or later.</p>
|
|
|
<p>Sending protected content is a pro feature, decrypting protected
|
|
|
content is a free feature.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq185"></a> <strong>(185) Can I install FairEmail on
|
|
|
Windows?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq185">Google
|
|
|
Translate</a></p>
|
|
|
<p>Yes, you can if you use Windows 11 or later and install the <a
|
|
|
href="https://learn.microsoft.com/en-us/windows/android/wsa/">Windows
|
|
|
Subsystem for Android</a>.</p>
|
|
|
<p>You’ll need to <a
|
|
|
href="https://github.com/M66B/FairEmail/releases">download the GitHub
|
|
|
version</a> of the app and sideload it, which means that you need to
|
|
|
enable developer mode, please <a
|
|
|
href="https://learn.microsoft.com/en-us/windows/android/wsa/#test-and-debug">see
|
|
|
here</a>, and that you need to install adb (platform tools), <a
|
|
|
href="https://developer.android.com/studio/command-line/adb">see
|
|
|
here</a>.</p>
|
|
|
<p>You can install the app via the Windows command line like this:</p>
|
|
|
<pre><code>cd /path/to/platform-tools
|
|
|
adb connect 127.0.0.1:58526
|
|
|
adb install /path/to/FairEmail-xxx.apk</code></pre>
|
|
|
<p>It is also possible to install the Play Store, but this is more
|
|
|
complicated.</p>
|
|
|
<p>The app isn’t available in the Amazon store because Amazon rebuilds
|
|
|
all Android apps, and unfortunately, the app doesn’t work correctly
|
|
|
after rebuilding anymore. Amazon never responded to an issue reported
|
|
|
about this.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq186"></a> <strong>(186) How can I let the app auto store
|
|
|
iCalendar invitations?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq186">Google
|
|
|
Translate</a></p>
|
|
|
<ul>
|
|
|
<li>Install the <a
|
|
|
href="https://github.com/M66B/FairEmail/releases">GitHub version</a> of
|
|
|
the app</li>
|
|
|
<li>Grant permissions via setup step 2 of the main settings screen</li>
|
|
|
<li>Select a calendar in the accounts settings under <em>Manual setup
|
|
|
and account options</em> (you can use the <em>Reset</em> button to
|
|
|
disable storing invitations)</li>
|
|
|
</ul>
|
|
|
<p>New invitations, with both a start and end date, will be stored
|
|
|
automatically as <em>tentative</em>, with no alarms and reminders set.
|
|
|
If you accept or decline an invitation, the status will be updated
|
|
|
accordingly, after the accept/decline message has been sent
|
|
|
successfully. Received updates and cancellations will be processed as
|
|
|
well.</p>
|
|
|
<p>Since version 1.2115 it is possible to disable storing invitations
|
|
|
tentatively with an option in the miscellaneous-settings tab page. In
|
|
|
this case, the event will be stored after it has been accepted.</p>
|
|
|
<p>Please make sure synchronizing calendars is enabled in the Android
|
|
|
account settings if you want to synchronize events to other devices.</p>
|
|
|
<p>This feature is available since version 1.1996.</p>
|
|
|
<p>This feature is not available in the Play store version of the app
|
|
|
due to the permissions required.</p>
|
|
|
<p>This is a pro feature.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq187"></a> <strong>(187) Are colored stars synchronized
|
|
|
across devices?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq187">Google
|
|
|
Translate</a></p>
|
|
|
<p>Colored stars can’t be stored on email servers because email
|
|
|
protocols do not support this. In other words, the color of stars is
|
|
|
stored on your device only, and won’t be synchronized across
|
|
|
devices.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq188"></a> <strong>(188) Why is Google backup
|
|
|
disabled?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq188">Google
|
|
|
Translate</a></p>
|
|
|
<p>Google backup is disabled to prevent privacy-sensitive information,
|
|
|
like account credentials and email addresses, from <a
|
|
|
href="https://developer.android.com/guide/topics/data/autobackup">automatically
|
|
|
being sent to Google</a>.</p>
|
|
|
<p>In theory, there is client-side encryption, but there is no
|
|
|
specification available about what this means. Moreover, many people do
|
|
|
not trust Google.</p>
|
|
|
<p>Unfortunately, it is not possible to enable cloud backup for other
|
|
|
backup software without enabling Google backup. Whether Google backup is
|
|
|
enabled needs to be specified in the app manifest. So, unfortunately, it
|
|
|
isn’t possible to add an option for this.</p>
|
|
|
<p>As a replacement, you can back up and restore all settings, including
|
|
|
the account settings and credentials, via the backup-settings tab page.
|
|
|
This backup export uses a proper encryption method, <a href="#faq36">see
|
|
|
here</a>.</p>
|
|
|
<p><br /></p>
|
|
|
<p><a name="faq189"></a> <strong>(189) What is cloud sync?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq189">Google
|
|
|
Translate</a></p>
|
|
|
<p>Cloud sync is meant to synchronize configuration data across devices.
|
|
|
It can be used to restore configuration data onto a new device too.</p>
|
|
|
<p>Cloud sync is based on a cloud account. You can register/login by
|
|
|
entering a username and a password and using the <em>Login</em>
|
|
|
button.</p>
|
|
|
<p>A cloud sync account needs to be activated, which is to prevent
|
|
|
misusing the cloud sync server. To activate a cloud sync account, use
|
|
|
the <em>Activate</em> button to send an email to a special email
|
|
|
address. The email needs to come from an address used to activate the
|
|
|
pro features before. You’ll receive an email in response indicating
|
|
|
whether the activation was succesful or not.</p>
|
|
|
<p>The app will automatically synchronize once a day around 1:30 AM,
|
|
|
provided there is an internet connection, otherwise synchronization will
|
|
|
be postponed until after an internet connection becomes available. You
|
|
|
can also manually synchronize with the opposite arrows button.</p>
|
|
|
<p>Synchronization will currently add and update enabled accounts and
|
|
|
identities only, but on the roadmap is synchronizing blocked senders and
|
|
|
rules too.</p>
|
|
|
<p>Updating includes enabling/disabling accounts and identities.</p>
|
|
|
<p>Existing accounts or identities will never be deleted</p>
|
|
|
<p>Please note that accounts are only considered the same if they are
|
|
|
cloud synced and never if the same account is configured on different
|
|
|
devices.</p>
|
|
|
<p>All data is <a
|
|
|
href="https://en.wikipedia.org/wiki/End-to-end_encryption">end-to-end
|
|
|
encrypted</a>, which means that the cloud server, currently powered by
|
|
|
AWS, can’t see the data contents. The used encryption method is <a
|
|
|
href="https://en.wikipedia.org/wiki/AES-GCM-SIV">AES-GCM-SIV</a> using a
|
|
|
256 bit key derived from the username and password with <a
|
|
|
href="https://en.wikipedia.org/wiki/PBKDF2">PBKDF2</a> using SHA256 and
|
|
|
310,000 iterations.</p>
|
|
|
<p>Cloud sync is an experimental feature. It is not available for the
|
|
|
Play Store version of the app, yet.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq190"></a> <strong>(190) How do I use OpenAI
|
|
|
(ChatGPT)?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq190">Google
|
|
|
Translate</a></p>
|
|
|
<p>OpenAI can only be used if configured and enabled.</p>
|
|
|
<p><strong>Setup</strong></p>
|
|
|
<ul>
|
|
|
<li>Create an account <a
|
|
|
href="https://platform.openai.com/signup">here</a></li>
|
|
|
<li>Create an API key <a
|
|
|
href="https://platform.openai.com/account/api-keys">here</a></li>
|
|
|
<li>Copy the API key and paste it in the corresponding field of the
|
|
|
integration settings</li>
|
|
|
<li>Enable the OpenAI switch</li>
|
|
|
</ul>
|
|
|
<p><br></p>
|
|
|
<p><strong>Usage</strong></p>
|
|
|
<p>Tap on the robot button in the top action bar of the message editor.
|
|
|
The text in the message editor (if any) and the first part of the
|
|
|
message being replied to (if any) will be used for <a
|
|
|
href="https://platform.openai.com/docs/guides/chat/introduction">chat
|
|
|
completion</a>. If text is selected in the message editor, only the
|
|
|
selected text will be used, and it will be replaced by the answer. A
|
|
|
maximum of 1,000 characters of the message being replied to will be used
|
|
|
to avoid exceeding the token limit.</p>
|
|
|
<p>For example: create a new draft and enter the text “<em>How far is
|
|
|
the sun?</em>”, and tap on the robot button in the top action bar.</p>
|
|
|
<p><br></p>
|
|
|
<p>OpenAI isn’t very fast, so be patient. Sometimes a timeout error
|
|
|
occurs because the app is not receiving a response from OpenAI.</p>
|
|
|
<p><br></p>
|
|
|
<p>Depending on the ChatGPT account (free or paid) there are usage
|
|
|
limits. If you exceed the limit, there will be an error message like
|
|
|
this:</p>
|
|
|
<p><em>Error 429: Too Many Requests insufficient_quota: You exceeded
|
|
|
your current quota, please check your plan and billing details</em></p>
|
|
|
<p>In this case, you’ll either need to wait, or upgrade your ChatGPT
|
|
|
plan. Please <a
|
|
|
href="https://help.openai.com/en/articles/6843909-rate-limits-and-429-too-many-requests-errors">see
|
|
|
here</a> for details.</p>
|
|
|
<p><br></p>
|
|
|
<p>You can select the <a
|
|
|
href="https://platform.openai.com/docs/models/overview">model</a>,
|
|
|
configure the <a
|
|
|
href="https://platform.openai.com/docs/api-reference/chat/create#chat/create-temperature">temperature</a>
|
|
|
and enable <a
|
|
|
href="https://platform.openai.com/docs/api-reference/moderations">moderation</a>
|
|
|
in the integration settings.</p>
|
|
|
<p>If you have access to GPT-4, you can change the model name to <a
|
|
|
href="https://platform.openai.com/docs/models/gpt-4">gpt-4</a> in the
|
|
|
integration settings. There is currently a <a
|
|
|
href="https://openai.com/waitlist/gpt-4-api">waitlist</a> for API GPT-4
|
|
|
access.</p>
|
|
|
<p>Please read the <a
|
|
|
href="https://openai.com/policies/privacy-policy">privacy policy</a> of
|
|
|
OpenAI, and perhaps <a
|
|
|
href="https://katedowninglaw.com/2023/03/10/openais-massive-data-grab/">this
|
|
|
article</a> and <a
|
|
|
href="https://www.ncsc.gov.uk/blog-post/chatgpt-and-large-language-models-whats-the-risk">this
|
|
|
article</a> too.</p>
|
|
|
<p>FairEmail does not use third-party libraries to avoid being tracked
|
|
|
when OpenAI is not being used.</p>
|
|
|
<p><br></p>
|
|
|
<p>It is possible to use <strong>DeepInfra</strong> too (since version
|
|
|
1.2132).</p>
|
|
|
<ul>
|
|
|
<li>Create an account on the <a href="https://deepinfra.com/">DeepInfra
|
|
|
website</a> and deploy a model, for example,
|
|
|
<em>meta-llama/Llama-2-13b-chat-hf</em></li>
|
|
|
<li>In the integration settings enter the URI
|
|
|
https://api.deepinfra.com/v1/openai, an API key and the model name</li>
|
|
|
</ul>
|
|
|
<p><br></p>
|
|
|
<p>This feature is experimental and available in the GitHub version only
|
|
|
and requires version 1.2053 or later.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq191"></a> <strong>(191) How do I download and keep older
|
|
|
messages on my device?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq191">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can download and keep older messages in the unified inbox folders
|
|
|
by using <em>Fetch more messages</em> in the three-dots overflow menu of
|
|
|
the start screen. For other folders, you can long press the folder in
|
|
|
the folder list of the account (tap on the account name in the
|
|
|
navigation menu = left side menu). Please read the remark in the
|
|
|
confirmation dialog box.</p>
|
|
|
<p>Note that starred (favorite) messages will be kept on your device
|
|
|
“forever”.</p>
|
|
|
<p>Instead of downloading many messages to your device, consider <a
|
|
|
href="#faq13">searching for messages on the email server</a>.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq192"></a> <strong>(192) How can I resolve ‘Couldn’t
|
|
|
connect to host, port: …; timeout …;’ ?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq192">Google
|
|
|
Translate</a></p>
|
|
|
<p>This error message means that the app didn’t receive a response from
|
|
|
the email server of your email provider. The email server might not be
|
|
|
responding, for example because it is offline for maintenance, or the
|
|
|
response might not arrive, for example due to internet connectivity
|
|
|
issues.</p>
|
|
|
<p>So, please check if your email provider didn’t announce server
|
|
|
maintenance, and if your internet connection is working correctly. Also,
|
|
|
try to switch to mobile data or Wi-Fi.</p>
|
|
|
<p>If you are using a VPN, firewall, ad blocker, or similar, please try
|
|
|
to disable it, or make an exception for FairEmail. Email servers often
|
|
|
block connections via a VPN, and in general from foreign countries.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq193"></a> <strong>(193) How can I import Outlook
|
|
|
contacts?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq193">Google
|
|
|
Translate</a></p>
|
|
|
<p>If there are one or more Outlook or Office 365 accounts configured,
|
|
|
there will be a button in the main settings screen in setup step 2 to
|
|
|
download Outlook contacts (since version 1.2076). After tapping on this
|
|
|
button, you can select the account to download contacts for. Microsoft
|
|
|
will ask for permission to read the contacts, and after granting this
|
|
|
permission, the app will download the contacts with an email address
|
|
|
into the local contacts’ database.</p>
|
|
|
<p>In the message editor, type the first few letters of the email
|
|
|
address or name in any of the email address fields, and the downloaded
|
|
|
addresses will be suggested.</p>
|
|
|
<p>For privacy and security reasons, FairEmail doesn’t have permissions
|
|
|
to write into the Android address book, and also not to write in the
|
|
|
address book of Outlook. This means that contacts can be downloaded as
|
|
|
local contacts only, and can’t be synchronized two ways. If you are
|
|
|
looking to synchronize your Outlook contacts with the Android address
|
|
|
book, you should look for a sync app in the Play Store which can do
|
|
|
this.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq194"></a> <strong>(194) How can I set up automatic
|
|
|
deletion of old messages?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq194">Google
|
|
|
Translate</a></p>
|
|
|
<p>To set up automatic deletion of old messages:</p>
|
|
|
<ul>
|
|
|
<li>Tap on the account name in the navigation menu (left side menu)</li>
|
|
|
<li>Long press the folder you want to set up auto deletion for, and
|
|
|
select to edit the folder properties</li>
|
|
|
<li>Near the bottom of the properties screen, there is an option to
|
|
|
enable auto deletion</li>
|
|
|
</ul>
|
|
|
<p>Messages in the trash and spam folder will be
|
|
|
<strong>permanently</strong> deleted, and messages in other folders will
|
|
|
be moved to the trash folder.</p>
|
|
|
<p>Unread, starred and snoozed messages and messages younger than 24
|
|
|
hours will not be automatically deleted. You can enable auto deletion of
|
|
|
unread messages in the receive-settings tab page (option <em>Delete old
|
|
|
unread messages</em>).</p>
|
|
|
<p>Note that it isn’t a good idea to automatically delete recent
|
|
|
messages, especially not for the spam folder because there might be
|
|
|
legitimate messages in the spam folder. There is a button or menu item
|
|
|
(depending on the screen size) in the top action bar/menu of the trash
|
|
|
and spam folder to empty the folder. This way there is at least a visual
|
|
|
check.</p>
|
|
|
<p>Auto deletion will be done on a full sync only. For the inboxes, you
|
|
|
can use <em>Force sync</em> in the three-dots overflow menu of the start
|
|
|
screen. For other folders, you can long press the folder in the folder
|
|
|
list of the account (<em>not</em> the navigation menu), and select
|
|
|
<em>Synchronize now</em> in the pop-up menu. You can also pull down the
|
|
|
messages list of any folder to sync it, and repeat this again within 30
|
|
|
seconds for a full sync.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq195"></a> <strong>(195) Why are all messages in the
|
|
|
archive folder of Gmail?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq195">Google
|
|
|
Translate</a></p>
|
|
|
<p>The Gmail server stores all messages, except the messages in the
|
|
|
draft, sent, trash and spam messages folder in the all messages’ folder
|
|
|
(=archive folder). FairEmail is an email client, which basically
|
|
|
displays what is on the email server, and therefore it will show these
|
|
|
messages too.</p>
|
|
|
<p>To be clear: FairEmail does not store the messages in the archive
|
|
|
folder, unless you explicitly archive a message.</p>
|
|
|
<p>This has advantages, though, because it makes searching in all
|
|
|
messages easier.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq196"></a> <strong>(196) Can you add empty trash on
|
|
|
leaving the app?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq196">Google
|
|
|
Translate</a></p>
|
|
|
<p>Besides that leaving an app is an ambiguous action, automatically
|
|
|
deleting trashed messages is a risky action because deleted messages
|
|
|
can’t be restored anymore. A message could accidentally be trashed, and
|
|
|
you could switch to another app, which could be interpreted as leaving
|
|
|
the app, and the message would be gone forever.</p>
|
|
|
<p>Instead, you can configure auto-deletion of older messages, which is
|
|
|
safer because the messages won’t be deleted immediately. For this,
|
|
|
please tap on the account name in the navigation menu (left side menu)
|
|
|
to go to the folder list of the account. In the folder list, long press
|
|
|
the trash messages folder and select to edit the folder properties. Near
|
|
|
the end of the properties screen, there is a checkbox to enable
|
|
|
auto-deletion. You might want to change the number of days to keep
|
|
|
messages on your device.</p>
|
|
|
<p>Note that the reference time is the time the message was first stored
|
|
|
on the device, not the date/time of the message itself.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq197"></a> <strong>(197) How can I print a
|
|
|
message?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq197">Google
|
|
|
Translate</a></p>
|
|
|
<p>You can print a message, both to a PDF or a printer, by tapping on
|
|
|
the horizontal three-dots button just above the message text near the
|
|
|
left side. You might need to tap on the ‘>’ button to show the
|
|
|
message actions again.</p>
|
|
|
<p>Note that you can configure a button for printing via the same pop-up
|
|
|
menu.</p>
|
|
|
<p>Printing is managed by Android for all apps. You should be able to
|
|
|
select the paper size, etc. You might need to update or install a driver
|
|
|
app for your printer via the Play Store.</p>
|
|
|
<p>A message is printed as-is, which means that the sender of the
|
|
|
message determines the margins, etc.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq198"></a> <strong>(198) Can you add spell
|
|
|
checking?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq198">Google
|
|
|
Translate</a></p>
|
|
|
<p>Spell checking should be provided by the keyboard app for all other
|
|
|
apps. Sometimes, particularly on ChromeOS, spell checking needs to be
|
|
|
enabled in the settings.</p>
|
|
|
<p>That said, LanguageTool, which can be enabled in the integration
|
|
|
settings, is an excellent style and spell checker.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq199"></a> <strong>(199) Can you add proxy
|
|
|
support?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq199">Google
|
|
|
Translate</a></p>
|
|
|
<p>In fact, (HTTP, HTTPS, SOCKS) proxy support was removed because it is
|
|
|
not possible to let an app proxy DNS requests, or in other words, an
|
|
|
in-app proxy will always leak host names and therefore give a false
|
|
|
sense of security.</p>
|
|
|
<p>If you want to proxy traffic, for example to use Tor, you should use
|
|
|
an Android VPN-service based app, which is the only way to reliably
|
|
|
proxy traffic.</p>
|
|
|
<p>Please note that if you want to use a .onion address, you will need
|
|
|
to disable private DNS in the Android network settings.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq200"></a> <strong>(200) How can I use Adguard to remove
|
|
|
tracking parameters?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq200">Google
|
|
|
Translate</a></p>
|
|
|
<p>To use <a href="https://adguard.com/">Adguard</a> to remove tracking
|
|
|
parameters from links:</p>
|
|
|
<ol type="1">
|
|
|
<li>Enable confirming links in the privacy-settings tab page</li>
|
|
|
<li>Download and enable <a
|
|
|
href="https://github.com/AdguardTeam/FiltersRegistry">the Adguard filter
|
|
|
list</a>, also via the privacy-settings tab page</li>
|
|
|
<li>When you tap on a link, the app will check the filter list</li>
|
|
|
<li>If a list entry is found for the link, the app will suggest to
|
|
|
<em>Remove tracking parameters</em> in the confirmation dialog box</li>
|
|
|
</ol>
|
|
|
<p>Note that the Adguard filter list contains over 2,000 entries, which
|
|
|
takes a few moments to scan, visible as a short delay between tapping on
|
|
|
a link and the link confirmation dialog box appearing.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq201"></a> <strong>(201) What is certificate
|
|
|
transparency?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq201">Google
|
|
|
Translate</a></p>
|
|
|
<p>Please see <a
|
|
|
href="https://certificate.transparency.dev/howctworks/">this article</a>
|
|
|
about what certificate transparency is. Alternatively, see <a
|
|
|
href="https://en.wikipedia.org/wiki/Certificate_Transparency">this
|
|
|
Wikipedia article</a>.</p>
|
|
|
<p>When certificate transparency is enabled in the connection-settings
|
|
|
tab page of the app, the <a
|
|
|
href="https://github.com/GoogleChrome/CertificateTransparency/blob/master/ct_policy.md">Chrome
|
|
|
Certificate Transparency Policy</a> will be applied.</p>
|
|
|
<p>FairEmail uses <a
|
|
|
href="https://github.com/appmattus/certificatetransparency">this
|
|
|
library</a> to implement certificate transparency via a custom trust
|
|
|
manager.</p>
|
|
|
<p><br></p>
|
|
|
<p><a name="faq202"></a> <strong>(202) What is DNSSEC and what is
|
|
|
DANE?</strong></p>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23faq202">Google
|
|
|
Translate</a></p>
|
|
|
<p>Please see <a
|
|
|
href="https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions">this
|
|
|
Wikipedia article</a> about what DNSSEC is.</p>
|
|
|
<p>Please see <a
|
|
|
href="https://github.com/internetstandards/toolbox-wiki/blob/main/DANE-for-SMTP-how-to.md">this
|
|
|
article</a> about what DANE is. Alternatively, see <a
|
|
|
href="https://en.wikipedia.org/wiki/DNS-based_Authentication_of_Named_Entities">this
|
|
|
Wikipedia article</a>.</p>
|
|
|
<p>You can use <a href="https://ssl-tools.net/tlsa-generator">this
|
|
|
tool</a> to generate TLSA DNS records for DANE (select either PKIX-EE or
|
|
|
DANE-EE).</p>
|
|
|
<p>You can enable enforcing DNSSEC and/or DANA in the (advanced) account
|
|
|
and identity settings (since version 1.2149).</p>
|
|
|
<p>Note that only some email providers support DANE and that only a
|
|
|
limited number of DNS servers support DNSSEC (January 2024: ~30%), which
|
|
|
is required for DANE. Most private DNS providers support DNSSEC, though.
|
|
|
You can configure private DNS in the Android network settings (since
|
|
|
Android 9). To be sure that private DNS is being used, better configure
|
|
|
a host name like <em>dns.google</em>,
|
|
|
<em>1dot1dot1dot1.cloudflare-dns.com</em> or <em>dns.quad9.net</em>. An
|
|
|
alternative is using Certificate Transparency, see the previous FAQ.</p>
|
|
|
<p>Some email providers known to support DANE for client-to-server
|
|
|
traffic:</p>
|
|
|
<ul>
|
|
|
<li><a href="https://disroot.org/">Disroot.org</a></li>
|
|
|
<li><a href="https://email.freenet.de/">Freenet.de</a></li>
|
|
|
<li><a href="https://mailbox.org/">Mailbox.org</a></li>
|
|
|
<li><a href="https://posteo.de/">Posteo.de</a></li>
|
|
|
</ul>
|
|
|
<p>This is not a complete and exhaustive list.</p>
|
|
|
<p>Please see <a
|
|
|
href="https://www.zivver.com/blog/why-cisos-and-security-professionals-can-no-longer-rely-on-regular-email-for-the-sharing-of-personal-information">this
|
|
|
article</a> about why DANE is important.</p>
|
|
|
<p><br></p>
|
|
|
<h2>
|
|
|
<a name="get-support"></a>Get support
|
|
|
</h2>
|
|
|
<p>🌎 <a
|
|
|
href="https://translate.google.com/translate?sl=en&u=https%3A%2F%2Fm66b.github.io%2FFairEmail%2F%23get-support">Google
|
|
|
Translate</a></p>
|
|
|
<p>FairEmail is supported on Android smartphones and tablets and
|
|
|
ChromeOS only.</p>
|
|
|
<p>There is support only if the app was downloaded via one of the <a
|
|
|
href="https://github.com/M66B/FairEmail#downloads">supported download
|
|
|
locations</a>.</p>
|
|
|
<p>Only the latest Play store version and latest GitHub release are
|
|
|
supported. The F-Droid build is supported only if the version number is
|
|
|
the same as the version number of the latest GitHub release. This also
|
|
|
means that downgrading is not supported.</p>
|
|
|
<p>There is no support for things that are not directly related to
|
|
|
FairEmail.</p>
|
|
|
<p>There is no support on building and developing things by
|
|
|
yourself.</p>
|
|
|
<p><a name="feature_request"></a></p>
|
|
|
<p>A change will be considered only if more than a few people ask for
|
|
|
it. Changes in the past resulted too often in lots of complaints of
|
|
|
other people.</p>
|
|
|
<p>Requested features should:</p>
|
|
|
<ul>
|
|
|
<li>within the scope of the app</li>
|
|
|
<li>be useful to more than a few people</li>
|
|
|
<li>fit logically and consistently within the app</li>
|
|
|
<li>fit within the philosophy of the app (privacy-oriented,
|
|
|
security-minded)</li>
|
|
|
<li>comply with common standards (IMAP, SMTP, etc.)</li>
|
|
|
<li>comply with the <a
|
|
|
href="https://developer.android.com/docs/quality-guidelines/core-app-quality">Core
|
|
|
app quality guidelines</a></li>
|
|
|
</ul>
|
|
|
<p>Features unrelated to email, including reading newsgroups and reading
|
|
|
RSS feeds, fall outside the scope of the project.</p>
|
|
|
<p>The goal of the design is to be minimalistic (no unnecessary menus,
|
|
|
buttons, etc) and non distracting (no fancy colors, animations, etc).
|
|
|
All displayed things should be useful in one or another way and should
|
|
|
be carefully positioned for easy usage. Fonts, sizes, colors, etc should
|
|
|
be material design whenever possible.</p>
|
|
|
<p>There are requests daily to change the appearance in this or that
|
|
|
way, but the problem is that these requests are more often than not
|
|
|
conflicting. To prevent making other people unhappy, changes in the
|
|
|
appearance always need to clearly and objectively contribute to the
|
|
|
usability of the app to be considered.</p>
|
|
|
<p>A feature will be considered useful to most people if more than 0.1%
|
|
|
of the users request a feature, which in practice means about 500
|
|
|
people.</p>
|
|
|
<p>Features not fulfilling these requirements will likely be rejected.
|
|
|
This is also to keep maintenance and support in the long term feasible.
|
|
|
Please see also this Wikipedia article about <a
|
|
|
href="https://en.wikipedia.org/wiki/Feature_creep">feature
|
|
|
creep</a>.</p>
|
|
|
<p>Note that there are already more features and options in FairEmail
|
|
|
than in any other Android email client.</p>
|
|
|
<p><a name="quick-support"></a></p>
|
|
|
<p><br /></p>
|
|
|
<p>🛟 🛟 🛟 🛟 🛟</p>
|
|
|
<p>🇬🇧 If you have a question, want to request a feature or report a bug,
|
|
|
<strong>please use <a
|
|
|
href="https://contact.faircode.eu/?product=fairemailsupport">this
|
|
|
form</a></strong>.</p>
|
|
|
<p>🇩🇪 Wenn Sie eine Frage haben, eine Funktion anfordern oder einen
|
|
|
Fehler melden möchten, <strong>verwenden Sie bitte <a
|
|
|
href="https://contact.faircode.eu/?product=fairemailsupport">dieses
|
|
|
Formular</a></strong>.</p>
|
|
|
<p>🇫🇷 Si vous avez une question, souhaitez demander une fonctionnalité
|
|
|
ou signaler un bogue, <strong>veuillez utiliser <a
|
|
|
href="https://contact.faircode.eu/?product=fairemailsupport">ce
|
|
|
formulaire</a></strong>.</p>
|
|
|
<p><br /></p>
|
|
|
<p>GitHub issues are disabled due to frequent misusage.</p>
|
|
|
<p><br /></p>
|
|
|
<p>Copyright © 2018-2024 Marcel Bokhorst.</p>
|