-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathmessages.py
More file actions
120 lines (79 loc) · 3.82 KB
/
messages.py
File metadata and controls
120 lines (79 loc) · 3.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
from typing import Optional
import mailtrap as mt
from mailtrap.models.messages import AnalysisReport
from mailtrap.models.messages import EmailMessage
from mailtrap.models.messages import ForwardedMessage
from mailtrap.models.messages import SpamReport
API_TOKEN = "YOUR_API_TOKEN"
ACCOUNT_ID = "YOUR_ACCOUNT_ID"
INBOX_ID = "YOUR_INBOX_ID"
client = mt.MailtrapClient(token=API_TOKEN, account_id=ACCOUNT_ID)
messages_api = client.testing_api.messages
def get_message(inbox_id: int, message_id: int) -> EmailMessage:
return messages_api.show_message(inbox_id=inbox_id, message_id=message_id)
def update_message(inbox_id: int, message_id: int, is_read: bool) -> EmailMessage:
return messages_api.update(
inbox_id=inbox_id,
message_id=message_id,
message_params=mt.UpdateEmailMessageParams(is_read=is_read),
)
def delete_message(inbox_id: int, message_id: int) -> EmailMessage:
return messages_api.delete(inbox_id=inbox_id, message_id=message_id)
def list_messages(
inbox_id: int,
search: Optional[str] = None,
last_id: Optional[int] = None,
page: Optional[int] = None,
) -> list[EmailMessage]:
return messages_api.get_list(
inbox_id=inbox_id, search=search, last_id=last_id, page=page
)
def forward_message(inbox_id: int, message_id: int, email: str) -> ForwardedMessage:
return messages_api.forward(inbox_id=inbox_id, message_id=message_id, email=email)
def get_spam_report(inbox_id: int, message_id: str) -> SpamReport:
return messages_api.get_spam_report(inbox_id=inbox_id, message_id=message_id)
def get_html_analysis(inbox_id: int, message_id: str) -> AnalysisReport:
return messages_api.get_html_analysis(inbox_id=inbox_id, message_id=message_id)
def get_text_message(inbox_id: int, message_id: str) -> str:
return messages_api.get_text_message(inbox_id=inbox_id, message_id=message_id)
def get_raw_message(inbox_id: int, message_id: str) -> str:
return messages_api.get_raw_message(inbox_id=inbox_id, message_id=message_id)
def get_html_source(inbox_id: int, message_id: str) -> str:
return messages_api.get_html_source(inbox_id=inbox_id, message_id=message_id)
def get_html_message(inbox_id: int, message_id: str) -> str:
return messages_api.get_html_message(inbox_id=inbox_id, message_id=message_id)
def get_message_as_eml(inbox_id: int, message_id: str) -> str:
return messages_api.get_message_as_eml(inbox_id=inbox_id, message_id=message_id)
def get_mail_headers(inbox_id: int, message_id: str) -> str:
return messages_api.get_mail_headers(inbox_id=inbox_id, message_id=message_id)
if __name__ == "__main__":
messages = list_messages(inbox_id=INBOX_ID)
print(messages)
if messages:
msg_id = messages[0].id
message = get_message(inbox_id=INBOX_ID, message_id=msg_id)
print(message)
updated = update_message(inbox_id=INBOX_ID, message_id=msg_id, is_read=True)
print(updated)
forwarded = forward_message(
inbox_id=INBOX_ID,
message_id=msg_id,
email="example@example.com",
)
print(forwarded)
spam = get_spam_report(inbox_id=INBOX_ID, message_id=msg_id)
print(spam)
html_analysis = get_html_analysis(inbox_id=INBOX_ID, message_id=msg_id)
print(html_analysis)
text = get_text_message(inbox_id=INBOX_ID, message_id=msg_id)
print(text)
raw = get_raw_message(inbox_id=INBOX_ID, message_id=msg_id)
print(raw)
html_src = get_html_source(inbox_id=INBOX_ID, message_id=msg_id)
print(html_src)
html_msg = get_html_message(inbox_id=INBOX_ID, message_id=msg_id)
print(html_msg)
eml = get_message_as_eml(inbox_id=INBOX_ID, message_id=msg_id)
print(eml)
headers = get_mail_headers(inbox_id=INBOX_ID, message_id=msg_id)
print(headers)