DMARC_POLICY_T * opendmarc_policy_store_spf(
DMARC_POLICY_T * pctx,
u_char *domain, int result, int origin, u_char *human_readable
One you have found the outcome of the SPF check you may call this function to prepare it for a DMARC policy decision.
may be called as soon as you have made an SPF decision.
If you have no way of validating SPF, you may ignore this function.
||A pointer to type DMARC_POLICY_T.
||A pointer to an unsigned string containing the domain used to check SPF.
This may be the domain from
the SMTP MAIL From: command or, if that contained no domain,
the domain from the SMTP HELO/EHLO command.
||Integer specifying the result of the SPF check. Choose from one of:
DMARC_POLICY_SPF_OUTCOME_NONE if there was no SPF record;
DMARC_POLICY_SPF_OUTCOME_PASS if the SPF check passed;
DMARC_POLICY_SPF_OUTCOME_FAIL if the SPF check failed; or
DMARC_POLICY_SPF_OUTCOME_TMPFAIL if the check returned a temporary failure.
||Integer specifying the which part of the SMTP session contained the domain to check.
Select from one of:
DMARC_POLICY_SPF_ORIGIN_MAILFROM if the domain came from the SMTP MAIL From: command; or
DMARC_POLICY_SPF_ORIGIN_HELO if the domain came from the SMTP HELO/EHLO command.
||If not NULL, is a string containing an arbitrary, human readable and friendly SPF result.
- DMARC_PARSE_OKAY -- On success
- DMARC_PARSE_ERROR_NULL_CTX -- If pctx was NULL
- DMARC_PARSE_ERROR_EMPTY -- If domain was NULL or zero length
- DMARC_PARSE_ERROR_NO_DOMAIN -- If domain did not contain a domain, e.g. "<>"
- You may pass the whole SMTP MAIL From: command to this function,
or the value of the SMTP MAIL From: command inside angle braces or just the domain
you parsed from that address. This function will correctly handle whatever you feed it.
- If you lack access to an SPF outcome, you may safely omit calling this function, because
the library presumes there will be no SPF outcome unless told otherwise.