Returns the attachments Resource.
batchDelete(userId, body=None, x__xgafv=None)
Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all.
batchModify(userId, body=None, x__xgafv=None)
Modifies the labels on the specified messages.
Close httplib2 connections.
delete(userId, id, x__xgafv=None)
Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer `messages.trash` instead.
get(userId, id, format=None, metadataHeaders=None, x__xgafv=None)
Gets the specified message.
Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. Does not send a message. Note: This function doesn't trigger forwarding rules or filters set up by the user.
Directly inserts a message into only this user's mailbox similar to `IMAP APPEND`, bypassing most scanning and classification. Does not send a message.
Lists the messages in the user's mailbox.
list_next(previous_request, previous_response)
Retrieves the next page of results.
modify(userId, id, body=None, x__xgafv=None)
Modifies the labels on the specified message.
send(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)
Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers.
trash(userId, id, x__xgafv=None)
Moves the specified message to the trash.
untrash(userId, id, x__xgafv=None)
Removes the specified message from the trash.
batchDelete(userId, body=None, x__xgafv=None)
Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
body: object, The request body.
The object takes the form of:
{
"ids": [ # The IDs of the messages to delete.
"A String",
],
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
batchModify(userId, body=None, x__xgafv=None)
Modifies the labels on the specified messages.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
body: object, The request body.
The object takes the form of:
{
"addLabelIds": [ # A list of label IDs to add to messages.
"A String",
],
"ids": [ # The IDs of the messages to modify. There is a limit of 1000 ids per request.
"A String",
],
"removeLabelIds": [ # A list of label IDs to remove from messages.
"A String",
],
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
close()
Close httplib2 connections.
delete(userId, id, x__xgafv=None)
Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer `messages.trash` instead.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
id: string, The ID of the message to delete. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
get(userId, id, format=None, metadataHeaders=None, x__xgafv=None)
Gets the specified message.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
id: string, The ID of the message to retrieve. This ID is usually retrieved using `messages.list`. The ID is also contained in the result when a message is inserted (`messages.insert`) or imported (`messages.import`). (required)
format: string, The format to return the message in.
Allowed values
minimal - Returns only email message ID and labels; does not return the email headers, body, or payload.
full - Returns the full email message data with body content parsed in the `payload` field; the `raw` field is not used. Format cannot be used when accessing the api using the gmail.metadata scope.
raw - Returns the full email message data with body content in the `raw` field as a base64url encoded string; the `payload` field is not used. Format cannot be used when accessing the api using the gmail.metadata scope.
metadata - Returns only email message ID, labels, and email headers.
metadataHeaders: string, When given and format is `METADATA`, only include headers specified. (repeated)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
import_(userId, body=None, deleted=None, internalDateSource=None, media_body=None, media_mime_type=None, neverMarkSpam=None, processForCalendar=None, x__xgafv=None)
Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. Does not send a message. Note: This function doesn't trigger forwarding rules or filters set up by the user.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
body: object, The request body.
The object takes the form of:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
deleted: boolean, Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for G Suite accounts.
internalDateSource: string, Source for Gmail's internal date of the message.
Allowed values
receivedTime - Internal message date set to current time when received by Gmail.
dateHeader - Internal message time based on 'Date' header in email, when valid.
media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
neverMarkSpam: boolean, Ignore the Gmail spam classifier decision and never mark this email as SPAM in the mailbox.
processForCalendar: boolean, Process calendar invites in the email and add any extracted meetings to the Google Calendar for this user.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
insert(userId, body=None, deleted=None, internalDateSource=None, media_body=None, media_mime_type=None, x__xgafv=None)
Directly inserts a message into only this user's mailbox similar to `IMAP APPEND`, bypassing most scanning and classification. Does not send a message.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
body: object, The request body.
The object takes the form of:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
deleted: boolean, Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for G Suite accounts.
internalDateSource: string, Source for Gmail's internal date of the message.
Allowed values
receivedTime - Internal message date set to current time when received by Gmail.
dateHeader - Internal message time based on 'Date' header in email, when valid.
media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
list(userId, includeSpamTrash=None, labelIds=None, maxResults=None, pageToken=None, q=None, x__xgafv=None)
Lists the messages in the user's mailbox.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
includeSpamTrash: boolean, Include messages from `SPAM` and `TRASH` in the results.
labelIds: string, Only return messages with labels that match all of the specified label IDs. (repeated)
maxResults: integer, Maximum number of messages to return. This field defaults to 100. The maximum allowed value for this field is 500.
pageToken: string, Page token to retrieve a specific page of results in the list.
q: string, Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, `"from:someuser@example.com rfc822msgid: is:unread"`. Parameter cannot be used when accessing the api using the gmail.metadata scope.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{
"messages": [ # List of messages. Note that each message resource contains only an `id` and a `threadId`. Additional message details can be fetched using the messages.get method.
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
},
],
"nextPageToken": "A String", # Token to retrieve the next page of results in the list.
"resultSizeEstimate": 42, # Estimated total number of results.
}
list_next(previous_request, previous_response)
Retrieves the next page of results.
Args:
previous_request: The request for the previous page. (required)
previous_response: The response from the request for the previous page. (required)
Returns:
A request object that you can call 'execute()' on to request the next
page. Returns None if there are no more items in the collection.
modify(userId, id, body=None, x__xgafv=None)
Modifies the labels on the specified message.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
id: string, The ID of the message to modify. (required)
body: object, The request body.
The object takes the form of:
{
"addLabelIds": [ # A list of IDs of labels to add to this message.
"A String",
],
"removeLabelIds": [ # A list IDs of labels to remove from this message.
"A String",
],
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
send(userId, body=None, media_body=None, media_mime_type=None, x__xgafv=None)
Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
body: object, The request body.
The object takes the form of:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
trash(userId, id, x__xgafv=None)
Moves the specified message to the trash.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
id: string, The ID of the message to Trash. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}
untrash(userId, id, x__xgafv=None)
Removes the specified message from the trash.
Args:
userId: string, The user's email address. The special value `me` can be used to indicate the authenticated user. (required)
id: string, The ID of the message to remove from Trash. (required)
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # An email message.
"historyId": "A String", # The ID of the last history record that modified this message.
"id": "A String", # The immutable ID of the message.
"internalDate": "A String", # The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header.
"labelIds": [ # List of IDs of labels applied to this message.
"A String",
],
"payload": { # A single MIME message part. # The parsed email structure in the message parts.
"body": { # The body of a single MIME message part. # The message part body for this part, which may be empty for container MIME message parts.
"attachmentId": "A String", # When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field.
"data": "A String", # The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment.
"size": 42, # Number of bytes for the message part data (encoding notwithstanding).
},
"filename": "A String", # The filename of the attachment. Only present if this message part represents an attachment.
"headers": [ # List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`.
{
"name": "A String", # The name of the header before the `:` separator. For example, `To`.
"value": "A String", # The value of the header after the `:` separator. For example, `someuser@example.com`.
},
],
"mimeType": "A String", # The MIME type of the message part.
"partId": "A String", # The immutable ID of the message part.
"parts": [ # The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521.
# Object with schema name: MessagePart
],
},
"raw": "A String", # The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.
"sizeEstimate": 42, # Estimated size in bytes of the message.
"snippet": "A String", # A short part of the message text.
"threadId": "A String", # The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match.
}