Camel.Transport
Description: Reference for Camel.Transport

### Class

# CamelTransport

#### Description [src]

    abstract class Camel.Transport : Camel.Service
      implements Gio.Initable {
      CamelTransportPrivate* priv
    }

Base class for mail sending backends.

`CamelTransport` is the base class for backends that support sending mail messages. It is a `CamelService` subclass and adds a single core virtual method: camel_transport_send_to().

The recipient address list passed to `camel_transport_send_to()` is the envelope recipient list, which need not match the To/Cc headers in the message itself — this is how Bcc recipients are handled. Similarly, the from address is the envelope sender.

Implementations are free to modify certain headers (e.g. remove headers they do not wish to transmit, adjust Content-Transfer-Encoding) before sending, but must restore them afterwards. The actual message content is not changed.

Available implementations include SMTP (camel-smtp-provider) and sendmail (camel-sendmail-provider).

#### Hierarchy

#### Ancestors

- CamelService
- GObject

#### Implements

- GInitable

#### Instance methods

###### camel_transport_get_request_dsn

Returns whether should request Delivery Status Notification in the “send_to” operation.

since: 3.50

###### camel_transport_send_to

Sends the message asynchronously to the given recipients, regardless of the contents of `message`. If the message contains a “Bcc” header, the transport is responsible for stripping it.

since: 3.0

###### camel_transport_send_to_finish

Finishes the operation started with camel_transport_send_to().

since: 3.0

###### camel_transport_send_to_sync

Sends the message to the given recipients, regardless of the contents of `message`. If the message contains a “Bcc” header, the transport is responsible for stripping it.

since: 3.0

###### camel_transport_set_request_dsn

Sets whether should request Delivery Status Notification during the “send_to” operation.

since: 3.50

##### Methods inherited from CamelService (30)

Please see CamelService for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

#### Properties

##### Properties inherited from CamelService (9)

###### Camel.Service:connection-status

The connection status for the service.

###### Camel.Service:display-name

The display name for the service.

###### Camel.Service:password

The password for the service.

###### Camel.Service:provider

The `CamelProvider` for the service.

###### Camel.Service:proxy-resolver

The proxy resolver for the service.

###### Camel.Service:session

A `CamelSession` instance.

###### Camel.Service:settings

A `CamelSettings` instance.

###### Camel.Service:uid

The unique identity of the service.

###### Camel.Service:with-proxy-resolver

Private property, to not create `GProxyResolver` in the tests.

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct CamelTransportClass {
      CamelServiceClass parent_class;
      gboolean (* send_to_sync) (
        CamelTransport* transport,
        CamelMimeMessage* message,
        CamelAddress* from,
        CamelAddress* recipients,
        gboolean* out_sent_message_saved,
        GCancellable* cancellable,
        GError** error
      );
      gpointer reserved;

    }

No description available.

###### Class members

`parent_class: CamelServiceClass`

  No description available.

`send_to_sync: gboolean (* send_to_sync) ( CamelTransport* transport, CamelMimeMessage* message, CamelAddress* from, CamelAddress* recipients, gboolean* out_sent_message_saved, GCancellable* cancellable, GError** error )`

  No description available.

`reserved: gpointer`

  No description available.

#### Virtual methods

###### Camel.TransportClass.send_to_sync

Sends the message to the given recipients, regardless of the contents of `message`. If the message contains a “Bcc” header, the transport is responsible for stripping it.

since: 3.0