tempmail-sdk 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/providers/tempmail.js +25 -2
- package/package.json +1 -1
- package/src/providers/tempmail.ts +25 -1
|
@@ -48,6 +48,29 @@ async function getEmails(email) {
|
|
|
48
48
|
throw new Error('Failed to get emails');
|
|
49
49
|
}
|
|
50
50
|
const rawEmails = data.emails || [];
|
|
51
|
-
return rawEmails.map((raw) => (0, normalize_1.normalizeEmail)(raw, email));
|
|
51
|
+
return rawEmails.map((raw) => (0, normalize_1.normalizeEmail)(flattenMessage(raw, email), email));
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
/**
|
|
54
|
+
* 将 tempmail.ing 的原始邮件格式扁平化
|
|
55
|
+
*
|
|
56
|
+
* API 返回格式:
|
|
57
|
+
* from_address: 发件人邮箱
|
|
58
|
+
* content: HTML 内容(非纯文本)
|
|
59
|
+
* text: 纯文本(通常为空)
|
|
60
|
+
* received_at: 接收时间
|
|
61
|
+
* is_read: 0/1
|
|
62
|
+
*/
|
|
63
|
+
function flattenMessage(raw, recipientEmail) {
|
|
64
|
+
return {
|
|
65
|
+
id: raw.id ?? '',
|
|
66
|
+
from: raw.from_address || raw.from || '',
|
|
67
|
+
to: recipientEmail,
|
|
68
|
+
subject: raw.subject || '',
|
|
69
|
+
text: raw.text || '',
|
|
70
|
+
html: raw.content || raw.html || '',
|
|
71
|
+
date: raw.received_at || raw.date || '',
|
|
72
|
+
isRead: raw.is_read === 1 || raw.is_read === true,
|
|
73
|
+
attachments: raw.attachments || [],
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcG1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL3RlbXBtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0JBLHNDQXVCQztBQUVELDhCQW1CQztBQTNERCw0Q0FBOEM7QUFFOUMsTUFBTSxPQUFPLEdBQVksVUFBVSxDQUFDO0FBQ3BDLE1BQU0sUUFBUSxHQUFHLDhCQUE4QixDQUFDO0FBRWhELE1BQU0sZUFBZSxHQUFHO0lBQ3RCLFlBQVksRUFBRSxpSEFBaUg7SUFDL0gsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxTQUFTLEVBQUUsdUJBQXVCO0lBQ2xDLFdBQVcsRUFBRSxvRUFBb0U7SUFDakYsa0JBQWtCLEVBQUUsSUFBSTtJQUN4QixvQkFBb0IsRUFBRSxXQUFXO0lBQ2pDLEtBQUssRUFBRSxHQUFHO0NBQ1gsQ0FBQztBQUVLLEtBQUssVUFBVSxhQUFhLENBQUMsV0FBbUIsRUFBRTtJQUN2RCxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLFFBQVEsV0FBVyxFQUFFO1FBQ25ELE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFLGVBQWU7UUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztLQUNuQyxDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87UUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztRQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO0tBQ2hDLENBQUM7QUFDSixDQUFDO0FBRU0sS0FBSyxVQUFVLFNBQVMsQ0FBQyxLQUFhO0lBQzNDLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsUUFBUSxXQUFXLFlBQVksRUFBRSxFQUFFO1FBQ2pFLE1BQU0sRUFBRSxLQUFLO1FBQ2IsT0FBTyxFQUFFLGVBQWU7S0FDekIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3BDLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsSUFBQSwwQkFBYyxFQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxjQUFjLENBQUMsR0FBUSxFQUFFLGNBQXNCO0lBQ3RELE9BQU87UUFDTCxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFO1FBQ2hCLElBQUksRUFBRSxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRTtRQUN4QyxFQUFFLEVBQUUsY0FBYztRQUNsQixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFO1FBQzFCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDcEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFO1FBQ25DLElBQUksRUFBRSxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRTtRQUN2QyxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sS0FBSyxJQUFJO1FBQ2pELFdBQVcsRUFBRSxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUU7S0FDbkMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnRlcm5hbEVtYWlsSW5mbywgRW1haWwsIENoYW5uZWwgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBub3JtYWxpemVFbWFpbCB9IGZyb20gJy4uL25vcm1hbGl6ZSc7XG5cbmNvbnN0IENIQU5ORUw6IENoYW5uZWwgPSAndGVtcG1haWwnO1xuY29uc3QgQkFTRV9VUkwgPSAnaHR0cHM6Ly9hcGkudGVtcG1haWwuaW5nL2FwaSc7XG5cbmNvbnN0IERFRkFVTFRfSEVBREVSUyA9IHtcbiAgJ1VzZXItQWdlbnQnOiAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzE0My4wLjAuMCBTYWZhcmkvNTM3LjM2JyxcbiAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgJ1JlZmVyZXInOiAnaHR0cHM6Ly90ZW1wbWFpbC5pbmcvJyxcbiAgJ3NlYy1jaC11YSc6ICdcIk1pY3Jvc29mdCBFZGdlXCI7dj1cIjE0M1wiLCBcIkNocm9taXVtXCI7dj1cIjE0M1wiLCBcIk5vdCBBKEJyYW5kXCI7dj1cIjI0XCInLFxuICAnc2VjLWNoLXVhLW1vYmlsZSc6ICc/MCcsXG4gICdzZWMtY2gtdWEtcGxhdGZvcm0nOiAnXCJXaW5kb3dzXCInLFxuICAnRE5UJzogJzEnLFxufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdlbmVyYXRlRW1haWwoZHVyYXRpb246IG51bWJlciA9IDMwKTogUHJvbWlzZTxJbnRlcm5hbEVtYWlsSW5mbz4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke0JBU0VfVVJMfS9nZW5lcmF0ZWAsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBoZWFkZXJzOiBERUZBVUxUX0hFQURFUlMsXG4gICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBkdXJhdGlvbiB9KSxcbiAgfSk7XG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGdlbmVyYXRlIGVtYWlsOiAke3Jlc3BvbnNlLnN0YXR1c31gKTtcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gIFxuICBpZiAoIWRhdGEuc3VjY2Vzcykge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGdlbmVyYXRlIGVtYWlsJyk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNoYW5uZWw6IENIQU5ORUwsXG4gICAgZW1haWw6IGRhdGEuZW1haWwuYWRkcmVzcyxcbiAgICBleHBpcmVzQXQ6IGRhdGEuZW1haWwuZXhwaXJlc0F0LFxuICAgIGNyZWF0ZWRBdDogZGF0YS5lbWFpbC5jcmVhdGVkQXQsXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRFbWFpbHMoZW1haWw6IHN0cmluZyk6IFByb21pc2U8RW1haWxbXT4ge1xuICBjb25zdCBlbmNvZGVkRW1haWwgPSBlbmNvZGVVUklDb21wb25lbnQoZW1haWwpO1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke0JBU0VfVVJMfS9lbWFpbHMvJHtlbmNvZGVkRW1haWx9YCwge1xuICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgaGVhZGVyczogREVGQVVMVF9IRUFERVJTLFxuICB9KTtcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZ2V0IGVtYWlsczogJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gIH1cblxuICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICBcbiAgaWYgKCFkYXRhLnN1Y2Nlc3MpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBnZXQgZW1haWxzJyk7XG4gIH1cblxuICBjb25zdCByYXdFbWFpbHMgPSBkYXRhLmVtYWlscyB8fCBbXTtcbiAgcmV0dXJuIHJhd0VtYWlscy5tYXAoKHJhdzogYW55KSA9PiBub3JtYWxpemVFbWFpbChmbGF0dGVuTWVzc2FnZShyYXcsIGVtYWlsKSwgZW1haWwpKTtcbn1cblxuLyoqXG4gKiDlsIYgdGVtcG1haWwuaW5nIOeahOWOn+Wni+mCruS7tuagvOW8j+aJgeW5s+WMllxuICpcbiAqIEFQSSDov5Tlm57moLzlvI86XG4gKiAgIGZyb21fYWRkcmVzczog5Y+R5Lu25Lq66YKu566xXG4gKiAgIGNvbnRlbnQ6IEhUTUwg5YaF5a6577yI6Z2e57qv5paH5pys77yJXG4gKiAgIHRleHQ6IOe6r+aWh+acrO+8iOmAmuW4uOS4uuepuu+8iVxuICogICByZWNlaXZlZF9hdDog5o6l5pS25pe26Ze0XG4gKiAgIGlzX3JlYWQ6IDAvMVxuICovXG5mdW5jdGlvbiBmbGF0dGVuTWVzc2FnZShyYXc6IGFueSwgcmVjaXBpZW50RW1haWw6IHN0cmluZyk6IGFueSB7XG4gIHJldHVybiB7XG4gICAgaWQ6IHJhdy5pZCA/PyAnJyxcbiAgICBmcm9tOiByYXcuZnJvbV9hZGRyZXNzIHx8IHJhdy5mcm9tIHx8ICcnLFxuICAgIHRvOiByZWNpcGllbnRFbWFpbCxcbiAgICBzdWJqZWN0OiByYXcuc3ViamVjdCB8fCAnJyxcbiAgICB0ZXh0OiByYXcudGV4dCB8fCAnJyxcbiAgICBodG1sOiByYXcuY29udGVudCB8fCByYXcuaHRtbCB8fCAnJyxcbiAgICBkYXRlOiByYXcucmVjZWl2ZWRfYXQgfHwgcmF3LmRhdGUgfHwgJycsXG4gICAgaXNSZWFkOiByYXcuaXNfcmVhZCA9PT0gMSB8fCByYXcuaXNfcmVhZCA9PT0gdHJ1ZSxcbiAgICBhdHRhY2htZW50czogcmF3LmF0dGFjaG1lbnRzIHx8IFtdLFxuICB9O1xufVxuIl19
|
package/package.json
CHANGED
|
@@ -57,5 +57,29 @@ export async function getEmails(email: string): Promise<Email[]> {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
const rawEmails = data.emails || [];
|
|
60
|
-
return rawEmails.map((raw: any) => normalizeEmail(raw, email));
|
|
60
|
+
return rawEmails.map((raw: any) => normalizeEmail(flattenMessage(raw, email), email));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* 将 tempmail.ing 的原始邮件格式扁平化
|
|
65
|
+
*
|
|
66
|
+
* API 返回格式:
|
|
67
|
+
* from_address: 发件人邮箱
|
|
68
|
+
* content: HTML 内容(非纯文本)
|
|
69
|
+
* text: 纯文本(通常为空)
|
|
70
|
+
* received_at: 接收时间
|
|
71
|
+
* is_read: 0/1
|
|
72
|
+
*/
|
|
73
|
+
function flattenMessage(raw: any, recipientEmail: string): any {
|
|
74
|
+
return {
|
|
75
|
+
id: raw.id ?? '',
|
|
76
|
+
from: raw.from_address || raw.from || '',
|
|
77
|
+
to: recipientEmail,
|
|
78
|
+
subject: raw.subject || '',
|
|
79
|
+
text: raw.text || '',
|
|
80
|
+
html: raw.content || raw.html || '',
|
|
81
|
+
date: raw.received_at || raw.date || '',
|
|
82
|
+
isRead: raw.is_read === 1 || raw.is_read === true,
|
|
83
|
+
attachments: raw.attachments || [],
|
|
84
|
+
};
|
|
61
85
|
}
|