Comments (6)
@HochzeitManagement yes, this log is perfect! Thank you.
S: * 39 FETCH (MODSEQ (0) FLAGS (\Recent \Seen) UID 290)
S: * 40 FETCH (MODSEQ (-1) FLAGS (\Recent \Seen) UID 336)
Sure enough, the IMAP server is sending us a value of -1. It's also sending us a value of 0 which I think is illegal, but MailKit already handles that.
I'll work on writing up a work-around now that we have verified that it really was sending -1.
from mailkit.
@jstedfast so sorry, I haven't had time yet as I need to check this locally. hope to get to it quickly. thanks.
from mailkit.
Hard to know for sure based on just a stacktrace (I'd need a protocol log), but it looks like the IMAP server tried to send -1
as a MODSEQ
value which is defined by the IMAP specifications as a non-zero unsigned 64-bit integer (i.e. it can't be a negative value or 0
).
I've taken a look at the code, and assuming that my theory is correct, 4.3.0 will also throw this exception in this scenario.
If you could get a protocol log for this scenario, I will take a look and see if I can implement an appropriate work-around to avoid throwing an exception.
Can you confirm that subsequent connections for this customer seem to work? I am wondering if this happens if the IMAP server hasn't yet assigned a MODSEQ value or something (i.e. there is some sort of inconsistent state in the IMAP server and this causes it to write -1
for the MODSEQ value instead of a real value).
If this is the case, I think the appropriate work-around might be to treat -1
as if a value wasn't sent at all (in other words, treat it as if a MODSEQ value was not present at all).
The other possibility that I can think of is that the IMAP server is using a 32-bit int instead of a 64-bit unsigned int and the IMAP server code is suffering from an integer overflow bug, making it such that we might have to treat -1
as a valid value (which might get complicated).
from mailkit.
Would be good to know what the IMAP greeting is as well, so I can add it to my list of server-dependent work-arounds.
FWIW, the ProtocolLogger defaults to redacting authentication secrets starting with MailKit v3.1.0, so you won't need to do anything special to hide those if you get a log.
All I really need from the log is the first line after the "Connected to ..." message and the line matching * # FETCH (... MODSEQ -1 ...)
(if there is one - I mostly just need this to be confirmed).
I'm pretty confident (~99%?) that there will be a response line with MODSEQ -1
, but I am not 100% certain.
from mailkit.
@HochzeitManagement Any update on this?
from mailkit.
imap-mailkit.log
here the imap log. is it helpful for you? what can we do? thanks
from mailkit.
Related Issues (20)
- Code style: use <inheritdoc cref="..."> instead of copying doc HOT 5
- I get a couple of compile errors when updating MailKitLite from 4.3.0 to 4.4.0 HOT 2
- MimeMessage.Subject == null throws off the MailVisitor.
- Regression: Nested signed mail showed as nameless.eml HOT 3
- Question: Logging EHLO Response in DB HOT 2
- XLIST IMAP command being sent automatically on AuthenticateAsync HOT 3
- UTF-8 not supported ?! HOT 1
- client_credentials flow fails for SMTP Office 365 HOT 1
- Special Character on Password HOT 3
- MailKit Login Issue: Stalling on Inbox Access HOT 2
- With version 4.4.0 I cannot send SMTP mail via Strato.de HOT 11
- Cannot delete message from IMPAP account. HOT 4
- Accessing the IP address of devices logged into the e-mail account HOT 1
- Recieved MimeMessage contains wrong embedded Images HOT 1
- IMAP client connected and authenticated but Inbox returns null HOT 4
- in the sample project of imapidle, is it possible to add a sample method for how to cancel the "IDLE" mode. thanks! HOT 2
- SmtpProtocolException - Last Smtp Response before failure HOT 6
- SMTP not working with Strato.de HOT 4
- SmtpClient Exception Behavior Change in 4.4.0 HOT 26
- PreviewText field in MessageSummary is incorrect for the email with charset="ks_c_5601-1987" HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mailkit.