Bug 435643 - akonadi mail dispatcher agent fails to store the password for smtp auth permanently
Summary: akonadi mail dispatcher agent fails to store the password for smtp auth perma...
Status: RESOLVED DUPLICATE of bug 441214
Alias: None
Product: kontact
Classification: Applications
Component: mail (show other bugs)
Version: 5.16.80
Platform: Other Linux
: NOR grave
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-12 08:32 UTC by Mathias Homann
Modified: 2022-09-26 12:48 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mathias Homann 2021-04-12 08:32:15 UTC
SUMMARY

my mailaccounts all need smtp auth - kmail fails to remember the password, and then takes several minutes to time out and retry

STEPS TO REPRODUCE
1. have a mail account that requires smtp auth
2. configure kmail accordingly
3. try to send mail

OBSERVED RESULT

kmail asks for the smtp password, then sits there for minutes doing nothing. Finally a pop up appears, saying "the remote has closed the connection", after that sending mail works fine until the next reboot.

EXPECTED RESULT

I would expect the checkbox "store password"  to ... make kmail store the password. Also, I'd expect kmail to immediately retry the sending process, not after a timeout of several minutes.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Leap 15.2
KDE Plasma Version: 5.21.4
KDE Frameworks Version: 5.81.0
Qt Version: 5.15.2
Kernel Version: 5.3.18-lp152.69-default
OS Type: 64-bit
Graphics Platform: X11
Processors: 4 × Intel® Core™ i5-4210U CPU @ 1.70GHz
Memory: 15.6 GiB of RAM
Graphics Processor: Mesa DRI Intel® Haswell Mobile

ADDITIONAL INFORMATION
- other email clients work fine with my server... thunderbird on windows or linux, android phones, k9mail on android, iphones, you name it, it works. Just kmail collapses on me.

severity: grave because a mail client that can't send mail reliably is DEAD IN THE WATER.
Comment 1 Florian Baumgärtner 2021-06-30 06:20:20 UTC
Same here, it started some month ago.


Operating System: Manjaro Linux
KDE Plasma Version: 5.21.5
KDE Frameworks Version: 5.82.0
Qt Version: 5.15.2
Kernel Version: 5.11.22-2-MANJARO
OS Type: 64-bit
Graphics Platform: X11
Processors: 12 × Intel® Core™ i7-5820K CPU @ 3.30GHz
Memory: 31.3 GiB of RAM
Graphics Processor: AMD Radeon ™ RX 480 Graphics

Please let me know if you need more info.
Comment 2 Florian Baumgärtner 2021-06-30 06:22:24 UTC
Addition: I don't know if it's relevant but it was working before.

At the same time managing sieve scripts stopped working because of authentication problems, but that might be unrelated.
Comment 3 Florian Baumgärtner 2021-11-16 12:26:08 UTC
This looks like it's related:
https://bugs.kde.org/show_bug.cgi?id=441214

I did some testing and the password is actually stored. If I delete the password from kwallet, enter it and check the "remember"-box a new entry in kwallet appears.

Akonadiconsole spits out this maybe related log:

[2021-11-16T12:11:40.096Z] akonadi_maildispatcher_agent org.kde.pim.mailtransport "1876513639"
[2021-11-16T12:11:40.097Z] akonadi_maildispatcher_agent default static bool LibSecretKeyring::findPassword(const QString&, const QString&, QKeychain::JobPrivate*)
[2021-11-16T12:11:40.097Z] akonadi_maildispatcher_agent org.kde.pim.ksmtp Not using any proxy to connect to the SMTP server.
[2021-11-16T12:11:40.101Z] akonadi_maildispatcher_agent default We have an error during reading password  "Entry not found"
[2021-11-16T12:11:40.115Z] akonadi_maildir_resource org.kde.pim.akonadiagentbase Sending dbus reply for method "" with error ""
Comment 4 Sandro Knauß 2022-01-12 17:41:04 UTC
Properly you are affected, that we start not call KWallet directly and use QtKeychain to interact with the password storage instead. This is not done for every resource. In a clean KDE Plasma environment KWallet is the preferred password storage. I expect you are running a Gnome or any other non Plasma desktop, and than libsecret and Gnome Keyring are preferred over KWallet. See the decision path:  https://github.com/frankosterfeld/qtkeychain/blob/master/keychain_unix.cpp#L100

I would expect, that it tries to read/write to either libsecret or Gnome Keyring. You can other application that uses QtKeychain like Nextcloud Desktop client to understand where  passwords are read/write. But you also see the error about LibSecretKeyring::findPassword that are relevant in your case. You may also fake a KDE environment by setting KDE_SESSION_VERSION=5 and XDG_CURRENT_DESKTOP=kde when starting Akonadi.

Maybe we also mixed the read and write one via QtKeychain the other directly to KWallet.
Comment 5 Manny 2022-09-24 17:53:42 UTC
This may be related to https://bugs.kde.org/show_bug.cgi?id=441214. See comments 7, 8 there. I have encountered the same problem
after upgrading to the latest LTS of (x)ubuntu. I am using kwallet. How can I switch to using libsecret and Gnome keyring?
Comment 6 Sandro Knauß 2022-09-26 12:48:09 UTC
We can merge both bugs, as the source of this is actually that KMailTransport is half ported to QKeychain half is still directly using KWallet.

*** This bug has been marked as a duplicate of bug 441214 ***