I have been playing around with groups in Deltachat a bit and noticed the following behaviour:
In Deltachat (android version) I have set up a group with two members, Delta <delta@example.org> who uses delta chat, and Test <test@example.org> who uses a plain email client. The group member list in Deltachat shows two members, delta@example.com (as Me), and test@example.com (as Test)
Now, if I reply to the initial message in this group, but change From to e.g. Changed <test+changed@example.org>, the reply is shown as coming from Changed in Deltachat, and in the group member list, Test <test@example.com> is replaced by Changed <test+changed@example.com>.
Is this a bug or a feature?
PS: If it is a feature, I’ll probably use this in a Matterbridge plugin for Deltachat that I am developing…
If you can, use the deltachat core for your project. https://github.com/deltachat/deltachat-core-rust
It’s written in rust and has also a C-api for which you could create bindings for Go. https://c.delta.chat/ - documentation for the deltachat-ffi (c api)
When using the deltachat core you don’t need to interact with email or encryption directly, the core exposes a “high level” api that gives you access to chats, contacts, messages and so on.
If you can, use the deltachat core for your project.
I’m thinking about it, but see two possible problems:
I want to implement the bridge as a plugin in Matterbridge itself, and I’m not sure how they feel about pulling in non-Go dependencies and
If possible, the bridge should be able to work both as a deltachat group and a email mailing list (kind of) for “normal” MUAs. Not sure if that is supported by deltachat core.
We have an Impersonate feature planned
Cool. I’ll definitely use that when it becomes available.
The best way to make bots for deltachat is still to use the deltachat core.
When you’re creating a plugin, couldn’t that plugin require deltachat go bindings? I mean go compiled anyway so a small rust compilation wouldn’t make that big of a deal I guess.
depending on c dependencies seems to be supported by go cgo command - cmd/cgo - Go Packages
you can always ask them if it would be ok for them…
I wouldn’t use this for impersonation. It could be a feature when we look at the future possibility to change ones email address (migrating to a different provider). But better ask people like @hpk, @link2xt or @r10s for this lowlevel/email interaction question.