Comments (11)
@dcpurton can you please comment on the design choice? Would putting
Content-Id
into a dedicated field instruct Body
sound better to you? Otherwise, we need to fix the special-casing.
That's a great question…
Most likely a misunderstanding around use case of parameters. I vaguely remember at the time wishing there was a field in struct Body
. Who knows why I didn't add it.
You should definitely replace with a dedicated field in struct Body
.
from neomutt.
Thanks for the detailed bug report - I think I can fix it :)
from neomutt.
Amazing, @gahr! Thanks! Let me know if you want me to test…
from neomutt.
I see that support for Content-Id
was added in #3197. The implementation put the Content-Id
into the container for Content-Type
parameters (perhaps for lack of a better existing place?), then it's special-cased and handled as a separate header. Unfortunately, that special-casing happens after the Content-Type
parameters undergo RFC2331-transformations.
@dcpurton can you please comment on the design choice? Would putting Content-Id
into a dedicated field in struct Body
sound better to you? Otherwise, we need to fix the special-casing.
from neomutt.
@madduck could you please give the branch devel/issue-4327 a try?
from neomutt.
@madduck could you please give the branch devel/issue-4327 a try?
Assuming I did everything right, this unfortunately does not fix the problem:
--agvk7etag6oa2zwo
Content-Type: image/png;
content-id*0="[email protected]";
content-id*1="ain.name.madduck.net"
[…]
lotus:~/code/neomutt|issue-4327|% ./neomutt -v #(pts/4) 14 09:50:50.262
NeoMutt 20240425-89-194907
Copyright (C) 2015-2024 Richard Russon and friends
NeoMutt comes with ABSOLUTELY NO WARRANTY; for details type 'neomutt -vv'.
NeoMutt is free software, and you are welcome to redistribute it
under certain conditions; type 'neomutt -vv' for details.
System: Linux 6.7.9-amd64 (x86_64)
ncurses: ncurses 6.5.20240427 (compiled with 6.5.20240427)
libidn2: 2.3.7 (compiled with 2.3.7)
Configure options:
Compilation CFLAGS: -std=c11 -fno-delete-null-pointer-checks -D_ALL_SOURCE=1 -D_GNU_SOURCE=1 -D__EXTENSIONS__ -D_XOPEN_SOURCE_EXTENDED -DNCURSES_WIDECHAR -I/usr/include -O2
Compile options:
-autocrypt +fcntl -flock -fmemopen +futimens +getaddrinfo -gnutls -gpgme
-gsasl -gss -hcache -homespool +idn +inotify -locales_hack -lua -mixmaster
+nls -notmuch -openssl +pgp +regex -sasl +smime -sqlite +truecolor
MAILPATH="/var/mail"
PKGDATADIR="/usr/share/neomutt"
SENDMAIL="/usr/sbin/sendmail"
SYSCONFDIR="/etc"
from neomutt.
Assuming I did everything right
I fear you did not: you are running 194907, which is the last commit on the main branch.
from neomutt.
I can confirm that the content ID is no longer a parameter of content-type:
Content-ID: <171836261187.679223.9223979057819607013@very.long.domain.fqdn.name.for.neomutt.madduck.net>
However, it should now be line-wrapped, see above.
from neomutt.
Assuming I did everything right
I fear you did not: you are running 194907, which is the last commit on the main branch.
Certainly need to refresh my Git foo lol. Sorry.
from neomutt.
I can confirm that the content ID is no longer a parameter of content-type:
Content-ID: <171836261187.679223.9223979057819607013@very.long.domain.fqdn.name.for.neomutt.madduck.net>
However, it should now be line-wrapped, see above.
Uhm.. are you suggesting that we should RFC2047-encode all long header field bodies so we can break them up? Interesting.. I don't think we do that, even for the subject - try composing a message with a very long subject without spaces, and you'll see that we don't RFC2047-encode + split it. Perhaps we should discuss this on a separate issue?
Edit: I have double checked what Apple Mail and Roundcube do, and neither encode long subjects with RFC2047 for the purpose of splitting them.
from neomutt.
Related Issues (20)
- C dialect HOT 2
- tag-prefix doesn't show-up in attach HOT 5
- Doubts about some `*const` pointers HOT 5
- How to use the notmuch command <modify-labels> to tag emails with tags containing spaces?
- Is it possible to edit the automatic title when forwarding or replying a message? HOT 1
- Progress for postponing a message with remote (IMAP)
- autocrypt breaks command line argument `-e "push foo"` HOT 4
- How to forward an email thread to someone else together with attachments ? HOT 3
- `delete-thread` does not support `tag-prefix` operator
- split outgoing email into batches to work around max number of recipients limit in some SMTP providers (infomaniak) HOT 3
- save-message from GMail over IMAP to local box doesn't delete original HOT 3
- Cannot open an .mbox file with neomutt (although it works with mutt) HOT 4
- neomutt truecolor and kitty
- neomutt does not replace `...` by encrypted subject
- Inline-PGP with junk before recognized incorrectly
- when modify mail filter fetch from history will clear old filter HOT 6
- lua-source cannot work in batch mode HOT 7
- Unexpected delay on folder load after scanning messages HOT 5
- Messages deleted outside of Mutt remain in local index, despite having been removed
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 neomutt.