package uspf
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  SPF implementation in OCaml
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      uspf-0.1.0.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=4ca264d7a354adceadc1344728b28af1c21436ad25cc642ee6b5658bb4789caa
    
    
  sha512=08d7ede78617e6a1a9282f883bc89acd27325831f586956a1a274581ac1eb8c8a7a4cd34c9e00781f0c6ca0f6f31a41e6c4aaa93053807ee54116eeff920abbf
    
    
  doc/README.html
µSPF, a SPF verifier/signer in OCaml
uspf is a simple library to check or sign an incoming emails from -data. See RFC 7208.
Usage
How to install it?
You must have an OPAM environment. Then, uspf can be installed with:
$ opam install uspfHow to use it?
uspf is a little tool which can be used to verify DNS records from some informations (like where comes from the incoming email - especially, what is the IP address of the sender).
From these informations and the DNS record, we are able to check if the IP address is allowed to send an email under a certain domain-name.
By this way, uspf requires:
- few informations (the IP address of the sender, its domain-name, etc.)
- a DNS stack to get records
(* Informations required by uSPF *)
let ctx =
  Uspf.empty
  |> Uspf.with_sender (`MAILFROM address)
  |> Uspf.with_ip ipaddr
(* DNS record *)
let record = Uspf.get ctx sched dns (module DNS)
(* Verification *)
let result = Uspf.check ctx sched dns (module DNS)From the result, the user is able to emit a new RFC822 field via mrmime:
let field_name, value = Uspf.to_field ~ctx ?receiver result
let () =
  Format.printf "%s: %s\n%!"
    (Mrmime.Field_name.to_string field_name)
    (Unstrctrd.to_utf_8_string value)uspf has received funding from the Next Generation Internet Initiative (NGI) within the framework of the DAPSI Project.
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page