Hi. I’m trying to add the ID extension of IMAP in K-9. However, I have some questions.
Will this feature be accepted if I/someone implement it properly?
There are few requests for this feature, but I can’t find the response from the developers. I’m not sure if the developers are unwilling to accept this feature in K-9. If so, I will only make a personal fork of K-9 for own use instead of spending time making a proper PR for it.
(By the way, it’s easy to make it just work , but to make it optional I think it’s better to implement it as a setting item)
requests
What are you trying to accomplish?
Receive emails from 126 mail.
What have you tried so far?
Change almost everything related to account in the setting
What K-9 Mail version are you using?
6.400
What Android version and device are you using?
Android 12, Pixel 4.
[Screenshot_20221204-142630_K-9 Mail_1]
Hi there.
Would K-9 add the support of ID extension in IMAP in the future? Someone else has already post the problem in the GitHub issues.
This extension is defined in RFC 2971
I know it sucks because the 163 mail(Netease) doesn’t follow the RFC standards, but considering that 163 mail has a lot of users(mostly in China), I think it would be more convenient.
Servers MUST NOT deny access to or refuse service for a client
based on information from the ID command. Clients MUST NOT refuse
…
opened 02:12AM - 07 Jan 21 UTC
closed 02:13PM - 26 Apr 23 UTC
enhancement
**Is your feature request related to a problem? Please describe.**
I got reject… ed receiving mails using imap. I was trying to log in to 163 email server when this happens.
**Describe the solution you'd like**
I was told that the email client app should return its identity to allow connecting to the email server.
The developer of that email server provides the following code:
```
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imap");
props.setProperty("mail.imap.host", "imap.163.com");
props.setProperty("mail.imap.port", "143");
HashMap IAM = new HashMap();
//IMAP ID: key, value pair. E.g. name,version,vendor,support-email
IAM.put("name","myname");
IAM.put("version","1.0.0");
IAM.put("vendor","myclient");
IAM.put("support-email","testmail@test.com");
Session session = Session.getInstance(props);
IMAPStore store = (IMAPStore) session.getStore("imap");
//user account and password
store.connect("testmail@163.com", "password");
store.id(IAM);
```
The developer provides the following link to explain context:
https://javaee.github.io/javamail/docs/api/index.html?com/sun/mail/imap/IMAPStore.html
Could you evaluate if this situation is a valid case to make it more secure/compatible with imap server?
opened 01:50AM - 09 Dec 22 UTC
closed 10:27AM - 09 Dec 22 UTC
bug
### Checklist
- [X] I have used the search function to see if someone else has … already submitted the same bug report.
- [X] I will describe the problem with as much detail as possible.
### App version
6.400
### Where did you get the app from?
F-Droid
### Android version
Lineage OS 19, Android 12
### Device model
Pixel 4
### Steps to reproduce
1. Add an IMAP email account from 126.
2. Provide correct username and password.
3. Check the email.
4. Nothing happens.
### Expected behavior
Check the email normally.
### Actual behavior
Just blank, nothing happens.
### Logs
12-04 14:40:26.252 7651 7671 E RealImapFolder: Unable to open connection for 51cb515b-4adb-4d70-8256-cbd026613e83:INBOX/MessagingController/conn223192082
12-04 14:40:26.252 7651 7671 E RealImapFolder: com.fsck.k9.mail.store.imap.NegativeImapResponseException: Command: EXAMINE “INBOX”; response: #6# [NO, EXAMINE Unsafe Login. Please contact [kefu@188.com](mailto:kefu@188.com) for help]
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.mail.store.imap.ImapResponseParser.readStatusResponse(ImapResponseParser.java:119)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.mail.store.imap.RealImapConnection.executeSimpleCommand(RealImapConnection.kt:697)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.mail.store.imap.RealImapConnection.executeSimpleCommand(RealImapConnection.kt:683)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.mail.store.imap.RealImapFolder.executeSimpleCommand(RealImapFolder.kt:84)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.mail.store.imap.RealImapFolder.internalOpen(RealImapFolder.kt:118)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.mail.store.imap.RealImapFolder.open(RealImapFolder.kt:89)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.backend.imap.ImapSync.synchronizeMailboxSynchronous(ImapSync.kt:81)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.backend.imap.ImapSync.sync(ImapSync.kt:34)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.backend.imap.ImapBackend.sync(ImapBackend.kt:55)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.controller.MessagingController.syncFolder(MessagingController.java:616)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.controller.MessagingController.synchronizeMailboxSynchronous(MessagingController.java:556)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.controller.MessagingController.lambda$synchronizeMailbox$3(MessagingController.java:528)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.controller.MessagingController.$r8$lambda$ar_6eNiqt1c67rfo1nCyGoIX3Sg(Unknown Source:0)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.controller.MessagingController$$ExternalSyntheticLambda20.run(Unknown Source:10)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.controller.MessagingController.runInBackground(MessagingController.java:222)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.controller.MessagingController.access$000(MessagingController.java:108)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at com.fsck.k9.controller.MessagingController$1.run(MessagingController.java:163)
12-04 14:40:26.252 7651 7671 E RealImapFolder: at java.lang.Thread.run(Thread.java:920)
12-04 14:40:26.252 7651 7671 E ImapSync: synchronizeMailbox
12-04 14:40:26.252 7651 7671 E ImapSync: com.fsck.k9.mail.store.imap.NegativeImapResponseException: Command: EXAMINE “INBOX”; response: #6# [NO, EXAMINE Unsafe Login. Please contact [kefu@188.com](mailto:kefu@188.com) for help]
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.mail.store.imap.ImapResponseParser.readStatusResponse(ImapResponseParser.java:119)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.mail.store.imap.RealImapConnection.executeSimpleCommand(RealImapConnection.kt:697)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.mail.store.imap.RealImapConnection.executeSimpleCommand(RealImapConnection.kt:683)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.mail.store.imap.RealImapFolder.executeSimpleCommand(RealImapFolder.kt:84)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.mail.store.imap.RealImapFolder.internalOpen(RealImapFolder.kt:118)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.mail.store.imap.RealImapFolder.open(RealImapFolder.kt:89)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.backend.imap.ImapSync.synchronizeMailboxSynchronous(ImapSync.kt:81)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.backend.imap.ImapSync.sync(ImapSync.kt:34)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.backend.imap.ImapBackend.sync(ImapBackend.kt:55)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.controller.MessagingController.syncFolder(MessagingController.java:616)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.controller.MessagingController.synchronizeMailboxSynchronous(MessagingController.java:556)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.controller.MessagingController.lambda$synchronizeMailbox$3(MessagingController.java:528)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.controller.MessagingController.$r8$lambda$ar_6eNiqt1c67rfo1nCyGoIX3Sg(Unknown Source:0)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.controller.MessagingController$$ExternalSyntheticLambda20.run(Unknown Source:10)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.controller.MessagingController.runInBackground(MessagingController.java:222)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.controller.MessagingController.access$000(MessagingController.java:108)
12-04 14:40:26.252 7651 7671 E ImapSync: at com.fsck.k9.controller.MessagingController$1.run(MessagingController.java:163)
12-04 14:40:26.252 7651 7671 E ImapSync: at java.lang.Thread.run(Thread.java:920)
12-04 14:40:26.256 7651 7671 E ImapSync: Failed synchronizing folder ybx333@126.com:INBOX @ 周日 12月 04 14:40:26 GMT+08:00 2022
opened 08:33AM - 10 Feb 22 UTC
closed 03:33PM - 10 Feb 22 UTC

You can't receive an email after logging in to your account
How to add a setting item in K-9?
I just found the useCompression
is a setting item only for IMAP, so I want to make a similar item called sendClientID
based on the existing code of useCompression
if the developers accept this feature. However, when searching all references of useCompression
, I found it existing in many files. I will check the codebase and the commit history carefully to figure out how a setting item works, but it will be much helpful if someone could show me some information about this.
I would very appreciate it if someone could answer these questions!
Thanks!
I have made a PR for it.
thundernest:main
← wh201906:id
opened 06:03AM - 23 Apr 23 UTC
Fixes #5089
This PR is based on the implementation of `useCompression` and PR #… 5578.
I have tested this PR on Netease mail, which requires the ID extension. It works as expected.