tlslite.integration.SMTP_TLS.SMTP_TLS

Package tlslite :: Package integration :: Module SMTP_TLS :: Class SMTP_TLS |
[show private | hide private]
[frames | no frames]

## Class SMTP_TLS

    SMTP --+
           |
          SMTP_TLS

This class extends `smtplib.SMTP` with TLS support.

Method Summary
| ``starttls`(self, username, password, sharedKey, certChain, privateKey, cryptoID, protocol, x509Fingerprint, x509TrustList, x509CommonName, settings)` Puts the connection to the SMTP server into TLS mode.
Inherited from SMTP
| ``__init__`(self, host, port, local_hostname)` Initialize a new instance.
| ``close`(self)` Close the connection to the SMTP server.
| ``connect`(self, host, port)` Connect to a host on a given port.
| ``data`(self, msg)` SMTP 'DATA' command -- sends message data to server.
| ``docmd`(self, cmd, args)` Send a command, and return its response code.
| ``ehlo`(self, name)` SMTP 'ehlo' command.
| ``expn`(self, address)` SMTP 'verify' command -- checks for address validity.
| ``getreply`(self)` Get a reply from the server.
| ``has_extn`(self, opt)` Does the server support a given SMTP service extension?
| ``helo`(self, name)` SMTP 'helo' command.
| ``help`(self, args)` SMTP 'help' command.
| ``login`(self, user, password)` Log in on an SMTP server that requires authentication.
| ``mail`(self, sender, options)` SMTP 'mail' command -- begins mail xfer session.
| ``noop`(self)` SMTP 'noop' command -- doesn't do anything :>
| ``putcmd`(self, cmd, args)` Send a command to the server.
| ``quit`(self)` Terminate the SMTP session.
| ``rcpt`(self, recip, options)` SMTP 'rcpt' command -- indicates 1 recipient for this mail.
| ``rset`(self)` SMTP 'rset' command -- resets session.
| ``send`(self, str)` Send `str' to the server.
| ``sendmail`(self, from_addr, to_addrs, msg, mail_options, rcpt_options)` This command performs an entire mail transaction.
| ``set_debuglevel`(self, debuglevel)` Set the debug output level.
| ``verify`(self, address)` SMTP 'verify' command -- checks for address validity.
| ``vrfy`(self, address)` SMTP 'verify' command -- checks for address validity.

Class Variable Summary
Inherited from SMTP
`int` | `debuglevel` = 0
`int` | `does_esmtp` = 0
`NoneType` | `ehlo_resp` = None
`NoneType` | `file` = None
`NoneType` | `helo_resp` = None

Method Details

### starttls(self, username=None, password=None, sharedKey=None, certChain=None, privateKey=None, cryptoID=None, protocol=None, x509Fingerprint=None, x509TrustList=None, x509CommonName=None, settings=None) Puts the connection to the SMTP server into TLS mode. If the server supports TLS, this will encrypt the rest of the SMTP session. For client authentication, use one of these argument combinations: username, password (SRP) username, sharedKey (shared-key) certChain, privateKey (certificate) For server authentication, you can either rely on the implicit mutual authentication performed by SRP or shared-keys, or you can do certificate-based server authentication with one of these argument combinations: cryptoID[, protocol] (requires cryptoIDlib) x509Fingerprint x509TrustList[, x509CommonName] (requires cryptlib_py) Certificate-based server authentication is compatible with SRP or certificate-based client authentication. It is not compatible with shared-keys. The caller should be prepared to handle TLS-specific exceptions. See the client handshake functions in `tlslite.TLSConnection.TLSConnection` for details on which exceptions might be raised. Parameters: `username` - SRP or shared-key username. Requires the 'password' or 'sharedKey' argument. (type=str) `password` - SRP password for mutual authentication. Requires the 'username' argument. (type=str) `sharedKey` - Shared key for mutual authentication. Requires the 'username' argument. (type=str) `certChain` - Certificate chain for client authentication. Requires the 'privateKey' argument. Excludes the SRP or shared-key related arguments. (type=`tlslite.X509CertChain.X509CertChain` or `cryptoIDlib.CertChain.CertChain`) `privateKey` - Private key for client authentication. Requires the 'certChain' argument. Excludes the SRP or shared-key related arguments. (type=`tlslite.utils.RSAKey.RSAKey`) `cryptoID` - cryptoID for server authentication. Mutually exclusive with the 'x509...' arguments. (type=str) `protocol` - cryptoID protocol URI for server authentication. Requires the 'cryptoID' argument. (type=str) `x509Fingerprint` - Hex-encoded X.509 fingerprint for server authentication. Mutually exclusive with the 'cryptoID' and 'x509TrustList' arguments. (type=str) `x509TrustList` - A list of trusted root certificates. The other party must present a certificate chain which extends to one of these root certificates. The cryptlib_py module must be installed to use this parameter. Mutually exclusive with the 'cryptoID' and 'x509Fingerprint' arguments. (type=list of `tlslite.X509.X509`) `x509CommonName` - The end-entity certificate's 'CN' field must match this value. For a web server, this is typically a server name such as 'www.amazon.com'. Mutually exclusive with the 'cryptoID' and 'x509Fingerprint' arguments. Requires the 'x509TrustList' argument. (type=str) `settings` - Various settings which can be used to control the ciphersuites, certificate types, and SSL/TLS versions offered by the client. (type=`tlslite.HandshakeSettings.HandshakeSettings`) Overrides: `smtplib.SMTP.starttls`

Generated by Epydoc 2.0 on Mon Feb 21 21:56:54 2005 | http://epydoc.sf.net