Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cloudflare/dmarc


https://github.com/cloudflare/dmarc

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# dmarc

> DMARC ([RFC7489]) implementation

## Features

### Load the policy for a domain

```rust
let policy: Option = dmarc::load_policy(&logger, &from_domain).await?;
```

The `load_policy` arguments are the following:
- `logger`: [slog]::Logger
- `from_domain`: &str ([RFC5322].From's domain)

### Apply a policy

```rust
let dkim_result: cfdkim::DKIMResult = ...;
let spf_result: SPFResult = ...;

let ctx = dmarc::PolicyContext {
from_domain: &from_domain,
logger: &logger,
dkim_result,
spf_result,
};

let res: DMARCResult = policy.apply(&ctx);
println!("dmarc={}", res.to_str());
```

`dkim_result` is the result of verifying DKIM using the [cfdkim] crate. In the future it should be a trait.

`spf_result` is the result of verifying SPF.

### Sending feedback report

Not planned yet.

[RFC7489]: https://datatracker.ietf.org/doc/html/rfc7489
[slog]: https://crates.io/crates/slog
[RFC5322]: https://datatracker.ietf.org/doc/html/rfc5322
[cfdkim]: https://crates.io/crates/cfdkim