GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Mail::BIMI(3) User Contributed Perl Documentation Mail::BIMI(3)

Mail::BIMI - BIMI object

version 3.20250130

Brand Indicators for Message Identification (BIMI) retrieval, validation, and processing

  # Assuming we have a message, and have verified it has exactly one From Header domain, and passes
  # any other BIMI and local site requirements not related to BIMI record validation...
  # For example, relevant DKIM coverage of any BIMI-Selector header
  my $message = ...Specifics of adding headers and Authentication-Results is left to the reader...
  my $domain = "example.com"; # domain from From header
  my $selector = "default";   # selector from From header
  my $spf = Mail::SPF->new( ...See Mail::SPF POD for options... );
  my $dmarc = Mail::DMARC::PurePerl->new( ...See Mail::DMARC POD for options... );
  $dmarc->validate;
  my $bimi = Mail::BIMI->new(
    dmarc_object => $dmarc,
    spf_object => $spf,
    domain => $domain,
    selector => $selector,
  );
  my $auth_results = $bimi->get_authentication_results_object;
  my $bimi_result = $bimi->result;
  $message->add_auth_results($auth_results); # See Mail::AuthenticationResults POD for usage
  if ( $bimi_result->result eq 'pass' ) {
    my $headers = $result->headers;
    if ($headers) {
      $message->add_header( 'BIMI-Location', $headers->{'BIMI-Location'} if exists $headers->{'BIMI-Location'};
      $message->add_header( 'BIMI-Indicator', $headers->{'BIMI-Indicator'} if exists $headers->{'BIMI-Indicator'};
    }
  }

These values are used as inputs for lookups and verifications, they are typically set by the caller based on values found in the message being processed

is=rw

Validated Mail::DMARC::PurePerl object from parsed message

is=rw

Domain to lookup/domain record was retrieved from

is=rw

Net::DNS::Resolver object to use for DNS lookups; default used if not set

is=rw

Selector to lookup/selector record was retrieved from

is=rw

Mail::SPF::Result object from parsed message

These values are derived from lookups and verifications made based upon the input values, it is however possible to override these with other values should you wish to, for example, validate a record before it is published in DNS, or validate an Indicator which is only available locally

is=rw

Relevant Mail::DMARC::PurePerl object

is=rw

Relevant Mail::DMARC::Result object

is=rw

is=rw

Options class

is=rw

Mail::BIMI::Record object

is=rw

Mail::BIMI::Result object

is=ro

time of retrieval - useful in testing

is=rw

Mail::BIMI::Role::HasError

Moose::Object

finish()

Finish and clean up, write cache if enabled.

log_verbose()

Output given text if in verbose mode.

  • Mail::BIMI::Options
  • Mail::BIMI::Prelude
  • Mail::BIMI::Record
  • Mail::BIMI::Result
  • Mail::DMARC::PurePerl
  • Moose
  • Moose::Util::TypeConstraints
  • Net::DNS::Resolver

Marc Bradshaw <marc@marcbradshaw.net>

This software is copyright (c) 2020 by Marc Bradshaw.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

2025-01-30 perl v5.40.2

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.