DmarcRua
is a simple .NET serializer for DMARC aggregate reports. Given
aggregate report XML, DmarcRua
serializes the report into an object and
provides some convenience functions for identifying and exploring DMARC
failures.
- Serialize DMARC aggregate report XML into .NET types and objects.
- Discover reported DMARC failures.
- Summarize or itemize DMARC failures by IP address.
- Summarize or itemize DMARC failures by From header.
Current Version: 1.1.5
Target Framework: netstandard2.0
- None.
AggregateReport
objects can be constructed with a stream of the report XML
or the report can be serialized later.
For example:
using (var stream = File.OpenRead("\path\to\report.xml"))
{
var aggregateReport = new AggregateReport(stream);
}
Or:
var aggregateReport = new AggregateReport();
using (var stream = File.OpenRead("\path\to\report.xml"))
{
aggregateReport.ReadAggregateReport(stream);
}
AggregateReport.GetFailureRecords()
- An enumeration of all report records that failed DMARC.
AggregateReport.GetFailureCount()
- Count of all report records that failed DMARC
AggregateReport.SummarizeFailuresByIpAddress()
- All report records that failed DMARC summarized by IP address.
AggregateReport.SummarizeFailuresByHeaderFrom()
- All report records that failed DMARC summarized by From header.
AggregateReport.GetFailedRecordsByIpAddress(IPAddress ipAddress)
- Itemized DMARC fail report records for a single IP address.
AggregateReport.GetFailedRecordsByFromHeader(string fromHeader)
- Itemized DMARC fail report records for a single From header.
Specifications on the DMARC aggregate report format were taken from https://tools.ietf.org/html/rfc7489#appendix-C