Compare commits

...

4 Commits

Author SHA1 Message Date
M66B 8529e6c012 Added input field for MAIL FROM 2024-04-25 11:01:34 +02:00
M66B a32d71273b Updated changelog 2024-04-25 08:42:31 +02:00
M66B 3401f301ad Go to unified inbox when using primary inbox 2024-04-25 08:39:52 +02:00
M66B 9fb426303b Crowdin sync 2024-04-25 07:40:08 +02:00
13 changed files with 3135 additions and 26 deletions

View File

@ -6,6 +6,11 @@ For support you can use [the contact form](https://contact.faircode.eu/?product=
### [Zby](https://en.wikipedia.org/wiki/Zby)
### Next version
* Small improvements and minor bug fixes
* Updated [translations](https://crowdin.com/project/open-source-email)
### 1.2176 - 2024-04-22
* Fixed British English translation

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,11 @@ For support you can use [the contact form](https://contact.faircode.eu/?product=
### [Zby](https://en.wikipedia.org/wiki/Zby)
### Next version
* Small improvements and minor bug fixes
* Updated [translations](https://crowdin.com/project/open-source-email)
### 1.2176 - 2024-04-22
* Fixed British English translation

View File

@ -1,6 +1,6 @@
# Einrichtungshilfe
Es ist ziemlich einfach, FairEmail einzurichten. Sie müssen mindestens ein Konto hinzufügen, um E-Mails zu empfangen, und mindestens eine Identität, um E-Mails zu senden. Die Schnelleinrichtung wird ein Konto und eine Identität in einem Schritt für die meisten großen Anbieter hinzufügen.
Die Einrichtung von FairEmail ist ziemlich einfach. Sie müssen mindestens ein Konto hinzufügen, um E-Mails zu empfangen, und mindestens eine Identität, um E-Mails zu senden. Die Schnelleinrichtung wird ein Konto und eine Identität in einem Schritt für die meisten großen Anbieter hinzufügen.
## Anforderungen
@ -10,7 +10,7 @@ Für die Einrichtung von Konten und Identitäten ist eine Internetverbindung erf
Wählen Sie einfach den passenden Anbieter oder *»Anderer Anbieter«* aus, geben Ihren Namen, Ihre E-Mail-Adresse und Ihr Passwort ein und tippen auf *»Überprüfen«*.
Dies funktioniert für die meisten E-Mail-Anbieter.
Das funktioniert für die meisten großen E-Mail-Anbieter.
Wenn die Schnelleinrichtung nicht funktioniert, müssen Sie Konto und Identität manuell einrichten, siehe Anweisungen unten.

View File

@ -1,6 +1,6 @@
# Guida di configurazione
Configurare FairEmail è abbastanza semplice. Dovrai aggiungere almeno un profilo per ricevere le email e almeno un'identità se vuoi inviarle. La configurazione rapida aggiungerà un profilo e un'identità in una sola volta per gran parte dei principali fornitori.
Configurare FairEmail è semplice. Aggiungi almeno un profilo (account di posta) per ricevere le email e almeno un'identità se vuoi inviarle. La configurazione rapida aggiungerà un profilo e un'identità in modalità guidata (valida per i principali provider di posta).
## Requisiti
@ -8,34 +8,34 @@ Configurare FairEmail è abbastanza semplice. Dovrai aggiungere almeno un profil
## Configurazione rapida
Basta selezionare il provider appropriato o *Altri provider* e inserire il tuo nome, l'indirizzo email e la password, e toccare *Controlla*.
Basta selezionare il provider appropriato o *Altri provider* e inserire il tuo nome, l'indirizzo email e la password, e toccare *Controlla*:
Questo funzionerà per gran parte dei provider email.
non sarà necessario configurare altro.
Se la configurazione rapida non funziona, dovrai configurare manualmente un profilo e un'identità, vedi sotto per le istruzioni.
Se la configurazione rapida non funziona, dovrai impostare manualmente un profilo e un'identità: leggi le istruzioni qui sotto.
## Configura il profilo - per ricevere le email
Per aggiungere un profilo, tocca *Configurazione manuale e altre opzioni*, tocca *Profili* e il pulsante 'più' in fondo e seleziona IMAP (o POP3). Seleziona un provider dall'elenco, inserisci il nome utente, che è prevalentemente il tuo indirizzo email e inserisci la tua password. Tocca *Controlla* per far connettere FairEmail al server email e recuperare un elenco delle cartelle di sistema. Dopo aver revisionato la selezione delle cartelle di sistema, puoi aggiungere il profilo toccando *Salva*.
Per aggiungere un profilo, tocca *Configurazione manuale e altre opzioni*, tocca *Profili* e il pulsante 'più' in fondo e seleziona IMAP (o POP3). Seleziona un provider dall'elenco, inserisci il nome utente, che è quasi sempre il tuo indirizzo email, e la tua password. Tocca *Controlla* per collegare FairEmail al server e recuperare l'elenco delle cartelle di posta. Controlla le cartelle selezionate, poi conferma l'aggiunta dell'account con il tasto *Salva*.
Se il tuo provider non è nell'elenco, ce ne sono a migliaia, seleziona *Personalizzato*. Inserisci il nome del dominio, ad esempio *gmail.com* e tocca *Ottieni le impostazioni*. Se il tuo provider supporta [auto-discovery](https://tools.ietf.org/html/rfc6186), FairEmail compilerà il nome dell'host e il numero di porta, altrimenti controlla le istruzioni di configurazione del tuo provider per il giusto nome dell'host IMAP, numero di porta e protocollo di crittografia (SSL/TLS o STARTTLS). Per altro a riguardo, sei pregato di vedere [qui](https://github.com/M66B/FairEmail/blob/master/FAQ.md#authorizing-accounts).
I provider di posta sono migliaia: se il tuo non è nell'elenco, seleziona *Personalizzato*. Inserisci il nome del dominio (es. *gmail.com*) e tocca *Scarica le impostazioni*. Se il tuo provider supporta [auto-discovery](https://tools.ietf.org/html/rfc6186), FairEmail compilerà il nome dell'host e il numero di porta; altrimenti cerca le impostazioni più recenti sul sito del tuo provider. I parametri obbligatori sono: host IMAP, numero di porta e protocollo di crittografia (SSL/TLS o STARTTLS). Clicca [qui](https://github.com/M66B/FairEmail/blob/master/FAQ.md#authorizing-accounts) se ti occorrono altre informazioni.
## Configura l'identità - per inviare le email
Similmente, per aggiungere un'identità, tocca *Configurazione manuale e altre opzioni*, tocca *Identità* e il pulsante 'più' in fondo. Inserisci il nome che vuoi compaia nell'indirizzo del mittente delle email che invii e seleziona un profilo collegato. Tocca *Salva* per aggiungere l'identità.
Per aggiungere un'identità, tocca *Configurazione manuale e altre opzioni*, poi *Identità* e infine il pulsante + ('più') in fondo. Inserisci il tuo nome (quello che apparirà ai destinatari come mittente), poi scegli un account a cui collegarlo. Tocca *Salva* per aggiungere l'identità.
Se il profilo è stato configurato manualmente, potresti dover configurare manualmente anche l'identità. Inserisci il nome del dominio, ad esempio *gmail.com* e tocca *Ottieni le impostazioni*. Se il tuo provider supporta [auto-discovery](https://tools.ietf.org/html/rfc6186), FairEmail compilerà il nome dell'host e il numero di porta, altrimenti controlla le istruzioni di configurazione del tuo provider per il giusto nome dell'host SMTP, numero di porta e protocollo di crittografia (SSL/TLS o STARTTLS).
Se il profilo è stato configurato manualmente, potresti dover configurare manualmente anche l'identità. Inserisci il nome del dominio, ad esempio *gmail.com* e tocca *Scarica le impostazioni*. Se il tuo provider supporta [auto-discovery](https://tools.ietf.org/html/rfc6186), FairEmail compilerà il nome dell'host e il numero di porta; altrimenti cerca le impostazioni più recenti sul sito del tuo provider. I parametri obbligatori sono: host IMAP, numero di porta e protocollo di crittografia (SSL/TLS o STARTTLS).
Vedi [questa FAQ](https://github.com/M66B/FairEmail/blob/master/FAQ.md#FAQ9) sull'uso degli alias.
Per l'utilizzo degli alias, vedi [questa FAQ](https://github.com/M66B/FairEmail/blob/master/FAQ.md#FAQ9).
## Concedi le autorizzazioni - per accedere alle informazioni di contatto
## Configura l'accesso ai contatti (Rubrica di sistema)
Se vuoi cercare gli indirizzi email, visualizzare le foto di contatto, etc., dovrai concedere le autorizzazioni per leggere le informazioni di contatto a FairEmail. Basta toccare su *Autorizza* e selezionare *Consenti*.
Se vuoi cercare gli indirizzi email dei tuoi contatti Google, visualizzare le foto e rendere più semplice l'interazione con la rubrica di sistema, dovrai autorizzare FairEmail a leggere le informazioni di contatto. Basta toccare *Autorizza* e di seguito *Consenti*.
## Configura le ottimizzazioni della batteria - per ricevere costantemente le email
## Consentire a FairEmail di ricevere le email in tempo reale
Sulle versioni recenti di Android, Android metterà in standby le app quando lo schermo è spento per un po' di tempo per ridurre l'uso della batteria. Se vuoi ricevere le nuove email senza ritardo, dovresti disabilitare le ottimizzazioni della batteria per FairEmail. Tocca *Gestisci* e segui le istruzioni.
Per limitare al massimo l'uso della batteria, Android chiude automaticamente le app in background dopo un certo numero di minuti. Le uniche app che possono funzionare in background sono quelle di sistema e quelle a cui l'utente concede le autorizzazioni necessarie. Tocca *Gestisci* e segui le istruzioni.
## Domande o problemi
## Altro
Se hai una domanda o un problema, sei pregato di [vedere qui](https://github.com/M66B/FairEmail/blob/master/FAQ.md) per aiuto.
Se hai una domanda o un problema, sei pregato di [controllare qui](https://github.com/M66B/FairEmail/blob/master/FAQ.md) per trovare una risposta o chiedere assistenza.

View File

@ -163,9 +163,17 @@ public class AdapterNavUnified extends RecyclerView.Adapter<AdapterNavUnified.Vi
if (folder == null)
return;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String startup = prefs.getString("startup", "unified");
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context);
if (EntityFolder.OUTBOX.equals(folder.type))
lbm.sendBroadcast(new Intent(ActivityView.ACTION_VIEW_OUTBOX));
else if ("inbox".equals(startup) && EntityFolder.INBOX.equals(folder.type))
lbm.sendBroadcast(
new Intent(ActivityView.ACTION_VIEW_MESSAGES)
.putExtra("type", (String) null)
.putExtra("unified", true));
else if (folder.folders > 1 || folder.type == null)
lbm.sendBroadcast(
new Intent(ActivityView.ACTION_VIEW_MESSAGES)

View File

@ -68,7 +68,7 @@ import javax.mail.internet.InternetAddress;
// https://developer.android.com/topic/libraries/architecture/room.html
@Database(
version = 291,
version = 292,
entities = {
EntityIdentity.class,
EntityAccount.class,
@ -2950,6 +2950,12 @@ public abstract class DB extends RoomDatabase {
logMigration(startVersion, endVersion);
db.execSQL("ALTER TABLE `folder` ADD COLUMN `last_view` INTEGER");
}
}).addMigrations(new Migration(291, 292) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase db) {
logMigration(startVersion, endVersion);
db.execSQL("ALTER TABLE `identity` ADD COLUMN `envelopeFrom` TEXT");
}
}).addMigrations(new Migration(998, 999) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase db) {

View File

@ -63,8 +63,6 @@ public class EntityIdentity {
public String name;
@NonNull
public String email;
@Ignore
public String envelopeFrom;
@NonNull
public Long account;
public String display;
@ -114,6 +112,7 @@ public class EntityIdentity {
public String replyto;
public String cc;
public String bcc;
public String envelopeFrom;
public String internal;
public String uri; // linked contact
@NonNull

View File

@ -128,6 +128,7 @@ public class FragmentIdentity extends FragmentBase {
private EditText etReplyTo;
private EditText etCc;
private EditText etBcc;
private EditText etEnvelopeFrom;
private EditText etInternal;
private Button btnUri;
private TextView tvUriInfo;
@ -237,6 +238,7 @@ public class FragmentIdentity extends FragmentBase {
etReplyTo = view.findViewById(R.id.etReplyTo);
etCc = view.findViewById(R.id.etCc);
etBcc = view.findViewById(R.id.etBcc);
etEnvelopeFrom = view.findViewById(R.id.etEnvelopeFrom);
etInternal = view.findViewById(R.id.etInternal);
btnUri = view.findViewById(R.id.btnUri);
tvUriInfo = view.findViewById(R.id.tvUriInfo);
@ -778,6 +780,7 @@ public class FragmentIdentity extends FragmentBase {
args.putString("replyto", etReplyTo.getText().toString().trim());
args.putString("cc", etCc.getText().toString().trim());
args.putString("bcc", etBcc.getText().toString().trim());
args.putString("envelope_from", etEnvelopeFrom.getText().toString().trim());
args.putString("internal", etInternal.getText().toString().replaceAll(" ", ""));
args.putString("uri", (String) btnUri.getTag());
args.putBoolean("sign_default", cbSignDefault.isChecked());
@ -869,6 +872,7 @@ public class FragmentIdentity extends FragmentBase {
String replyto = args.getString("replyto");
String cc = args.getString("cc");
String bcc = args.getString("bcc");
String envelope_from = args.getString("envelope_from");
String internal = args.getString("internal");
String uri = args.getString("uri");
boolean sign_default = args.getBoolean("sign_default");
@ -932,6 +936,14 @@ public class FragmentIdentity extends FragmentBase {
throw new IllegalArgumentException(context.getString(R.string.title_email_invalid, bcc));
}
if (!TextUtils.isEmpty(envelope_from) && !should)
try {
for (InternetAddress address : InternetAddress.parse(envelope_from))
address.validate();
} catch (AddressException ex) {
throw new IllegalArgumentException(context.getString(R.string.title_email_invalid, envelope_from));
}
if (TextUtils.isEmpty(internal))
internal = null;
@ -959,6 +971,9 @@ public class FragmentIdentity extends FragmentBase {
if (TextUtils.isEmpty(bcc))
bcc = null;
if (TextUtils.isEmpty(envelope_from))
envelope_from = null;
if (color == Color.TRANSPARENT || !ActivityBilling.isPro(context))
color = null;
if (TextUtils.isEmpty(signature))
@ -1036,6 +1051,8 @@ public class FragmentIdentity extends FragmentBase {
return true;
if (!Objects.equals(identity.bcc, bcc))
return true;
if (!Objects.equals(identity.envelopeFrom, envelope_from))
return true;
if (!Objects.equals(identity.internal, internal))
return true;
if (!Objects.equals(identity.uri, uri))
@ -1150,6 +1167,7 @@ public class FragmentIdentity extends FragmentBase {
identity.replyto = replyto;
identity.cc = cc;
identity.bcc = bcc;
identity.envelopeFrom = envelope_from;
identity.internal = internal;
identity.uri = uri;
identity.sign_default = sign_default;
@ -1343,6 +1361,7 @@ public class FragmentIdentity extends FragmentBase {
etReplyTo.setText(identity == null ? null : identity.replyto);
etCc.setText(identity == null ? null : identity.cc);
etBcc.setText(identity == null ? null : identity.bcc);
etEnvelopeFrom.setText(identity == null ? null : identity.envelopeFrom);
etInternal.setText(identity == null ? null : identity.internal);
btnUri.setTag(identity == null ? null : identity.uri);
tvUriInfo.setText(identity == null ? null : getUriInfo(identity.uri));

View File

@ -833,6 +833,38 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/etBcc" />
<TextView
android:id="@+id/tvEnvelopeFrom"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@string/title_envelope_from"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvBccHint" />
<eu.faircode.email.EditTextPlain
android:id="@+id/etEnvelopeFrom"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/title_optional"
android:importantForAutofill="no"
android:inputType="textEmailAddress"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvEnvelopeFrom" />
<TextView
android:id="@+id/tvEnvelopeFromHint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/title_advanced_envelope_from_hint"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textStyle="italic"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/etEnvelopeFrom" />
<TextView
android:id="@+id/tvInternal"
android:layout_width="wrap_content"
@ -841,7 +873,7 @@
android:text="@string/title_identity_internal"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvBccHint" />
app:layout_constraintTop_toBottomOf="@id/tvEnvelopeFromHint" />
<eu.faircode.email.EditTextPlain
android:id="@+id/etInternal"
@ -1160,6 +1192,7 @@
cbSynchronize,cbPrimary,cbSelf,tvSelfHint,
cbSenderExtra,cbSenderExtraName,cbReplyExtraName,tvSenderExtra,etSenderExtra,ibSenderExtra,tvSenderExtraHint,
tvReplyTo,etReplyTo,tvCc,etCc,tvCcHint,tvBcc,etBcc,tvBccHint,
tvEnvelopeFrom,etEnvelopeFrom,tvEnvelopeFromHint,
tvInternal,etInternal,tvInternalHint,
btnUri,tvUriHint,tvUriInfo,tvUriPro,
tvE2Encryption,cbSignDefault,cbEncryptDefault,

View File

@ -429,8 +429,8 @@
<string name="title_advanced_reply_move_inbox">Anche per i messaggi nella posta in arrivo</string>
<string name="title_advanced_send_retry_max">Tentativi di invio massimi</string>
<string name="title_advanced_send_retry_hint">Ritenta l\'invio al cambiare della connettività</string>
<string name="title_advanced_send_partial">Ignora indirizzi non validi quando invi</string>
<string name="title_advanced_send_partial_hint">Se alcuni indirizzi non sono validi, il messaggio sarà comunque inviato agli altri indirizzi</string>
<string name="title_advanced_send_partial">Ignora gli indirizzi non validi durante l\'invio</string>
<string name="title_advanced_send_partial_hint">I messaggi saranno inviati a tutti gli indirizzi validi. Gli indirizzi non validi o inesistenti saranno semplicemente ignorati</string>
<string name="title_advanced_sent_partially">Il messaggio non è stato inviato a tutti i destinatari</string>
<string name="title_advanced_auto_link">Crea automaticamente i link</string>
<string name="title_advanced_plain_only">Invia testo semplice di default</string>
@ -476,8 +476,8 @@
<string name="title_advanced_caption_message_body">Corpo del messaggio</string>
<string name="title_advanced_caption_file">File</string>
<string name="title_advanced_caption_integrations">Integrazioni</string>
<string name="title_advanced_portrait">Modalità Ritratto</string>
<string name="title_advanced_landscape">Modalità Paesaggio</string>
<string name="title_advanced_portrait">Schermo verticale</string>
<string name="title_advanced_landscape">Schermo orizzontale</string>
<string name="title_advanced_two_row">Usa due righe</string>
<string name="title_advanced_two_col">Usa due colonne</string>
<string name="title_advanced_min_screen_size">Dimensione minima dello schermo per la sua divisione</string>
@ -953,7 +953,7 @@
<string name="title_account_move">Sposta di default a</string>
<string name="title_account_gmail">Per un\'affidabile sincronizzazione di un profilo di Gmail, la procedura guidata di configurazione rapida di Gmail dovrebbe esser usata quando possibile</string>
<string name="title_domain">Nome del dominio</string>
<string name="title_autoconfig">Ottieni impostazioni</string>
<string name="title_autoconfig">Scarica impostazioni</string>
<string name="title_aliases">Alias</string>
<string name="title_provider">Provider</string>
<string name="title_custom">Personalizzato</string>

View File

@ -1085,6 +1085,7 @@
<string name="title_advanced_autoclose_hint">Automatically close conversations when all messages are archived, sent or trashed</string>
<string name="title_advanced_sender_hint">Most providers do not allow modified sender addresses</string>
<string name="title_advanced_bcc_hint">The address won\'t be shown, but will be added on sending</string>
<string name="title_advanced_envelope_from_hint">This address will be used for SMTP MAIL FROM</string>
<string name="title_advanced_internal_hint">There will be a warning when sending to another domain</string>
<string name="title_advanced_uri">The details of the selected contact will be used for vCard attachments</string>
<string name="title_advanced_e2e_encryption">Options for end-to-end encryption</string>
@ -1662,6 +1663,7 @@
<string name="title_reply_to">Reply to:</string>
<string name="title_cc">CC:</string>
<string name="title_bcc">BCC:</string>
<string name="title_envelope_from">Envelope from:</string>
<string name="title_recipients">%1$d recipients</string>
<string name="title_via_identity">Via:</string>
<string name="title_sent">Sent:</string>

View File

@ -6,6 +6,11 @@ For support you can use the contact form.
Zby
Next version
* Small improvements and minor bug fixes
* Updated translations
1.2176 - 2024-04-22
* Fixed British English translation