NAME¶
Qpsmtpd::Connection - 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.