mailingLists API

The addressBooks API, also including the contacts API and mailingLists API namespaces, first appeared in Thunderbird 64.

The Address Books sample extension uses this API.

Permissions

addressBooks

Read and modify your address books and contacts

Note

The permission addressBooks is required to use messenger.mailingLists.*.

Functions

list(parentId)

Gets all the mailing lists in the address book with id parentId.

Parameters

parentId

(string)

Return type (Promise)

array of MailingListNode

Required permissions

  • addressBooks

get(id)

Gets a single mailing list.

Parameters

id

(string)

Return type (Promise)

Required permissions

  • addressBooks

create(parentId, properties)

Creates a new mailing list in the address book with id parentId.

Parameters

parentId

(string)

properties

(object)

name

(string)

[description]

(string)

[nickName]

(string)

Return type (Promise)

string

The ID of the new mailing list.

Required permissions

  • addressBooks

update(id, properties)

Edits the properties of a mailing list.

Parameters

id

(string)

properties

(object)

name

(string)

[description]

(string)

[nickName]

(string)

Required permissions

  • addressBooks

delete(id)

Removes the mailing list.

Parameters

id

(string)

Required permissions

  • addressBooks

addMember(id, contactId)

Adds a contact to the mailing list with id id. If the contact and mailing list are in different address books, the contact will also be copied to the list’s address book.

Parameters

id

(string)

contactId

(string)

Required permissions

  • addressBooks

listMembers(id)

Gets all contacts that are members of the mailing list with id id.

Parameters

id

(string)

Return type (Promise)

array of ContactNode

Required permissions

  • addressBooks

removeMember(id, contactId)

Removes a contact from the mailing list with id id. This does not delete the contact from the address book.

Parameters

id

(string)

contactId

(string)

Required permissions

  • addressBooks

Events

onCreated

Fired when a mailing list is created.

Parameters for onCreated.addListener(listener)

listener(node)

A function that will be called when this event occurs.

Parameters passed to the listener function

Required permissions

  • addressBooks

onUpdated

Fired when a mailing list is changed.

Parameters for onUpdated.addListener(listener)

listener(node)

A function that will be called when this event occurs.

Parameters passed to the listener function

Required permissions

  • addressBooks

onDeleted

Fired when a mailing list is deleted.

Parameters for onDeleted.addListener(listener)

listener(parentId, id)

A function that will be called when this event occurs.

Parameters passed to the listener function

parentId

(string)

id

(string)

Required permissions

  • addressBooks

onMemberAdded

Fired when a contact is added to the mailing list.

Parameters for onMemberAdded.addListener(listener)

listener(node)

A function that will be called when this event occurs.

Parameters passed to the listener function

node

Required permissions

  • addressBooks

onMemberRemoved

Fired when a contact is removed from the mailing list.

Parameters for onMemberRemoved.addListener(listener)

listener(parentId, id)

A function that will be called when this event occurs.

Parameters passed to the listener function

parentId

(string)

id

(string)

Required permissions

  • addressBooks

Types

MailingListNode

A node representing a mailing list.

object

description

(string)

id

(string)

The unique identifier for the node. IDs are unique within the current profile, and they remain valid even after the program is restarted.

name

(string)

nickName

(string)

type

Always set to mailingList.

[contacts]

(array of ContactNode)

A list of contacts held by this node’s address book or mailing list.

[parentId]

(string)

The id of the parent object.

[readOnly]

(boolean)

Indicates if the object is read-only.

[remote]

(boolean)

– [Added in TB 91]

Indicates if the object came from a remote address book.