# New Provider DB

**URL:** <https://forum.delta.chat/t/new-provider-db/732>\
**Category:** Uncategorized\
**Created:** [January 7, 2020, 5:35pm UTC](https://forum.delta.chat/t/new-provider-db/732 "2020-01-07T17:35:32Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Simon](https://forum.delta.chat/user_avatar/forum.delta.chat/simon/32/287_2.png) [@Simon](https://forum.delta.chat/u/Simon)\
**Post date:** [January 7, 2020, 5:35pm UTC](https://forum.delta.chat/t/new-provider-db/732/1 "2020-01-07T17:35:32Z")

</div>

some thoughts about the new data structure for the provider db I brainstormed together with @compl4xx

- Message about limits (shown in the device chat)
  - maximum message size

- 2 types of preperation steps to show users: pre-login and post-login
  - pre-login examples: Enabling IMAP/SMTP, getting an ‘app password’ for DeltaChat to use
  - post-login examples: change default inbox at the provider settings to prevent webde from moving to unknown folder, ?spam settings?

- name
- domains
- credentials: emailPass or OAuth2 or AppPassword?
- status: (most recent?)
  - OK, PREP, BROKEN
  - date

- web-only
  - optional extra markdown file for tutorials on the web with embed images/videos? (maybe rather link to a webpage in device chat)
  - registration
    - identification requirements (phonenumber, passport, postal adress)
    - bussiness model: ad financed, paid, community funded, donations, government funded

  - benchmark results
    - average message transmission speed?

  - comments for results like on protondb (currated, moderated)
  - popularity (how often is it searched for in google? [searchstat.com](http://searchstat.com))

#### In the long run

- Values for the core to use:
  - supports burner accounts api data/method
  - ?rate limiting (maybe show a counter how many message you can still send per day (sms like))
  - Connection data
    - own data - like force disable TLS for cuba.
    - Autoconfigure data from Tunderbirds autoconfigure db

---

<div class="post-metadata">

**Author:** ![r10s](https://forum.delta.chat/user_avatar/forum.delta.chat/r10s/32/1513_2.png) [@r10s](https://forum.delta.chat/u/r10s)\
**Post date:** [January 7, 2020, 7:52pm UTC](https://forum.delta.chat/t/new-provider-db/732/2 "2020-01-07T19:52:25Z")

</div>

nice overview. i think the connection data (port, server etc.) can be added in the short term already.

---

<div class="post-metadata">

**Author:** ![Simon](https://forum.delta.chat/user_avatar/forum.delta.chat/simon/32/287_2.png) [@Simon](https://forum.delta.chat/u/Simon)\
**Post date:** [January 8, 2020, 3:06pm UTC](https://forum.delta.chat/t/new-provider-db/732/3 "2020-01-08T15:06:01Z")

</div>

related github issues:  
[provider-db#42](https://github.com/deltachat/provider-db/issues/42) [provider-db#44](https://github.com/deltachat/provider-db/issues/44) [provider-db#45](https://github.com/deltachat/provider-db/issues/45)

---

<div class="post-metadata">

**Author:** ![compl4xx](https://forum.delta.chat/user_avatar/forum.delta.chat/compl4xx/32/12_2.png) [@compl4xx](https://forum.delta.chat/u/compl4xx)\
**Post date:** [January 13, 2020, 2:17pm UTC](https://forum.delta.chat/t/new-provider-db/732/4 "2020-01-13T14:17:14Z")

</div>

I’d add the database entry “maximum message size”.

---

<div class="post-metadata">

**Author:** ![r10s](https://forum.delta.chat/user_avatar/forum.delta.chat/r10s/32/1513_2.png) [@r10s](https://forum.delta.chat/u/r10s)\
**Post date:** [January 17, 2020, 12:55am UTC](https://forum.delta.chat/t/new-provider-db/732/5 "2020-01-17T00:55:40Z")

</div>

i have to clarify my post from above: while i still think, it is a nice overview of _possibilities_, i think it is actually a bit too much we can really take care for. i think, esp. in the first time, we have to maintain the database, at least for the bigger providers, ourself.

i would reduce the database strictly to what we really need in the first step in the app.

also, i would add dedicated, separate fields only as really needed - classifying everything is a table sounds nice and correct, however, in practice, all these nice classifications often do not work out and you need even more fields.

so, my suggestion is: separate fields only for things actually proven to be needed by the apps, the rest can go to a freetext field.

---

<div class="post-metadata">

**Author:** ![r10s](https://forum.delta.chat/user_avatar/forum.delta.chat/r10s/32/1513_2.png) [@r10s](https://forum.delta.chat/u/r10s)\
**Post date:** [January 18, 2020, 1:18pm UTC](https://forum.delta.chat/t/new-provider-db/732/6 "2020-01-18T13:18:48Z")

</div>

the database yml-format:

```nohighlight
---                                                                    
name: Example Provider
state: [OK | PREPARATION | BROKEN]
domains:
- example.org
servers:
  - type: imap
    socket: SSL
    hostname: imap.example.org
    port: 123
    username: defaults to email address
  - type: imap
    socket: STARTTLS
    hostname: imap.example.org
    port: 456
    username: defaults to email address
  - type: smtp
    socket: SSL
    hostname: smtp.example.org
    port: 789
    username: defaults to email address
before_login_hint: 
    optional text that is be displayed before the user logs in
    typically in combination with state=PREPARATION or state=BROKEN
after_login_hint: optional,
    text that is added to the device chat after login
date: [optional, YYYY-MM]
website: [optional, website of the provider]
---                                                                             
[optional markdown that descripes the preperation steps, this gets displayed on the website]

```

`PREPARATION` means steps needed to be done by the user that cannot be done automatically.

all fields but `name`, `state` and `domains` are optional. however, in practice, either at least `servers` or `before_login_hint ` will be specified to make some sense.

minimal json-format example that gets to the ui:

```nohighlight
{
  "state": "PREPARATION",
  "before_login_hint": "please create an app-specific password"
}

```

the other fields are needed by the core only, eg. `servers` is used to login, `after_login_hint` adds a message to the device chat. no need for the ui to care about this.

---

<div class="post-metadata">

**Author:** ![Simon](https://forum.delta.chat/user_avatar/forum.delta.chat/simon/32/287_2.png) [@Simon](https://forum.delta.chat/u/Simon)\
**Post date:** [January 18, 2020, 6:20pm UTC](https://forum.delta.chat/t/new-provider-db/732/7 "2020-01-18T18:20:53Z")

</div>

Server should be optional in the yaml, as it will overwrite thunderbirds data.  
I like the seperation of date from the state as this makes the data structure more flat.  
The optional fields were ~ in my pr, because thats what the serde yaml parser understands easily.

---

<div class="post-metadata">

**Author:** ![Simon](https://forum.delta.chat/user_avatar/forum.delta.chat/simon/32/287_2.png) [@Simon](https://forum.delta.chat/u/Simon)\
**Post date:** [January 18, 2020, 6:26pm UTC](https://forum.delta.chat/t/new-provider-db/732/8 "2020-01-18T18:26:12Z")

</div>

Also iIwould not make the date optional, its useful for the ui to know how long ago the last check was to hint the user to look at the website instead if its older than x days, though that would require us to update the status regularly, wouldn’t it?

---

<div class="post-metadata">

**Author:** ![r10s](https://forum.delta.chat/user_avatar/forum.delta.chat/r10s/32/1513_2.png) [@r10s](https://forum.delta.chat/u/r10s)\
**Post date:** [January 18, 2020, 6:43pm UTC](https://forum.delta.chat/t/new-provider-db/732/9 "2020-01-18T18:43:35Z")

</div>

> [@Simon](#):
>
> Server should be optional in the yaml, as it will overwrite thunderbirds data.

yip, the server section can be optional. also as eg. for outlook we would just say “broken” - or for maybe gmx the server-settings work out of the box (so the defaults probed as now) but we want to say “prepare”.

wrt date: eg. the thunderbird database has no date, so, at least in the core, there will be many cases without a date. also, i do not think that this is super-useful, esp. as it is easily badly maintained. maybe we should just show the date from git on the website and that’s it. but this is nothing really important currently.

---

<div class="post-metadata">

**Author:** ![pabz](https://forum.delta.chat/user_avatar/forum.delta.chat/pabz/32/419_2.png) [@pabz](https://forum.delta.chat/u/pabz)\
**Post date:** [January 20, 2020, 7:12am UTC](https://forum.delta.chat/t/new-provider-db/732/10 "2020-01-20T07:12:14Z")

</div>

Is `website` meant to point to the provider-db-page for this provider? If not, that field lacks from the example.

---

<div class="post-metadata">

**Author:** ![Simon](https://forum.delta.chat/user_avatar/forum.delta.chat/simon/32/287_2.png) [@Simon](https://forum.delta.chat/u/Simon)\
**Post date:** [January 20, 2020, 8:25am UTC](https://forum.delta.chat/t/new-provider-db/732/11 "2020-01-20T08:25:00Z")

</div>

Nope, `website` just refers to the providers homepage.  
The data structure saved in the fontmatter yaml is not exactly what the provider crate will expose, see [https://github.com/deltachat/provider-db/blob/47beeb1db20db28479706fd34ac7ca27937cb95a/src/provider.rs#L23-L32](https://github.com/deltachat/provider-db/blob/47beeb1db20db28479706fd34ac7ca27937cb95a/src/provider.rs#L23-L32)  
for what is actually saved and exposed to the ui (keep in mind that this file is from my “old” saturday-morning pr, where you guys only revied the readme as far as I can tell.)

---

<div class="post-metadata">

**Author:** ![compl4xx](https://forum.delta.chat/user_avatar/forum.delta.chat/compl4xx/32/12_2.png) [@compl4xx](https://forum.delta.chat/u/compl4xx)\
**Post date:** [January 21, 2020, 4:22pm UTC](https://forum.delta.chat/t/new-provider-db/732/12 "2020-01-21T16:22:15Z")

</div>

To document the latest developments:

We just agreed in a call to use this structure for now - @r10s will start implementing the UI on Android, so we have a reference.

(if I understood it correctly^^)

---

<div class="post-metadata">

**Author:** ![compl4xx](https://forum.delta.chat/user_avatar/forum.delta.chat/compl4xx/32/12_2.png) [@compl4xx](https://forum.delta.chat/u/compl4xx)\
**Post date:** [February 6, 2020, 11:02am UTC](https://forum.delta.chat/t/new-provider-db/732/13 "2020-02-06T11:02:51Z")

</div>

Cool, the UI is implemented in Android 🙂

The Desktop implementation status is here: [Make use of the new provider-db · Issue #1408 · deltachat/deltachat-desktop · GitHub](https://github.com/deltachat/deltachat-desktop/issues/1408)

---

<div class="post-metadata">

**Author:** ![yagiantenne](https://forum.delta.chat/letter_avatar_proxy/v4/letter/y/f14d63/32.png) [@yagiantenne](https://forum.delta.chat/u/yagiantenne)\
**Post date:** [August 2, 2020, 7:41pm UTC](https://forum.delta.chat/t/new-provider-db/732/14 "2020-08-02T19:41:58Z")

</div>

I don’t found provider Vodafone ([vodafone.de](http://vodafone.de), [vodafonemail.de](http://vodafonemail.de)).

---

<div class="post-metadata">

**Author:** ![gerryfrancis](https://forum.delta.chat/user_avatar/forum.delta.chat/gerryfrancis/32/1771_2.png) [@gerryfrancis](https://forum.delta.chat/u/gerryfrancis)\
**Post date:** [August 2, 2020, 9:02pm UTC](https://forum.delta.chat/t/new-provider-db/732/15 "2020-08-02T21:02:48Z")

</div>

Have you checked if the IMAP and SMTP settings for [vodafone.de/vodafonemail.de](https://www.vodafone.de/hilfe/email/abrufen-senden.html#wie-lauten-die-server-einstellungen-fuer-vodafone-e-mail-und-kabel-e-mail) work fine in Delta Chat? If they do, they can be applied of course.

---

<div class="post-metadata">

**Author:** ![yagiantenne](https://forum.delta.chat/letter_avatar_proxy/v4/letter/y/f14d63/32.png) [@yagiantenne](https://forum.delta.chat/u/yagiantenne)\
**Post date:** [August 3, 2020, 10:28am UTC](https://forum.delta.chat/t/new-provider-db/732/16 "2020-08-03T10:28:15Z")

</div>

I haven’t tried it yet. Is a PREPARE possible necessary ?  
[vodafonemail](https://www.file-upload.net/download-14215981/vodafonemail.jpg.html)

---

<div class="post-metadata">

**Author:** ![gerryfrancis](https://forum.delta.chat/user_avatar/forum.delta.chat/gerryfrancis/32/1771_2.png) [@gerryfrancis](https://forum.delta.chat/u/gerryfrancis)\
**Post date:** [August 3, 2020, 10:58am UTC](https://forum.delta.chat/t/new-provider-db/732/17 "2020-08-03T10:58:20Z")

</div>

It would be most helpful if you could check out the Vodafone settings by entering them manually. If Delta Chat works successfully using these settings, they can be implemented in the database. Please let us know about it, thank you.

---

<div class="post-metadata">

**Author:** ![yagiantenne](https://forum.delta.chat/letter_avatar_proxy/v4/letter/y/f14d63/32.png) [@yagiantenne](https://forum.delta.chat/u/yagiantenne)\
**Post date:** [August 3, 2020, 4:11pm UTC](https://forum.delta.chat/t/new-provider-db/732/18 "2020-08-03T16:11:18Z")

</div>

I have now tested with [vodafonemail.de](http://vodafonemail.de). It worked right away. You can use that in provider-db.

---

<div class="post-metadata">

**Author:** ![gerryfrancis](https://forum.delta.chat/user_avatar/forum.delta.chat/gerryfrancis/32/1771_2.png) [@gerryfrancis](https://forum.delta.chat/u/gerryfrancis)\
**Post date:** [August 3, 2020, 7:38pm UTC](https://forum.delta.chat/t/new-provider-db/732/19 "2020-08-03T19:38:11Z")

</div>

Great, thanks for reporting, I have filed an issue here: [https://github.com/deltachat/provider-db/issues/129](https://github.com/deltachat/provider-db/issues/129)  
Edit: [Vodafone.de](http://Vodafone.de) has been added to the Delta Chat provider database. Thanks!

---

<div class="post-metadata">

**Author:** ![r10s](https://forum.delta.chat/user_avatar/forum.delta.chat/r10s/32/1513_2.png) [@r10s](https://forum.delta.chat/u/r10s)\
**Post date:** [February 18, 2026, 1:05pm UTC](https://forum.delta.chat/t/new-provider-db/732/20 "2026-02-18T13:05:01Z")

</div>


