---
name: "Mail::DKIM::PublicKey"
section: "3pm"
platform: "linux"
package: "perl-mail-dkim"
version: "1.20240923-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Mail::DKIM::PublicKey"
---

# Mail::DKIM::PublicKey(3pm)

Represents a DKIM key

## NAME

Mail::DKIM::PublicKey - Represents a DKIM key

## VERSION

version 1.20240923

## CONSTRUCTOR

### fetch() - retrieve a public key record from DNS

```
  my $public_key = Mail::DKIM::PublicKey->fetch(
                      Protocol => 'dns',
                      Selector => 'brisbane',
                      Domain => 'example.com',
                    );
```

If the public key is found, a Mail::DKIM::PublicKey object is returned, representing the information found in DNS. If the public key does not exist in DNS, then `"undef"` is returned. If a DNS error occurs while fetching the key, then this method will `"die"`. If the public key was found, but is not valid (e.g. it is "revoked"), then this method will `"die"`.

## METHODS

### granularity() - get or set the granularity (g=) field

```
  my $g = $public_key->granularity;
  $public_key->granularity('*');
```

Granularity of the key. The value must match the Local-part of the effective "i=" tag of the DKIM-Signature header field. The granularity is a literal value, or a pattern with a single '\*' wildcard character that matches zero or more characters.

If no granularity is defined, then the default value, '\*', will be returned.

## AUTHORS

- •

  Jason Long \<jason@long.name\>

- •

  Marc Bradshaw \<marc@marcbradshaw.net\>

- •

  Bron Gondwana \<brong@fastmailteam.com\> (ARC)

## THANKS

Work on ensuring that this module passes the ARC test suite was generously sponsored by Valimail (https://www.valimail.com/)

## COPYRIGHT AND LICENSE

- •

  Copyright (C) 2013 by Messiah College

- •

  Copyright (C) 2010 by Jason Long

- •

  Copyright (C) 2017 by Standcore LLC

- •

  Copyright (C) 2020 by FastMail Pty Ltd

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.
