Qpsmtpd::Connection(3) A single SMTP connection

SYNOPSIS


my $rdns = $qp->connection->remote_host;
my $ip = $qp->connection->remote_ip;

DESCRIPTION

This class contains details about an individual SMTP connection. A connection lasts the lifetime of a TCP connection to the SMTP server.

See also Qpsmtpd::Transaction which is a class containing details about an individual SMTP transaction. A transaction lasts from "MAIL FROM" to the end of the "DATA" marker, or a "RSET" command, whichever comes first, whereas a connection lasts until the client disconnects.

API

These API docs assume you already have a connection object. See the source code if you need to construct one. You can access the connection object via the "Qpsmtpd" object's "$qp->connection" method.

new ( )

Instantiates a new Qpsmtpd::Connection object.

start ( %args )

Initializes the connection object with %args attribute data.

remote_host( )

The remote host connecting to the server as looked up via reverse dns.

remote_ip( )

The remote IP address of the connecting host.

remote_port( )

The remote port.

remote_info( )

If your server does an ident lookup on the remote host, this is the identity of the remote client.

local_ip( )

The local ip.

local_port( )

The local port.

hello( )

Either "helo" or "ehlo" depending on how the remote client greeted your server.

NOTE: This field is empty during the helo or ehlo hooks, it is only set after a successful return from those hooks.

hello_host( )

The host name specified in the "HELO" or "EHLO" command.

NOTE: This field is empty during the helo or ehlo hooks, it is only set after a successful return from those hooks.

notes($key [, $value])

Get or set a note on the connection. This is a piece of data that you wish to attach to the connection and read somewhere else. For example you can use this to pass data between plugins.

clone([%args])

Returns a copy of the Qpsmtpd::Connection object. The optional args parameter may contain:
no_reset (1|0)
If true, do not reset the original connection object, the author has to care about that: only the cloned connection object is reset at the end of the connection

relay_client( )

True if the client is allowed to relay messages.