Get a Specific Message
This is the GraphQL query to run when you want to get the body and html of a particular message.
Gets a specific message, by id, from a mailbox.
POST
https://api.maildrop.cc/graphql
This GraphQL query takes a mailbox and an id as required parameters. Returns a Message object with valid "data" and "html" fields.
Request Body
'{"query":"query Example { message(mailbox:\"testing\", id:\"AIm59ihdGy\") { id headerfrom subject date } }"}'
{
"data": {
"message": {
"id": "AIm59ihdGy",
"headerfrom": "Test <test@test.com>",
"subject": "Testing!",
"date": "2023-02-09T23:51:14.411Z"
}
}
}
See Also
Examples
curl --request POST \
--header 'content-type: application/json' \
--url https://api.maildrop.cc/graphql \
--data '{"query":"query Example {\n message(mailbox:\"testing\", id:\"AIm59ihdGy\") { id headerfrom subject date }\n}"}'
returns:
{"data":{"message":{"id":"AIm59ihdGy","headerfrom":"test@test.com","subject":"Testing!","date":"2023-02-09T23:51:14.411Z"}}}
export const GET_MESSAGE = gql`
query GetMessage($mailbox: String!, $id: String!) {
message(mailbox: $mailbox, id: $id) {
id
subject
date
headerfrom
data
html
}
}
`;
interface QueryReturn {
message: Message;
}
interface MyComponentProps {
mailbox: string;
id: string;
}
const MyComponent = (props: MyComponentProps) => {
const { loading, error, data } = useQuery<QueryReturn>(GET_MESSAGE, {
variables: { mailbox: props.mailbox, id: props.id },
});
return (
<div>
{loading && <div>Loading...</div>}
{!loading && error && <div>There was an error.</div>}
{!loading && data?.message && <div>Message: {data.message.subject}</div>}
</div>
);
};