Manpage logo

Mailmunge::Response - encapsulates response to send back to Milter.

NAME  ABSTRACT  SYNOPSIS  CLASS METHODS  Mailmunge::Response−>new($key1 => $val1 [, $key2 => $val2...])  Mailmunge::Response−>CONTINUE(...)  Mailmunge::Response−>ACCEPT_AND_NO_MORE_FILTERING(...)  Mailmunge::Response−>DISCARD(...)  Mailmunge::Response−>TEMPFAIL(...)  Mailmunge::Response−>REJECT(...)  INSTANCE METHODS  code([$val])  dsn([$val])  delay([$val])  message([$val])  status([$val])  fix_code_dsn()  is_tempfail()  is_discard()  is_reject()  is_success()  is_success_or_discard()  AUTHOR  LICENSE  SEE ALSO 

NAME

Mailmunge::Response − encapsulates response to send back to Milter.

ABSTRACT

Mailmunge::Response holds all of the information needed to reply to an SMTP connection request or SMTP command such as HELO, MAIL From: and RCPT To:

SYNOPSIS

use Mailmunge::Response;
sub filter_sender {
my ($self, $ctx) = @_;
# Everything's OK
return Mailmunge::Response−>new(status => 'CONTINUE');
# Reject
return Mailmunge::Response−>new(status => 'REJECT',
message => $ctx−>sender . ' is unwelcome');

CLASS METHODS

Mailmunge::Response−>new($key1 => $val1 [, $key2 => $val2...])

Creates a new Mailmunge::Response object. Arguments are a series of "key => val" pairs. Possible keys are:
status

The status to return. This is one of the following strings:
CONTINUE

Accept the SMTP command with a 2xx status code

TEMPFAIL

Tempfail the SMTP command with a 4xx status code

REJECT

Reject the SMTP command with a 5xx status code

DISCARD

Accept the SMTP command, but discard the message rather than delivering it

ACCEPT_AND_NO_MORE_FILTERING

Accept the SMTP command, and do no further filtering of the message.

code

A 3−digit SMTP reply code. If not supplied, an appropriate code is picked based on the value of "status".

dsn

A 3−numbered SMTP DSN of the form "X.Y.Z". If not supplied, an appropriate DSN is picked based on the value of "status".

message

A text message to include in the SMTP reply. If not supplied, an appropriate message is picked based on the value of "status"

delay

A delay in seconds; if non−zero, "mailmunge" will pause for this many seconds before replying to the MTA. This parameter should be used with caution; if used at all, the delay should be at most a few seconds.

Mailmunge::Response−>CONTINUE(...)

Equivalent to "Mailmunge::Response−>new(status => 'CONTINUE', ...)"

Mailmunge::Response−>ACCEPT_AND_NO_MORE_FILTERING(...)

Equivalent to "Mailmunge::Response−>new(status => 'ACCEPT_AND_NO_MORE_FILTERING', ...)"

Mailmunge::Response−>DISCARD(...)

Equivalent to "Mailmunge::Response−>new(status => 'DISCARD', ...)"

Mailmunge::Response−>TEMPFAIL(...)

Equivalent to "Mailmunge::Response−>new(status => 'TEMPFAIL', ...)"

Mailmunge::Response−>REJECT(...)

Equivalent to "Mailmunge::Response−>new(status => 'REJECT', ...)"

INSTANCE METHODS

code([$val])

Returns the "code" value. If an argument is supplied, the "code" is set to that value.

dsn([$val])

Returns the "dsn" value. If an argument is supplied, the "dsn" is set to that value.

delay([$val])

Returns the "delay" value. If an argument is supplied, the "delay" is set to that value.

message([$val])

Returns the "message" value. If an argument is supplied, the "message" is set to that value.

status([$val])

Returns the "status" value. If an argument is supplied, the "status" is set to that value. If you supply an invalid status, then this method croaks.

fix_code_dsn()

Fix up the "code" and "dsn" members so they make sense for the given "status". For example, if "status" is TEMPFAIL, then "code" must be 4xx and "dsn" must be 4.m.n.

is_tempfail()

Returns true if "status" is TEMPFAIL; false otherwise.

is_discard()

Returns true if "status" is DISCARD; false otherwise.

is_reject()

Returns true if "status" is REJECT; false otherwise.

is_success()

Returns true if "status" is CONTINUE or ACCEPT_AND_NO_MORE_FILTERING; false otherwise.

is_success_or_discard()

Returns true if "status" is CONTINUE, DISCARD or ACCEPT_AND_NO_MORE_FILTERING; false otherwise.

AUTHOR

Dianne Skoll <[email protected]>

LICENSE

This code is licensed under the terms of the GNU General Public License, version 2.

SEE ALSO

Mailmunge::Filter, Mailmunge::Context, mailmunge, mailmunge−multiplexor


Updated 2026-06-01 - jenkler.se | uex.se