Half-Finished Email account does not offer to configure outgoing server

REPRODUCIBILITY: -
OS VERSION: 4.4.0.64
HARDWARE: Xperia 10 III
UI LANGUAGE: en_GB
REGRESSION: possibly

DESCRIPTION:

No possibility to change General Email account Server Settings after having half-finished the initial account creation wizard.

PRECONDITIONS:

Have a valid and working IMAP server, and credentials

STEPS TO REPRODUCE:

  1. Open Settings → Accounts
  2. Create a new account “General Email”
  3. Skip autodetection, go to manual setup
  4. Enter valid stuff for IMAP
  5. Enter invalid stuff for SMTP
  6. Click “Accept”
  7. Wait for the validation to finish, coming back with the message that incoming mail is OK, outgoing is not, offering to “skip”
  8. Exit Settings (as in, close it, do not choose Skip, or back and Cancel)
  9. Reopen Settings
  10. Open newly created account
  11. Pulley Menu → Server Settings
  12. Observe IMAP (Incoming Server) Settings are offered, but SMTP (Outgoing Server) section is missing from Server Settings page

EXPECTED RESULT:

The same options (or more) should be available as in the original creation dialog

ACTUAL RESULT:

The whole SMTP section is missing from Account Settings

MODIFICATIONS:

Patchmanager with a couple of patches for Email, but not Settings.

However I have a self-made patch enabled to force PLAIN authentication, contents see below.

ADDITIONAL INFORMATION:

Inspired by https://jolla.zendesk.com/hc/en-us/articles/360001643933-Checking-accounts-from-command-line-ag-tool-

2 Likes

Because of peculiarities with the server setup I use (self-hosted using ancient components), I force auth mechanisms to PLAIN over TLS for both IMAP and SMTP.

I use this patch to force this in the initial account creation wizard:

diff -Naur work/4.4.0.64/usr/share/accounts/ui/email.qml work/4.4.0.64_mine/usr/share/accounts/ui/email.qml
--- /usr/share/accounts/ui/email.qml    2022-05-20 09:06:21.627323287 +0200
+++ /usr/share/accounts/ui/email.qml    2022-08-05 16:07:06.151768276 +0200
@@ -82,6 +82,7 @@
                 account.setConfigurationValue(defaultServiceName, "imap4/downloadAttachments", 0)
                 account.setConfigurationValue(defaultServiceName, "imap4/servicetype", "source")
                 account.setConfigurationValue(defaultServiceName, "imap4/acceptUntrustedCertificates", settings.acceptUntrustedCertificates ? 1 : 0)
+                account.setConfigurationValue(defaultServiceName, "imap4/authentication", '2')
             } else {
                 account.setConfigurationValue(defaultServiceName, "incomingServerType", 1)
                 account.setConfigurationValue(defaultServiceName, "customFields/showMoreMails", "false")
@@ -102,8 +103,10 @@
             // If auth is required set authFromCapabilities to true, if not set to false and also set authentication to 0
             if (!settings.outgoingRequiresAuth) {
                 account.setConfigurationValue(defaultServiceName, "smtp/authentication", 0)
+            } else {
+                account.setConfigurationValue(defaultServiceName, "smtp/authentication", 2) // PLAIN
             }
-            account.setConfigurationValue(defaultServiceName, "smtp/authFromCapabilities", settings.outgoingRequiresAuth ? 1 : 0)
+            //account.setConfigurationValue(defaultServiceName, "smtp/authFromCapabilities", settings.outgoingRequiresAuth ? 1 : 0)
             account.setConfigurationValue(defaultServiceName, "smtp/servicetype", "sink")
             account.setConfigurationValue(defaultServiceName, "smtp/acceptUntrustedCertificates", settings.acceptUntrustedCertificates ? 1 : 0)

EDIT: (… aaand I just realized the logic for SMTP was wrong in my first version)

Some more:

In the half-finished account:

  • one can not select any of the options for sync schedule (they are offered, but selecting does nothing)