📫 Himalaya

Rust library for email management.

```rust let accountconfig = AccountConfig { email: "test@localhost".into(), displayname: Some("Test".into()), emailsender: EmailSender::Internal(SmtpConfig { host: "localhost".into(), port: 587, starttls: Some(true), login: "login".into(), passwdcmd: "echo password".into(), ..Default::default() }), ..Default::default() };

let imapconfig = ImapConfig { host: "localhost".into(), port: 993, starttls: Some(true), login: "login".into(), passwdcmd: "echo password".into(), ..Default::default() }; let backendconfig = BackendConfig::Imap(&imapconfig);

let mut backend = BackendBuilder::build(&accountconfig, &backendconfig).unwrap(); backend.envelopelist("INBOX", 10, 0).unwrap(); backend.emailmove("INBOX", "Archives", "21").unwrap(); backend.email_delete("INBOX", "42").unwrap();

let mut sender = SenderBuilder::build(&accountconfig).unwrap(); let email = Email::fromtpl("To: test2@localhost\r\nSubject: Hello\r\n\r\nContent").unwrap(); sender.send(&account_config, &email).unwrap(); ```

The project is under active development. Do not use in production before the v1.0.0.

Introduction

The role of this library is to extract and expose an API for managing emails. This way, you can build clients that match the best your workflow without reiventing the wheel. Here the list of available clients built by the community:

Features

Contributing

If you find a bug, feel free to open an issue at https://todo.sr.ht/~soywod/himalaya-lib.

If you have a feature in mind, feel free to send a patchset at https://git.sr.ht/~soywod/himalaya-lib/send-email or using the command git send-email.

Sponsoring

github paypal ko-fi buy-me-a-coffee liberapay