#provider #status #how #domain #email #step #date

yanked deltachat-provider-database

List of providers and how well they work with Deltachat

0.3.0 Dec 17, 2019
0.2.1 Sep 25, 2019
0.2.0 Sep 25, 2019
0.1.0 Sep 25, 2019

#97 in #step

Custom license

18KB
206 lines

Delta Chat Provider Info

Add an Entry

First check wether the file for the provider already exists, if it does skip to the Edit an Entry section.

Add [provider name].md to the _providers folder in the following format:

---
name: [provider name]
domains: [ email domains of the provider / can also be yaml array when there are multiple ones can contain () to mark a premium domain]
credentials: [emailPass | emailAppPass | Oauth] - can also be an array, if multiple are supported availible
status:
   state: [OK | PREP | BROKEN] - "PREP" stands for Preparation Steps needed
   date: [YYYY-MM]
---
## Comments
[If there are any, but make sure everything regarding preparation is under "## Preparations"]

## Preparations

### Advanced Login Settings [if applicable]
```
[imap and smpt server addresses]
```

[if the provider requires additional steps, describe them here, you may also include images or a video tutorial of the process here]

## status history
[if you change the status, copy the previous here that we can allow for a history]
[has a table format? that we can color code the states]
[just a link to github changelog/history of this file?]

Status options:

State Meaning
OK works right out of the box, no additional steps needed (exception to this are custom domain email addresses where you might need to specify the smtp and imap server manualy)
PREP preparation step/s is/are needed - (a few steps are required then it works - for example enabling imap/smtp on provider page)
BROKEN not working - Does not work. (too unstable to use falls also in this category)

Edit an Entry

Entries

Optional yaml font matter fields:

limits:
    maxRecipients: number | "Unlimited"
    messagesPerDay: number | "Unlimited"
    maxFileSize: string | "Unlimited"

registration:
 inviteOnly: boolean
 PhoneAuthRequired: boolean
 PersonalDataRequired: boolean
 price: string

Example

---
name: example
website: https://example.com
domains:
 - example.com
 - example.org
credentials: emailPass |  emailAppPass | Oauth
status:
 state: OK | PREP | BROKEN
 date: YYYY-MM
---

## Comments
This is an example provider

## Preperations

### Advanced Login Settings
```
imap mail.example.com:993
smtp mail.example.com:465
```

Use as cargo Package

https://crates.io/crates/deltachat-provider-database

Usage:

extern crate deltachat_provider_database;

use deltachat_provider_database::get_provider_info;


fn main() {
    let (provider, _domains) = get_provider_info("example.org").unwrap();

    println!("{}", provider.name);

    if provider.status.state == deltachat_provider_database::StatusState::PREPARATION {
        println!("{}", provider.markdown);
    }
}

See cargo doc --open for more information.

Dependencies

~0.4–1.3MB
~29K SLoC