## ESourceMailSubmission ESourceMailSubmission — ESource extension for submitting emails |

## Synopsis

    #include <libedataserver/libedataserver.h>

    struct              ESourceMailSubmission;
    #define             E_SOURCE_EXTENSION_MAIL_SUBMISSION
    const gchar *       e_source_mail_submission_get_sent_folder
                                                            (ESourceMailSubmission *extension);
    gchar *             e_source_mail_submission_dup_sent_folder
                                                            (ESourceMailSubmission *extension);
    void                e_source_mail_submission_set_sent_folder
                                                            (ESourceMailSubmission *extension,
                                                             const gchar *sent_folder);
    const gchar *       e_source_mail_submission_get_transport_uid
                                                            (ESourceMailSubmission *extension);
    gchar *             e_source_mail_submission_dup_transport_uid
                                                            (ESourceMailSubmission *extension);
    void                e_source_mail_submission_set_transport_uid
                                                            (ESourceMailSubmission *extension,
                                                             const gchar *transport_uid);

## Object Hierarchy

      GObject
       +----ESourceExtension
             +----ESourceMailSubmission

## Properties

      "sent-folder"              gchar*                : Read / Write / Construct
      "transport-uid"            gchar*                : Read / Write / Construct

## Description

The ESourceMailSubmission extension tracks settings to be applied when submitting a mail message for delivery.

Access the extension as follows:

    1
    2
    3
    4
    5
    #include <libedataserver/libedataserver.h>

    ESourceMailSubmission *extension;

    extension = e_source_get_extension (source, E_SOURCE_EXTENSION_MAIL_SUBMISSION);

## Details

### struct ESourceMailSubmission

    struct ESourceMailSubmission;

Contains only private data that should be read and manipulated using the function below.

Since 3.6

### E_SOURCE_EXTENSION_MAIL_SUBMISSION

    #define E_SOURCE_EXTENSION_MAIL_SUBMISSION "Mail Submission"

Pass this extension name to `e_source_get_extension()` to access ESourceMailSubmission. This is also used as a group name in key files.

Since 3.6

### e_source_mail_submission_get_sent_folder ()

    const gchar *       e_source_mail_submission_get_sent_folder
                                                            (ESourceMailSubmission *extension);

Returns a string identifying the preferred folder for sent messages. The format of the identifier string is defined by the client application.

`extension` : | an ESourceMailSubmission
Returns : | an identifier for the preferred sent folder

Since 3.6

### e_source_mail_submission_dup_sent_folder ()

    gchar *             e_source_mail_submission_dup_sent_folder
                                                            (ESourceMailSubmission *extension);

Thread-safe variation of `e_source_mail_submission_get_sent_folder()`. Use this function when accessing `extension` from multiple threads.

The returned string should be freed with `g_free()` when no longer needed.

`extension` : | an ESourceMailSubmission
Returns : | a newly-allocated copy of "sent-folder"

Since 3.6

### e_source_mail_submission_set_sent_folder ()

    void                e_source_mail_submission_set_sent_folder
                                                            (ESourceMailSubmission *extension,
                                                             const gchar *sent_folder);

Sets the preferred folder for sent messages by an identifier string. The format of the identifier string is defined by the client application.

The internal copy of `sent_folder` is automatically stripped of leading and trailing whitespace. If the resulting string is empty, `NULL` is set instead.

`extension` : | an ESourceMailSubmission
`sent_folder` : | an identifier for the preferred sent folder, or `NULL`. [allow-none]

Since 3.6

### e_source_mail_submission_get_transport_uid ()

    const gchar *       e_source_mail_submission_get_transport_uid
                                                            (ESourceMailSubmission *extension);

Returns the "uid" of the ESource that describes the mail transport to be used for outgoing messages.

`extension` : | an ESourceMailSubmission
Returns : | the mail transport "uid"

Since 3.6

### e_source_mail_submission_dup_transport_uid ()

    gchar *             e_source_mail_submission_dup_transport_uid
                                                            (ESourceMailSubmission *extension);

Thread-safe variation of `e_source_mail_submission_get_transport_uid()`. Use this function when accessing `extension` from multiple threads.

The returned string should be freed with `g_free()` when no longer needed.

`extension` : | an ESourceMailSubmission
Returns : | a newly-allocated copy of "transport-uid"

Since 3.6

### e_source_mail_submission_set_transport_uid ()

    void                e_source_mail_submission_set_transport_uid
                                                            (ESourceMailSubmission *extension,
                                                             const gchar *transport_uid);

Sets the "uid" of the ESource that describes the mail transport to be used for outgoing messages.

`extension` : | an ESourceMailSubmission
`transport_uid` : | the mail transport "uid", or `NULL`. [allow-none]

Since 3.6

## Property Details

### The `"sent-folder"` property

      "sent-folder"              gchar*                : Read / Write / Construct

Preferred folder for sent messages.

Default value: NULL

### The `"transport-uid"` property

      "transport-uid"            gchar*                : Read / Write / Construct

ESource UID of a Mail Transport.

Default value: NULL