notmuch_database_add_message

Add a new message to the given notmuch database or associate an additional filename with an existing message.

Here, 'filename' should be a path relative to the path of 'database' (see notmuch_database_get_path), or else should be an absolute filename with initial components that match the path of 'database'.

The file should be a single mail message (not a multi-message mbox) that is expected to remain at its current location, (since the notmuch database will reference the filename, and will not copy the entire contents of the file.

If another message with the same message ID already exists in the database, rather than creating a new message, this adds 'filename' to the list of the filenames for the existing message.

If 'message' is not NULL, then, on successful return (NOTMUCH_STATUS_SUCCESS or NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID) '*message' will be initialized to a message object that can be used for things such as adding tags to the just-added message. The user should call notmuch_message_destroy when done with the message. On any failure '*message' will be set to NULL.

Return value:

version(DerelictNotMuch_Static)nothrow
notmuch_database_add_message
(
,
const(char)* filename
,
notmuch_message_t** message
)

Detailed Description

NOTMUCH STATUS SUCCESS

Message successfully added to database.

NOTMUCH STATUS XAPIAN EXCEPTION

A Xapian exception occurred, * message not added.

NOTMUCH STATUS DUPLICATE MESSAGE ID

Message has the same message * ID as another message already in the database. The new * filename was successfully added to the message in the database * (if not already present) and the existing message is returned.

NOTMUCH STATUS FILE ERROR

an error occurred trying to open the * file, (such as permission denied, or file not found, * etc.). Nothing added to the database.

NOTMUCH STATUS FILE NOT EMAIL

the contents of filename don't look * like an email message. Nothing added to the database.

NOTMUCH STATUS READ ONLY DATABASE

Database was opened in read-only * mode so no message can be added.

NOTMUCH STATUS UPGRADE REQUIRED

The caller must upgrade the database to use this function.

Meta