diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 73aec9611..2212d41e7 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -10,7 +10,7 @@
Informació de la revisió: %s
http://code.google.com/p/k9mail/
Fem servir les següents biblioteques de tercers: %s
-
+ Icones Emoji: %s
Llegeix adjunts del correu
Permet a aquesta aplicació que llegeixi els adjunts del correu.
@@ -920,8 +920,8 @@ Benvingut a la configuració del K-9. El K-9 és un client de codi obert per An
Compta resultats cerca
Apaga-ho perquè es mostri més ràpid
-
-
+ Amaga comptes especials
+ Amaga la bústia d\'entrada unificada i tots els missatges dels comptes
%s %s
- Senyalat
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index f54508f63..727dc12bb 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -9,8 +9,8 @@
http://code.google.com/p/k9mail/wiki/ReleaseNotes
Versionsinformationen: %s
http://code.google.com/p/k9mail/
-
-
+ Wir benutzen die folgenden externen Bibliotheken: %s
+ Emoji Bilder: %s
Anlagen der Nachricht lesen
Dieser Anwendung erlauben die Anlagen Ihrer Nachrichten zu lesen.
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 1c763a680..58044802e 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -139,8 +139,7 @@
Enviando
Repetindo carregamento de mensagens
-
- Toque para ver mais%d msgs.
+ Toque para ver mais %d msgs.
GB
MB
@@ -200,10 +199,10 @@
Sem mais mensagens
-Bem-vindo à configuração do K-9 Mail. K-9 é um cliente de e-mail com código aberto para Android e é originalemente baseado no cliente de e-mail padrão do Android.
+Bem-vindo à configuração do K-9 Mail. K-9 é um cliente de e-mail com código aberto para Android e é originalmente baseado no cliente de e-mail padrão do Android.
\n
\n\nK-9\'s recursor aprimorados incluídos:
-\n * Puchar e-mail usando IMAP IDLE
+\n * Puxar e-mail usando IMAP IDLE
\n * Melhor performance
\n * Reclassificação de mensagens
\n * E-mails com assinaturas
@@ -661,7 +660,7 @@ Bem-vindo à configuração do K-9 Mail. K-9 é um cliente de e-mail com código
Mostrar no top group
Mostrar perto do topo da lista de pastas
- Calsse de exibição para pasta
+ Classe de exibição para pasta
Nenhuma
Primeira Classe
Segunda Classe
@@ -702,7 +701,7 @@ Bem-vindo à configuração do K-9 Mail. K-9 é um cliente de e-mail com código
Piscar LED quando chegar e-mail
- Configução de servidor
+ Configuração de servidor
Opções para composição de uma mensagem
Composição padrão
@@ -786,10 +785,10 @@ Bem-vindo à configuração do K-9 Mail. K-9 é um cliente de e-mail com código
Limpar conta
Todas as mensagens de \"%s\" serão removidas do K-9 Mail, mas as configurações da conta serão mantidas.
- Apenas algumas contas \"Plus\" incluem acesso POP
- permitindo este programa se conecte. Se não estiver conseguinto logar nela com seu
+ Apenas algumas contas \"Plus\" incluem acesso POP,
+ permitindo que este programa se conecte. Se não estiver conseguindo logar nela com seu
endereço de e-mail e senha corretos, talvez você não tenha uma conta \"Plus\" paga.
- Por favor, abra seu Web browser para conseguir acesso a estes tipos de contas.
+ Por favor, abra seu Web browser para conseguir acesso a estes tipos de contas.
Se desejar utilizar POP3 para este provedor, você deverá permitir o uso deste na página de configurações de se e-mail Yahoo.
@@ -822,7 +821,7 @@ Bem-vindo à configuração do K-9 Mail. K-9 é um cliente de e-mail com código
- Loca da Assinatura
+ Local da Assinatura
Antes de escrever o texto
Depois do texto escrito
Escuro
@@ -868,7 +867,7 @@ Bem-vindo à configuração do K-9 Mail. K-9 é um cliente de e-mail com código
Excluir selecionados
Marcar selecionados como lidos
Marcar selecionados como não lidos
- Incuir estrela para selecionados
+ Incluir estrela para selecionados
Remover estrela dos selecionados
Mover selecionados para arquivo
Mover selecionados para Spam
@@ -918,7 +917,7 @@ Bem-vindo à configuração do K-9 Mail. K-9 é um cliente de e-mail com código
%s %s
- - Favoritado
+ - Favorito
- Não lido
Todas as mensagens
@@ -940,7 +939,7 @@ Bem-vindo à configuração do K-9 Mail. K-9 é um cliente de e-mail com código
Controle remoto para K-9 Mail
Permitir esta aplicação controlar atividades e configurações do K-9 Mail.
- Tamanho da fornte
+ Tamanho da fonte
Configurar tamanho da fonte
Lista de contas
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index ff5344ced..4420b1153 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -3,14 +3,14 @@
K-9 E-post
K-9 E-post BETA
Google, The K-9 Dog Walkers.
-
-
+ Copyright 2008-%s The K-9 Dog Walkers. Vissa delar Copyright 2006-%s the Android Open Source Project.
+ Licensierat under Apache-licensen, version 2.0.
Upphovsmän: %s
http://code.google.com/p/k9mail/wiki/ReleaseNotes
Revisionsinformation: %s
http://code.google.com/p/k9mail/
-
-
+ Vi använder följande tredjepartsbibliotek: %s
+ Emoji-ikoner: %s
Läs bilagor
Tillåter denna applikation att läsa bifogade filer.
@@ -42,15 +42,15 @@
\u0020%s/%s
\u0020(Nästa kontroll @ %s)
-
+ \u0020(Synk avaktiverat)
Nästa
-
+ Föregående
OK
Avbryt
Skicka
-
+ Skicka igen
Markera
Avmarkera
Svara
@@ -118,7 +118,7 @@
Dumpa inställningar
Töm papperskorg
Utplåna
-
+ Rensa lokalt lagrade meddelanden
Välj sortering
Omvänd sortering
Om
@@ -128,7 +128,7 @@
Mappinställningar
(Inget ämne)
-
+ Inget datum
Ingen avsändare
Kontrollerar
(Kontrollerar %s%s)
@@ -260,7 +260,7 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Meddelandetext
-------- Originalmeddelande --------
Ämne:
-
+ Skickat:
Från:
Till:
CC:
@@ -324,14 +324,14 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Visa alltid checkboxar för flerval
Touch-vänlig vy
Rymligare listobjekt med förhandsgranskningar
-
-
-
-
-
-
-
-
+ Förhandsgranska rader
+ Visa korrespondensnamn
+ Visa namn på korrespondens hellre än e-post-adresser
+ Visa kontaktnamn
+ Använd avsändarnamn ifrån kontakter när tillgängligt
+ Färglägg kontakter
+ Färglägg inte namn i kontaktlistan
+ Färglägg namn i kontaktlistan
Teckensnitt med fast bredd
Använd ett teckensnitt med fast bredd för att visa brev med enbart text
@@ -349,10 +349,10 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Visa inte e-postens ämnen i notifieringsytan när systemet är låst
-
-
-
-
+ Tyst tid
+ Avaktivera ringsignaler, vibration och blinkande på natten
+ Tyst tid börjar
+ Tyst tid slutar
Konfigurera ett nytt konto
@@ -369,8 +369,8 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Hämtar kontoinformation\u2026
Kontrollerar inställningar för inkommande server\u2026
Kontrollerar inställningar för utgående server\u2026
-
-
+ Authentiserar\u2026
+ Hämtar kontoinställningar\u2026
Avslutar\u2026
Avbryter\u2026
@@ -416,10 +416,10 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Nerladdning av e-post-huvuden
Spara alla huvuden lokalt
-
-
-
-
+ Extern lagring (SD-kort)
+ Vanlig intern lagring
+ %1$s ytterligare intern lagring
+ Lagringsplacering
Utplåna e-post
Direkt efter radering eller flytt
@@ -516,7 +516,7 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
250 brev
500 brev
1000 brev
-
+ alla brev
Kan inte kopiera eller flytta ett brev som inte är synkroniserat med servern
@@ -528,7 +528,7 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Redigera detaljer
Fortsätt
-
+ Advancerat
Allmänna inställningar
Standardkonto
Standardkonto
@@ -543,8 +543,8 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Notifiera även för e-post som jag själv har skickat
Notifieringar öppnar oläst e-post
Letar efter oläst e-post när notifieringen öppnas
-
-
+ Visa antal olästa
+ Visar antalet olästa brev i notifieringsytan.
Scrolla navigationsknappar
Aldrig
@@ -565,16 +565,16 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Svar efter citat
Vid svar på e-post placeras originalmeddelandet ovanför ditt svar.
-
-
-
+ Brevformat
+ Ren text (bilder och formatering tas bort)
+ HTML (bilder och formatering behålls)
-
-
-
+ Citationsstil vid svar
+ Prefix (som Gmail, Pine)
+ Header (som Outlook, Yahoo!, Hotmail)
-
-
+ Allmänna inställningar
+ Utseende
Mappsynkronisering
Mappar
Lista e-post
@@ -590,7 +590,7 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Frekvens för att kontrollera mappar
Frekvens för kontroll av andra klass
-
+ Lagring
Kontofärg
@@ -702,8 +702,8 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
mönster 5
Antal vibrationer
Ringsignal för ny e-post
-
-
+ Blinka LED
+ Blinka LED när det kommer ny e-post
Serverinställningar
@@ -751,7 +751,7 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Välj identitet
Välj identitet
Välj konto/identitet
-
+ Skicka som
Gå till Kontoinställningar -> Hantera identiteter för att skapa en identitet
@@ -785,7 +785,7 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Kontot \"%s\" kommer att raderas från K-9 E-post.
Återskapa konto
- All data för \"%s\" kommer att raderas ifrån K-9 E-post, men kontoinställningar behålls.
+ Alla meddelanden, bifogade filer, mappar och inställningar mapp för \"%s\" kommer att raderas ifrån K-9 E-post, men kontoinställningar behålls.
Rensa konto
All e-post i \"%s\" kommer att raderas ifrån K-9 E-post, men kontoinställningar behålls.
@@ -795,7 +795,7 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
med din korrekta adress och lösenord så kanske du inte har ett betalt
\"Plus\"-konto. Vänligen starta webbläsaren för att komma åt dessa konton.
-
+ Om du vill använda POP3 med denna leverantör måste du välja att tillåta POP3 på inställningssidan för Yahoo!.
Okänt Certifikat
Acceptera nyckel
@@ -831,22 +831,22 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Efter citerad text
Mörk
Ljus
-
-
- Debugging
-
-
-
+ Utseende
+ Globala inställningar
+ Avlusning
+ Sekretess
+ Nätverk
+ Interaktion
Kontolista
E-post-listor
Brev
Tema
Språk
-
-
-
-
+ En-kolumns-layout
+ Formatera om HTML-brev för mindre skärmar
+ Kontroll av zoom
+ Aktivera zoom-widgets eller nyp-zoom om din enhet stödjer det
@@ -900,8 +900,8 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Gester
Acceptera gestkontroll
-
-
+ Komprimera vyer
+ Tryck ihop vyer för att kunna visa mer på varje sida
Volym upp/ner-navigering
Växla mellan val med hjälp av volymkontrollerna
@@ -961,7 +961,7 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Ämne
Avsändare
Datum
-
+ Förhandsvisning
E-post-vy
Avsändare
@@ -1027,7 +1027,7 @@ Välkommen till installationen av K-9 E-post. K-9 är en e-postklient med öppen
Debug-loggning till Androids loggsystem är aktiverat
-
-
-
+ »
+ ›
+ Kan inte ansluta.
diff --git a/src/com/fsck/k9/K9.java b/src/com/fsck/k9/K9.java
index 9322012c9..8b9611f6e 100644
--- a/src/com/fsck/k9/K9.java
+++ b/src/com/fsck/k9/K9.java
@@ -245,6 +245,13 @@ public class K9 extends Application {
*/
public static final int MAX_ATTACHMENT_DOWNLOAD_SIZE = (128 * 1024 * 1024);
+
+ /* How many times should K-9 try to deliver a message before giving up
+ * until the app is killed and restarted
+ */
+
+ public static int MAX_SEND_ATTEMPTS = 5;
+
/**
* Max time (in millis) the wake lock will be held for when background sync is happening
*/
@@ -321,11 +328,7 @@ public class K9 extends Application {
}
- public static void setServicesEnabled(Context context, Integer wakeLockId) {
- setServicesEnabled(context, Preferences.getPreferences(context).getAvailableAccounts().size() > 0, wakeLockId);
- }
-
- public static void setServicesEnabled(Context context, boolean enabled, Integer wakeLockId) {
+ private static void setServicesEnabled(Context context, boolean enabled, Integer wakeLockId) {
PackageManager pm = context.getPackageManager();
diff --git a/src/com/fsck/k9/activity/setup/AccountSettings.java b/src/com/fsck/k9/activity/setup/AccountSettings.java
index 8980b072f..ff7c1c5f3 100644
--- a/src/com/fsck/k9/activity/setup/AccountSettings.java
+++ b/src/com/fsck/k9/activity/setup/AccountSettings.java
@@ -857,7 +857,7 @@ public class AccountSettings extends K9PreferenceActivity {
while (iter.hasNext())
{
Folder folder = iter.next();
- if (mAccount.getOutboxFolderName().equals(folder.getName()))
+ if (mAccount.getOutboxFolderName().equalsIgnoreCase(folder.getName()))
{
iter.remove();
}
diff --git a/src/com/fsck/k9/activity/setup/AccountSetupOutgoing.java b/src/com/fsck/k9/activity/setup/AccountSetupOutgoing.java
index a89678a8c..770f6e909 100644
--- a/src/com/fsck/k9/activity/setup/AccountSetupOutgoing.java
+++ b/src/com/fsck/k9/activity/setup/AccountSetupOutgoing.java
@@ -29,7 +29,7 @@ public class AccountSetupOutgoing extends K9Activity implements OnClickListener,
private static final String EXTRA_MAKE_DEFAULT = "makeDefault";
private static final int smtpPorts[] = {
- 25, 465, 465, 25, 25
+ 587, 465, 465, 587, 587
};
private static final String smtpSchemes[] = {
diff --git a/src/com/fsck/k9/controller/MessagingController.java b/src/com/fsck/k9/controller/MessagingController.java
index 3058874fc..5a52f30b1 100644
--- a/src/com/fsck/k9/controller/MessagingController.java
+++ b/src/com/fsck/k9/controller/MessagingController.java
@@ -1787,7 +1787,11 @@ public class MessagingController implements Runnable {
rootCause = nextCause;
}
} while (nextCause != null);
- return rootCause.getMessage();
+ if (rootCause instanceof MessagingException) {
+ return rootCause.getMessage();
+ } else {
+ return rootCause.toString();
+ }
}
private void queuePendingCommand(Account account, PendingCommand command) {
@@ -2889,15 +2893,21 @@ public class MessagingController implements Runnable {
notifMgr.notify(K9.FETCHING_EMAIL_NOTIFICATION - account.getAccountNumber(), notif);
}
- private void notifySendFailed(Account account, Exception lastFailure) {
+ private void notifySendTempFailed(Account account, Exception lastFailure) {
+ notifySendFailed(account, lastFailure, account.getOutboxFolderName());
+ }
+ private void notifySendPermFailed(Account account, Exception lastFailure) {
+ notifySendFailed(account, lastFailure, account.getDraftsFolderName());
+ }
+ private void notifySendFailed(Account account, Exception lastFailure, String openFolder) {
NotificationManager notifMgr = (NotificationManager)mApplication.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notif = new Notification(R.drawable.stat_notify_email_generic, mApplication.getString(R.string.send_failure_subject), System.currentTimeMillis());
- Intent i = FolderList.actionHandleNotification(mApplication, account, account.getOutboxFolderName());
+ Intent i = FolderList.actionHandleNotification(mApplication, account, openFolder);
PendingIntent pi = PendingIntent.getActivity(mApplication, 0, i, 0);
- notif.setLatestEventInfo(mApplication, mApplication.getString(R.string.send_failure_subject), lastFailure.getMessage(), pi);
+ notif.setLatestEventInfo(mApplication, mApplication.getString(R.string.send_failure_subject), getRootCauseMessage(lastFailure), pi);
configureNotification(notif, null, null, K9.NOTIFICATION_LED_SENDING_FAILURE_COLOR, K9.NOTIFICATION_LED_BLINK_FAST, true);
notif.flags |= Notification.FLAG_AUTO_CANCEL;
@@ -3005,6 +3015,14 @@ public class MessagingController implements Runnable {
if (K9.DEBUG)
Log.i(K9.LOG_TAG, "Send count for message " + message.getUid() + " is " + count.get());
+ if (count.incrementAndGet() > K9.MAX_SEND_ATTEMPTS) {
+ Log.e(K9.LOG_TAG, "Send count for message " + message.getUid() + " can't be delivered after "+ K9.MAX_SEND_ATTEMPTS + " attempts. Giving up until the user restarts the device");
+ notifySendTempFailed(account, new MessagingException(message.getSubject()));
+ continue;
+ }
+
+
+
localFolder.fetch(new Message[] { message }, fp, null);
try {
message.setFlag(Flag.X_SEND_IN_PROGRESS, true);
@@ -3039,6 +3057,15 @@ public class MessagingController implements Runnable {
}
} catch (Exception e) {
+ // 5.x.x errors from the SMTP server are "PERMFAIL"
+ // move the message over to drafts rather than leaving it in the outbox
+ // This is a complete hack, but is worlds better than the previous
+ // "don't even bother" functionality
+ if (getRootCauseMessage(e).startsWith("5")) {
+ localFolder.moveMessages(new Message[] { message }, (LocalFolder) localStore.getFolder(account.getDraftsFolderName()));
+ } else {
+ }
+
message.setFlag(Flag.X_SEND_FAILED, true);
Log.e(K9.LOG_TAG, "Failed to send message", e);
for (MessagingListener l : getListeners()) {
@@ -3058,7 +3085,11 @@ public class MessagingController implements Runnable {
l.sendPendingMessagesCompleted(account);
}
if (lastFailure != null) {
- notifySendFailed(account, lastFailure);
+ if (getRootCauseMessage(lastFailure).startsWith("5")) {
+ notifySendPermFailed(account, lastFailure);
+ } else {
+ notifySendTempFailed(account, lastFailure);
+ }
}
} catch (UnavailableStorageException e) {
Log.i(K9.LOG_TAG, "Failed to send pending messages because storage is not available - trying again later.");
diff --git a/src/com/fsck/k9/mail/store/StorageManager.java b/src/com/fsck/k9/mail/store/StorageManager.java
index 9c52b7114..6537e637c 100644
--- a/src/com/fsck/k9/mail/store/StorageManager.java
+++ b/src/com/fsck/k9/mail/store/StorageManager.java
@@ -20,7 +20,6 @@ import android.util.Log;
import com.fsck.k9.K9;
import com.fsck.k9.R;
-import com.fsck.k9.service.MailService;
/**
* Manager for different {@link StorageProvider} -classes that abstract access
@@ -659,6 +658,8 @@ public class StorageManager {
sync.writeLock.lock();
sync.unmounting = false;
sync.writeLock.unlock();
+
+ K9.setServicesEnabled(K9.app);
}
/**
@@ -684,7 +685,7 @@ public class StorageManager {
}
// XXX we should reset mail service ONLY if there are accounts using the storage (this is not done in a regular listener because it has to be invoked afterward)
- MailService.actionReset(mApplication, null);
+ K9.setServicesEnabled(K9.app);
}
/**