Skip to content

SMTPClientNotify

[Source]

This class is the center of the SMTP client. It contains all the logic that is used to manage the connection.

The current API is intended to provide maximum instrumentation until we have fully explored all the odd corners in the implementation.

Fundamentally, this Notifier takes an SMTPConfiguration val (which contains all the relay server configuration) and an EMail val

As the SMTP transaction is performed, a log of the session is created. Once complete the EMail object is returned to the client with the session-log.

class ref SMTPClientNotify is
  TCPConnectionNotify ref

Implements


Constructors

create

[Source]

new ref create(
  config': SMTPConfiguration val,
  email': EMail val)
: SMTPClientNotify ref^

Parameters

Returns


Public fields

var client_state: (SMTPClientStateNoConnection val | SMTPClientStateConnected val | SMTPClientStateAcceptedEHLO val |

[SMTPClientStateSendingRcptTo](smtp-SMTPClientStateSendingRcptTo.md) val | [SMTPClientStateReadyForMessage](smtp-SMTPClientStateReadyForMessage.md) val | [SMTPClientStatePendingOK](smtp-SMTPClientStatePendingOK.md) val | 
[None](https://stdlib.ponylang.io/builtin-None/) val)

[Source]


let config: SMTPConfiguration val

[Source]


let reader: Reader ref

[Source]


let outgoingreader: Reader ref

[Source]


var email: EMail val

[Source]


var rcpttos: Array[String val] ref

[Source]


var currentto: String val

[Source]


var sessionlog: Reader iso

[Source]


var status: Bool val

[Source]


Public Functions

connect_failed

[Source]

fun ref connect_failed(
  conn: TCPConnection ref)
: None val

Parameters

Returns


connected

[Source]

fun ref connected(
  conn: TCPConnection ref)
: None val

Parameters

Returns


sent

[Source]

fun ref sent(
  conn: TCPConnection ref,
  data: (String val | Array[U8 val] val))
: (String val | Array[U8 val] val)

Parameters

Returns


sentv

[Source]

fun ref sentv(
  conn: TCPConnection ref,
  data: ByteSeqIter val)
: ByteSeqIter val

Parameters

Returns


received

[Source]

fun ref received(
  conn: TCPConnection ref,
  data: Array[U8 val] iso,
  times: USize val)
: Bool val

Parameters

Returns


closed

[Source]

fun ref closed(
  conn: TCPConnection ref)
: None val

Parameters

Returns


recv_pending_ok

[Source]

fun ref recv_pending_ok(
  conn: TCPConnection ref)
: None val

Parameters

Returns


recv_ready_for_message

[Source]

fun ref recv_ready_for_message(
  conn: TCPConnection ref)
: None val

Parameters

Returns


recv_sending_rcpt_to

[Source]

fun ref recv_sending_rcpt_to(
  conn: TCPConnection ref)
: None val

Parameters

Returns


recv_accepted_ehlo

[Source]

fun ref recv_accepted_ehlo(
  conn: TCPConnection ref)
: None val

Parameters

Returns


recv_connected

[Source]

fun ref recv_connected(
  conn: TCPConnection ref)
: None val

Parameters

Returns


recv_noconnection

[Source]

fun ref recv_noconnection(
  conn: TCPConnection ref)
: None val

Parameters

Returns


debug

[Source]

fun ref debug(
  data: String val)
: None val

Parameters

Returns


die

[Source]

fun box die(
  err: String val = "",
  loc: SourceLoc val = __loc)
: None val

Parameters

Returns


accepted

fun ref accepted(
  conn: TCPConnection ref)
: None val

Parameters

Returns


proxy_via

fun ref proxy_via(
  host: String val,
  service: String val)
: (String val , String val)

Parameters

Returns


connecting

fun ref connecting(
  conn: TCPConnection ref,
  count: U32 val)
: None val

Parameters

Returns


auth_failed

fun ref auth_failed(
  conn: TCPConnection ref)
: None val

Parameters

Returns


expect

fun ref expect(
  conn: TCPConnection ref,
  qty: USize val)
: USize val

Parameters

Returns


throttled

fun ref throttled(
  conn: TCPConnection ref)
: None val

Parameters

Returns


unthrottled

fun ref unthrottled(
  conn: TCPConnection ref)
: None val

Parameters

Returns