## ESourceMailSubmission

ESourceMailSubmission — ESource extension for submitting emails

## Synopsis

    #include <libedataserver/libedataserver.h>

    #define             E_SOURCE_EXTENSION_MAIL_SUBMISSION
    struct              ESourceMailSubmission;
    struct              ESourceMailSubmissionClass;
    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);
    gboolean            e_source_mail_submission_get_replies_to_origin_folder
                                                            (ESourceMailSubmission *extension);
    void                e_source_mail_submission_set_replies_to_origin_folder
                                                            (ESourceMailSubmission *extension,
                                                             gboolean replies_to_origin_folder);

## 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

### 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

### struct ESourceMailSubmission

    struct ESourceMailSubmission {
    	ESourceExtension parent;
    	ESourceMailSubmissionPrivate *priv;
    };

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

Since 3.6

### struct ESourceMailSubmissionClass

    struct ESourceMailSubmissionClass {
    	ESourceExtensionClass parent_class;
    };

### 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

### e_source_mail_submission_get_replies_to_origin_folder ()

    gboolean            e_source_mail_submission_get_replies_to_origin_folder
                                                            (ESourceMailSubmission *extension);

Returns whether save replies in the folder of the message being replied to, instead of the Sent folder.

`extension` : | an ESourceMailSubmission
Returns : | whether save replies in the folder of the message being replied to

Since 3.8

### e_source_mail_submission_set_replies_to_origin_folder ()

    void                e_source_mail_submission_set_replies_to_origin_folder
                                                            (ESourceMailSubmission *extension,
                                                             gboolean replies_to_origin_folder);

Sets whether save replies in the folder of the message being replied to, instead of the Sent folder.

`extension` : | an ESourceMailSubmission
`replies_to_origin_folder` : | new value

Since 3.8