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); } /**