mirror of
https://github.com/M66B/FairEmail.git
synced 2025-03-15 16:39:37 +00:00
Added setup help
This commit is contained in:
parent
cc31a5fd31
commit
34d188d257
3 changed files with 86 additions and 0 deletions
55
SETUP.md
Normal file
55
SETUP.md
Normal file
|
@ -0,0 +1,55 @@
|
|||
# Setup help
|
||||
|
||||
Mostly setting up FairEmail is fairly simple.
|
||||
You'll need to add at least one account to receive email and at least one identity if you want to send email.
|
||||
|
||||
## Requirements
|
||||
|
||||
An internet connection is required to add accounts and identities.
|
||||
|
||||
Your email provider should support IMAP with the IDLE and UIDPLUS extensions.
|
||||
All up-to-date email providers do, with as notable exception Yahoo!
|
||||
IMAP IDLE is required to limit battery usage,
|
||||
see [this FAQ](https://github.com/M66B/open-source-email/blob/master/FAQ.md#FAQ5) for more details.
|
||||
|
||||
Your email provider should support secure connections.
|
||||
If your provider doesn't support secure connections and you care at least a little about your privacy,
|
||||
you are strongly advised to switch to another provider.
|
||||
|
||||
For security reasons, your account need to have a non empty password set.
|
||||
|
||||
## Account
|
||||
|
||||
To add an account, tap on *Manage accounts* and tap on the orange *add* button at the bottom.
|
||||
Select a provider from the list, enter the username, which is mostly your email address and enter your password.
|
||||
If you use Gmail, tap *Select account* to fill in the username and password.
|
||||
Tap *Check* to let FairEmail connect to the email server and fetch a list of system folders.
|
||||
After reviewing the system folder selection you can add the account by tapping *Save*.
|
||||
|
||||
If your provider is not in the list of providers, select *Custom*.
|
||||
Enter the domain name, for example *gmail.com* and tap *Get settings*.
|
||||
If your provider supports [auto-discovery](https://tools.ietf.org/html/rfc6186), FairEmail will fill in the host name and port number,
|
||||
else check the setup instructions of your provider for the right IMAP host name and port number.
|
||||
|
||||
## Identity
|
||||
|
||||
Similarly, to add an identity, tap on *Manage identity* and tap on the orange *add* button at the bottom.
|
||||
Enter the name you want to appear in de from address of the emails you send and select a linked account.
|
||||
Tap *Save* to add the identity.
|
||||
|
||||
See [this FAQ](https://github.com/M66B/open-source-email/blob/master/FAQ.md#FAQ9) about using aliases.
|
||||
|
||||
## Permissions
|
||||
|
||||
If you want to lookup email addresses, have contact photos shown, etc, you'll need to grant read contacts permission to FairEmail.
|
||||
Just tap *Grant permissions* and select *Allow*.
|
||||
|
||||
## Battery optimizations
|
||||
|
||||
On recent Android versions, Android will put apps to sleep when the screen is off for some time to reduce battery usage.
|
||||
If you want to receive new emails without delays, you should disable battery optimizations for FairEmail.
|
||||
Tap *Disable battery optimizations* and follow the instructions.
|
||||
|
||||
## Questions
|
||||
|
||||
If you have a question or problem, please [see here](https://github.com/M66B/open-source-email/blob/master/FAQ.md).
|
|
@ -45,6 +45,7 @@ import android.view.View;
|
|||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
import android.widget.ToggleButton;
|
||||
|
||||
|
@ -74,6 +75,8 @@ import static android.app.Activity.RESULT_OK;
|
|||
public class FragmentSetup extends FragmentEx {
|
||||
private ViewGroup view;
|
||||
|
||||
private ImageButton ibHelp;
|
||||
|
||||
private Button btnAccount;
|
||||
private TextView tvAccountDone;
|
||||
|
||||
|
@ -116,6 +119,8 @@ public class FragmentSetup extends FragmentEx {
|
|||
view = (ViewGroup) inflater.inflate(R.layout.fragment_setup, container, false);
|
||||
|
||||
// Get controls
|
||||
ibHelp = view.findViewById(R.id.ibHelp);
|
||||
|
||||
btnAccount = view.findViewById(R.id.btnAccount);
|
||||
tvAccountDone = view.findViewById(R.id.tvAccountDone);
|
||||
|
||||
|
@ -135,6 +140,13 @@ public class FragmentSetup extends FragmentEx {
|
|||
|
||||
// Wire controls
|
||||
|
||||
ibHelp.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
startActivity(getIntentHelp());
|
||||
}
|
||||
});
|
||||
|
||||
btnAccount.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
@ -230,6 +242,7 @@ public class FragmentSetup extends FragmentEx {
|
|||
});
|
||||
|
||||
// Initialize
|
||||
ibHelp.setVisibility(View.GONE);
|
||||
|
||||
tvAccountDone.setText(null);
|
||||
tvAccountDone.setCompoundDrawables(null, null, null, null);
|
||||
|
@ -292,6 +305,9 @@ public class FragmentSetup extends FragmentEx {
|
|||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
|
||||
PackageManager pm = getContext().getPackageManager();
|
||||
ibHelp.setVisibility(getIntentHelp().resolveActivity(pm) == null ? View.GONE : View.VISIBLE);
|
||||
|
||||
DB db = DB.getInstance(getContext());
|
||||
|
||||
db.account().liveAccounts(true).observe(getViewLifecycleOwner(), new Observer<List<EntityAccount>>() {
|
||||
|
@ -395,6 +411,12 @@ public class FragmentSetup extends FragmentEx {
|
|||
}
|
||||
}
|
||||
|
||||
private Intent getIntentHelp() {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setData(Uri.parse("https://github.com/M66B/open-source-email/blob/master/SETUP.md"));
|
||||
return intent;
|
||||
}
|
||||
|
||||
private static Intent getIntentExport() {
|
||||
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
|
||||
intent.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
|
|
|
@ -13,6 +13,15 @@
|
|||
|
||||
<!-- account -->
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/ibHelp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:src="@drawable/baseline_help_24"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnAccount"
|
||||
android:layout_width="wrap_content"
|
||||
|
|
Loading…
Add table
Reference in a new issue