NAME

Mail::Milter::Authentication::Protocol::SMTP - SMTP protocol handling

VERSION

version 3.20241024

SYNOPSIS

Subclass of Net::Server::PreFork for bringing up the main server process for authentication_milter.

Please see Net::Server docs for more detail of the server code.

DESCRIPTION

A Perl implenmetation of email authentication standards rolled up into a single easy to use milter.

FUNCTIONS

command_param( $command, $index )

Extract parameters from a SMTP command line.

METHODS

register_metrics

Return details of the metrics this module exports.

protocol_process_request( $command, $buffer )

Process the command from the SMTP protocol stream.

get_smtp_config()

Return the SMTP config for the given connection, or the default config if no connection specific config exists.

queue_type()

Return the smtp queue type, either before or after A before queue will not have an upstream queue id, an after queue will.

send_smtp_packet( $socket, $send, $expect )

Send an SMTP command to the protocol stream. Expecting a response $expect.

smtp_command_data( $command )

Process the SMTP DATA command.

smtp_command_ehlo( $command )

Process the SMTP EHLO command.

smtp_command_helo( $command )

Process the SMTP HELO command.

smtp_command_lhlo( $command )

Process the LMTP LHLO command.

smtp_command_mailfrom( $command )

Process the SMTP MAIL FROM command.

smtp_command_rcptto( $command )

Process the SMTP RCPT TO command.

smtp_command_rset( $command )

Process the SMTP RSET command.

smtp_command_xforward( $command )

Process the SMTP XFORWARD command.

smtp_forward_to_destination()

Send the received SMTP transaction on to its destination with authentication results headers (etc) added.

close_destination_socket()

QUIT and close the destination socket if open.

smtp_init()

Initialise transaction data as/when required.

smtp_insert_received_header()

Insert a SMTP Received header into the email.

smtp_queue_id()

Return a generated Queue ID for the email. This can include the received ID from XFORWARD.

add_header( $header, $value )

Add a header

change_header( $header, $index, $value )

Change a header

insert_header( $index, $key, $value )

Insert a header

smtp_status( $status )

Update the process name status line

AUTHOR

Marc Bradshaw <marc@marcbradshaw.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020 by Marc Bradshaw.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.