sink Module

This module contains classes that deliver a mail message to some destination (ie. to the Internet by SMTP or to a local MailDir mailbox)

class pymail.sink.Dump(config, address, messageId, source, destination, headers)

Bases: pymail.sink.Sink

A sink that dumps (appends) messages to a file

__init__(config, address, messageId, source, destination, headers)

Create new Dump object

close()

Close sink

log = None

Log

open()

Open sink

output = None

Output file

outputPath = None

Output pathname

sendBodyBlock(block)

Send body data

Parameters:block (string) –
class pymail.sink.MailDir(config, address, messageId, source, destination, headers)

Bases: pymail.sink.Sink

MailDir mailboxes

class pymail.sink.Null(config, address, messageId, source, destination, headers)

Bases: pymail.sink.Sink

A sink that discards all messages received

__init__(config, address, messageId, source, destination, headers)

Create new Null object

close()

Fake

log = None

Logger

open()

Fake

sendBodyBlock(block)

Fake

class pymail.sink.Sink(config, address, messageId, source, destination, headers)

Bases: object

Base class for mail sinks

Synopsis:

sink = SomeSink(config, address, messageId, source, destination, headers)
sink.open()
for block in blocks:
    sink.sendBodyBlock(block)
sink.close()
__init__(config, address, messageId, source, destination, headers)

Create Sink object

Parameters:
  • config – Local destination configuration
  • string – Client address
  • messageId – message ID
  • source (string) – source e-mail address
  • destination (string) – destination e-mail address
  • headers (string-list) – mail headers

To be called by deriving classes’ __init__ method.

address = None

Client address

close()

Close sink

To be overridden by subclass

config = None

Destination config

destination = None

Destination address

headers = None

List of headers

messageId = None

Message-ID

open()

Open sink

Readies the sink to receive the mail body.

To be overridden by subclass

sendBodyBlock(block)

Send body block

Parameters:block (string) –

To be overridden by subclass

source = None

Source address

class pymail.sink.Smtp(config, address, messageId, source, destination, headers)

Bases: pymail.sink.Sink

Mail delivery to a SMTP server

Raise :error.MailError

This sink type uses the Session class to send mail out to other SMTP servers

__init__(config, address, messageId, source, destination, headers)

Create Smtp object

Parameters:
  • config (dict) –
  • messageId (string) –
  • source (string) –
  • destination (string) –
  • headers (list(string)) –
  • address (string) –
Raises error.MailError:
 

address = None

Client address

clientSession = None

Client session

domain = None

E-Mail domain part

log = None

Logger

open()

Open connection to mail host