---
name: "Mail::SPF::Mech::A"
section: "3pm"
platform: "linux"
package: "perl-mail-spf"
version: "3.20260331-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Mail::SPF::Mech::A"
---

# Mail::SPF::Mech::A(3pm)

SPF record "a" mechanism class

## NAME

Mail::SPF::Mech::A - SPF record "a" mechanism class

## VERSION

version 3.20260331

## DESCRIPTION

An object of class **Mail::SPF::Mech::A** represents an SPF record mechanism of type `"a"`.

### Constructors

The following constructors are provided:

- **new(%options)**: returns *Mail::SPF::Mech::A*

  Creates a new SPF record `"a"` mechanism object.

  `%options` is a list of key/value pairs representing any of the following options:

  - **qualifier**

    - **domain\_spec**

    - **ipv4\_prefix\_length**

    - **ipv6\_prefix\_length**

    See "new" in Mail::SPF::Mech.

- **new\_from\_string($text, %options)**: returns *Mail::SPF::Mech::A*; throws *Mail::SPF::ENothingToParse*, *Mail::SPF::EInvalidMech*

  Creates a new SPF record `"a"` mechanism object by parsing the string and any options given.

### Class methods

The following class methods are provided:

- **default\_qualifier**

  - **default\_ipv4\_prefix\_length**

  - **default\_ipv6\_prefix\_length**

  - **qualifier\_pattern**

  See "Class methods" in Mail::SPF::Mech.

- **name**: returns *string*

  Returns **'a'**.

- **name\_pattern**: returns *Regexp*

  Returns a regular expression that matches a mechanism name of **'a'**.

### Instance methods

The following instance methods are provided:

- **text**

  - **qualifier**

  - **params**

  - **stringify**

  - **domain**

  - **match\_in\_domain**

  See "Instance methods" in Mail::SPF::Mech.

- **domain\_spec**: returns *Mail::SPF::MacroString*

  Returns the `"domain-spec"` parameter of the mechanism.

- **ipv4\_prefix\_length**: returns *integer*

  Returns the IPv4 network prefix length of the mechanism.

- **ipv6\_prefix\_length**: returns *integer*

  Returns the IPv6 network prefix length of the mechanism.

- **match($server, $request)**: returns *boolean*

  Checks whether the mechanism's target domain name (that is, any of its DNS `"A"` or `"AAAA"` host addresses) matches the given request's IP address (see "ip\_address" in Mail::SPF::Request), and returns **true** if it does, or **false** otherwise.  The mechanism's IP network prefix lengths are respected when matching address records against the request's IP address.  See RFC 4408, 5, for the exact algorithm used.

## SEE ALSO

Mail::SPF, Mail::SPF::Record, Mail::SPF::Term, Mail::SPF::Mech

\<http://tools.ietf.org/html/rfc4408\>

For availability, support, and license information, see the README file included with Mail::SPF.

## AUTHORS

Julian Mehnle \<julian@mehnle.net\>, Shevek \<cpan@anarres.org\>
