[Jmap] Another question about updating a draft Email

Mildred Ki'Lya <mildred-ml@mildred.fr> Wed, 10 November 2021 22:09 UTC

Return-Path: <mildred-ml@mildred.fr>
X-Original-To: jmap@ietfa.amsl.com
Delivered-To: jmap@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 160343A141E for <jmap@ietfa.amsl.com>; Wed, 10 Nov 2021 14:09:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.087
X-Spam-Level:
X-Spam-Status: No, score=-2.087 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, T_SPF_PERMERROR=0.01, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=mildred.fr
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bfP9y8DZghGp for <jmap@ietfa.amsl.com>; Wed, 10 Nov 2021 14:09:26 -0800 (PST)
Received: from ellomb.netlib.re (elyas.mildred.fr [193.33.56.74]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B21913A141F for <jmap@ietf.org>; Wed, 10 Nov 2021 14:09:25 -0800 (PST)
Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by ellomb.netlib.re (Postfix) with ESMTPA id E0AC86AD4F13 for <jmap@ietf.org>; Wed, 10 Nov 2021 22:09:20 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mildred.fr; s=dkim; t=1636582160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=Nuo8OUgWN+Dcl6EUIZeFaZcFA3NpLkJFF6moTiBTlcg=; b=NIq774D4lXB6i13l9pg9hRurByBP8ld7uJbGvTDbQhjqmke/7lYs8N4WOuy/wN7qk1cNix ZxC6ZdKs7zKKcev0ZQdN8ZD//eNOBBb9L3d4fPfS7eD/7DbAFuccdAqWml5q25zQruuKpk QwcnwKK0IRfK8wgsdpl/7i3EV6JlAbI=
Content-Type: multipart/alternative; boundary="------------pBAoZkw08Vy0win6AC7crdrA"
Message-ID: <41cf1339-3a65-d638-5056-927a69a59045@mildred.fr>
Date: Wed, 10 Nov 2021 23:09:19 +0100
MIME-Version: 1.0
To: jmap@ietf.org
Content-Language: en-US
From: Mildred Ki'Lya <mildred-ml@mildred.fr>
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mildred.fr; s=dkim; t=1636582161; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=Nuo8OUgWN+Dcl6EUIZeFaZcFA3NpLkJFF6moTiBTlcg=; b=O66/JuBQgjJ4fjS38EprIC6ERrMt9ikfNLvpVdOMnhbDInNJdtUkLWXC+2tbDC3POc4CXS VsE90+UgHWw018ILAXCVoWCxm5Uvawuuc+FaaUGFjk//aeratkYbI8FCb3kNCRzCj6XmML BoNfr7zfIOibPhtWnoVxwD/M0fd4obE=
ARC-Seal: i=1; s=dkim; d=mildred.fr; t=1636582161; a=rsa-sha256; cv=none; b=HS/vL0htheNLavt3ChOMK31E15XkJJzU50pNQX5y1AU4xojFuDT9gT7FD3nWbQq4ZCN1oU vRsN2al8XogLcpemfjMqA/UVHFC2T+WnrCBaUqPdB6XNX7khJAu4VX+J6Xw1qms8LrkVUj IKe+jPjN2IbxnwEbp0oaEU3PHLB7E88=
ARC-Authentication-Results: i=1; ellomb.netlib.re; auth=pass smtp.auth=mildred@mildred.fr smtp.mailfrom=mildred-ml@mildred.fr
Authentication-Results: ellomb.netlib.re; auth=pass smtp.auth=mildred@mildred.fr smtp.mailfrom=mildred-ml@mildred.fr
X-Spamd-Bar: /
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/URkgCZ8MquhBD3mgwm46FKH_ZKo>
Subject: [Jmap] Another question about updating a draft Email
X-BeenThere: jmap@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: JSON Message Access Protocol <jmap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/jmap>, <mailto:jmap-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap/>
List-Post: <mailto:jmap@ietf.org>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/jmap>, <mailto:jmap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 10 Nov 2021 22:09:31 -0000

Hello,

For the lack of a better mailing list, I believe I took this place as a 
support forum :) I need to take an existing draft Email, modify it 
(through the compose interface I'm building) and then save it back with 
the changes. I would like the changed Email to be as close as the 
original as possible (same headers, ...). For this reason I'm taking the 
result of an Email/get operation, patch it with the changed values, and 
feed it to Email/set (create). If I could I'd try to update the Email 
object but i understand that's not possible as Email are immutable.

Doing so, I uncovered a bug in the previous version of Cyrus 
<https://github.com/cyrusimap/cyrus-imapd/issues/3766> most probably 
related to the additional extra fields I'm including in Email/set. 
Properties such as id, threadId, blobId, size, trustedSender, 
hasAttachment, preview, and similar properties in textBody and htmlBody 
are rejected by the server (rightfully as this is not part of the Email 
file itself).

Again, am I missing something on how to do this easily without having to 
prune those illegal properties before calling Email/set. Is there a way 
to update an Email object. I'm also asking this because some received 
Emails contains bogus information (such as bogus dates) that might be 
interesting to correct while keeping all the other headers (including 
the Received headers).

Thank you

Mildred