CamelMimeMessage

CamelMimeMessage

Synopsis




struct              CamelMimeMessage;
#define             CAMEL_RECIPIENT_TYPE_TO
#define             CAMEL_RECIPIENT_TYPE_CC
#define             CAMEL_RECIPIENT_TYPE_BCC
#define             CAMEL_RECIPIENT_TYPE_RESENT_TO
#define             CAMEL_RECIPIENT_TYPE_RESENT_CC
#define             CAMEL_RECIPIENT_TYPE_RESENT_BCC
#define             CAMEL_MESSAGE_DATE_CURRENT
CamelMimeMessage*   camel_mime_message_new              (void);
void                camel_mime_message_set_date         (CamelMimeMessage *message,
                                                         time_t date,
                                                         int offset);
time_t              camel_mime_message_get_date         (CamelMimeMessage *message,
                                                         int *offset);
time_t              camel_mime_message_get_date_received
                                                        (CamelMimeMessage *message,
                                                         int *offset);
void                camel_mime_message_set_message_id   (CamelMimeMessage *message,
                                                         const char *message_id);
const char*         camel_mime_message_get_message_id   (CamelMimeMessage *message);
void                camel_mime_message_set_reply_to     (CamelMimeMessage *message,
                                                         const CamelInternetAddress *reply_to);
const CamelInternetAddress* camel_mime_message_get_reply_to
                                                        (CamelMimeMessage *message);
void                camel_mime_message_set_subject      (CamelMimeMessage *message,
                                                         const char *subject);
const char*         camel_mime_message_get_subject      (CamelMimeMessage *message);
void                camel_mime_message_set_from         (CamelMimeMessage *message,
                                                         const CamelInternetAddress *from);
const CamelInternetAddress* camel_mime_message_get_from (CamelMimeMessage *message);
const CamelInternetAddress* camel_mime_message_get_recipients
                                                        (CamelMimeMessage *message,
                                                         const char *type);
void                camel_mime_message_set_recipients   (CamelMimeMessage *message,
                                                         const char *type,
                                                         const CamelInternetAddress *recipients);
void                camel_mime_message_set_source       (CamelMimeMessage *message,
                                                         const char *identity);
const char*         camel_mime_message_get_source       (CamelMimeMessage *message);
gboolean            camel_mime_message_has_8bit_parts   (CamelMimeMessage *message);
void                camel_mime_message_set_best_encoding
                                                        (CamelMimeMessage *message,
                                                         CamelBestencRequired required,
                                                         CamelBestencEncoding enctype);
void                camel_mime_message_encode_8bit_parts
                                                        (CamelMimeMessage *message);
CamelMimePart*      camel_mime_message_get_part_by_content_id
                                                        (CamelMimeMessage *message,
                                                         const char *content_id);
char*               camel_mime_message_build_mbox_from  (CamelMimeMessage *message);
void                camel_mime_message_dump             (CamelMimeMessage *msg,
                                                         int body);


Description

Details

struct CamelMimeMessage

struct CamelMimeMessage {
	CamelMimePart parent_object;

	/* header fields */
	time_t date;
	int date_offset;	/* GMT offset */

	/* cached internal copy */
	time_t date_received;
	int date_received_offset;	/* GMT offset */

	char *subject;

	char *message_id;

	CamelInternetAddress *reply_to;
	CamelInternetAddress *from;

	GHashTable *recipients;	/* hash table of CamelInternetAddress's */
};


CAMEL_RECIPIENT_TYPE_TO

#define CAMEL_RECIPIENT_TYPE_TO "To"


CAMEL_RECIPIENT_TYPE_CC

#define CAMEL_RECIPIENT_TYPE_CC "Cc"


CAMEL_RECIPIENT_TYPE_BCC

#define CAMEL_RECIPIENT_TYPE_BCC "Bcc"


CAMEL_RECIPIENT_TYPE_RESENT_TO

#define CAMEL_RECIPIENT_TYPE_RESENT_TO "Resent-To"


CAMEL_RECIPIENT_TYPE_RESENT_CC

#define CAMEL_RECIPIENT_TYPE_RESENT_CC "Resent-Cc"


CAMEL_RECIPIENT_TYPE_RESENT_BCC

#define CAMEL_RECIPIENT_TYPE_RESENT_BCC "Resent-Bcc"


CAMEL_MESSAGE_DATE_CURRENT

#define CAMEL_MESSAGE_DATE_CURRENT (~0)


camel_mime_message_new ()

CamelMimeMessage*   camel_mime_message_new              (void);

Create a new CamelMimeMessage object.

Returns :

a new CamelMimeMessage object

camel_mime_message_set_date ()

void                camel_mime_message_set_date         (CamelMimeMessage *message,
                                                         time_t date,
                                                         int offset);

Set the date on a message.

message :

a CamelMimeMessage object

date :

a time_t date

offset :

an offset from GMT

camel_mime_message_get_date ()

time_t              camel_mime_message_get_date         (CamelMimeMessage *message,
                                                         int *offset);

Get the date and GMT offset of a message.

message :

a CamelMimeMessage object

offset :

output for the GMT offset

Returns :

the date of the message

camel_mime_message_get_date_received ()

time_t              camel_mime_message_get_date_received
                                                        (CamelMimeMessage *message,
                                                         int *offset);

Get the received date and GMT offset of a message.

message :

a CamelMimeMessage object

offset :

output for the GMT offset

Returns :

the received date of the message

camel_mime_message_set_message_id ()

void                camel_mime_message_set_message_id   (CamelMimeMessage *message,
                                                         const char *message_id);

Set the message-id on a message.

message :

a CamelMimeMessage object

message_id :

id of the message

camel_mime_message_get_message_id ()

const char*         camel_mime_message_get_message_id   (CamelMimeMessage *message);

Get the message-id of a message.

message :

a CamelMimeMessage object

Returns :

the message-id of a message

camel_mime_message_set_reply_to ()

void                camel_mime_message_set_reply_to     (CamelMimeMessage *message,
                                                         const CamelInternetAddress *reply_to);

Set the Reply-To of a message.

message :

a CamelMimeMessage object

reply_to :

a CamelInternetAddress object

camel_mime_message_get_reply_to ()

const CamelInternetAddress* camel_mime_message_get_reply_to
                                                        (CamelMimeMessage *message);

Get the Reply-To of a message.

message :

a CamelMimeMessage object

Returns :

the Reply-Toa ddress of the message

camel_mime_message_set_subject ()

void                camel_mime_message_set_subject      (CamelMimeMessage *message,
                                                         const char *subject);

Set the subject text of a message.

message :

a CamelMimeMessage object

subject :

UTF-8 message subject

camel_mime_message_get_subject ()

const char*         camel_mime_message_get_subject      (CamelMimeMessage *message);

Get the UTF-8 subject text of a message.

message :

a CamelMimeMessage object

Returns :

the message subject

camel_mime_message_set_from ()

void                camel_mime_message_set_from         (CamelMimeMessage *message,
                                                         const CamelInternetAddress *from);

Set the from address of a message.

message :

a CamelMimeMessage object

from :

a CamelInternetAddress object

camel_mime_message_get_from ()

const CamelInternetAddress* camel_mime_message_get_from (CamelMimeMessage *message);

Get the from address of a message.

message :

a CamelMimeMessage object

Returns :

the from address of the message

camel_mime_message_get_recipients ()

const CamelInternetAddress* camel_mime_message_get_recipients
                                                        (CamelMimeMessage *message,
                                                         const char *type);

Get the message recipients of a specified type.

message :

a CamelMimeMessage object

type :

recipient type

Returns :

the requested recipients

camel_mime_message_set_recipients ()

void                camel_mime_message_set_recipients   (CamelMimeMessage *message,
                                                         const char *type,
                                                         const CamelInternetAddress *recipients);

Set the recipients of a message.

message :

a CamelMimeMessage object

type :

recipient type (one of CAMEL_RECIPIENT_TYPE_TO, CAMEL_RECIPIENT_TYPE_CC, or CAMEL_RECIPIENT_TYPE_BCC)

recipients :

a CamelInternetAddress with the recipient addresses set

camel_mime_message_set_source ()

void                camel_mime_message_set_source       (CamelMimeMessage *message,
                                                         const char *identity);

message :

identity :


camel_mime_message_get_source ()

const char*         camel_mime_message_get_source       (CamelMimeMessage *message);

message :

Returns :


camel_mime_message_has_8bit_parts ()

gboolean            camel_mime_message_has_8bit_parts   (CamelMimeMessage *message);

Find out if a message contains 8bit or binary encoded parts.

message :

a CamelMimeMessage object

Returns :

TRUE if the message contains 8bit parts or FALSE otherwise

camel_mime_message_set_best_encoding ()

void                camel_mime_message_set_best_encoding
                                                        (CamelMimeMessage *message,
                                                         CamelBestencRequired required,
                                                         CamelBestencEncoding enctype);

Re-encode all message parts to conform with the required encoding rules.

If enctype is CAMEL_BESTENC_7BIT, then all parts will be re-encoded into one of the 7bit transfer encodings. If enctype is CAMEL_BESTENC_8bit, all parts will be re-encoded to either a 7bit encoding or, if the part is 8bit text, allowed to stay 8bit. If enctype is CAMEL_BESTENC_BINARY, then binary parts will be encoded as binary and 8bit textual parts will be encoded as 8bit.

message :

a CamelMimeMessage object

required :

a bitwise ORing of CAMEL_BESTENC_GET_ENCODING and CAMEL_BESTENC_GET_CHARSET

enctype :

an encoding to enforce

camel_mime_message_encode_8bit_parts ()

void                camel_mime_message_encode_8bit_parts
                                                        (CamelMimeMessage *message);

Encode all message parts to a suitable transfer encoding for transport (7bit clean).

message :

a CamelMimeMessage object

camel_mime_message_get_part_by_content_id ()

CamelMimePart*      camel_mime_message_get_part_by_content_id
                                                        (CamelMimeMessage *message,
                                                         const char *content_id);

Get a MIME part by id from a message.

message :

a CamelMimeMessage object

content_id :

content-id to search for

Returns :

the MIME part with the requested id or NULL if not found

camel_mime_message_build_mbox_from ()

char*               camel_mime_message_build_mbox_from  (CamelMimeMessage *message);

Build an MBox from-line from message.

message :

a CamelMimeMessage object

Returns :

an MBox from-line suitable for use in an mbox file

camel_mime_message_dump ()

void                camel_mime_message_dump             (CamelMimeMessage *msg,
                                                         int body);

Dump information about the mime message to stdout.

If body is TRUE, then dump body content of the message as well (currently unimplemented).

msg :

body :