react-native-email-imap-smtp 0.1.0
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/EmailImapSmtp.podspec +29 -0
- package/LICENSE +20 -0
- package/README.md +121 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +117 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/cpp/cpp-adapter.cpp +11 -0
- package/android/src/main/java/com/margelo/nitro/emailimapsmtp/EmailImapSmtp.kt +1533 -0
- package/android/src/main/java/com/margelo/nitro/emailimapsmtp/EmailImapSmtpPackage.kt +22 -0
- package/ios/EmailImapSmtp.swift +5 -0
- package/lib/module/EmailImapSmtp.nitro.js +4 -0
- package/lib/module/EmailImapSmtp.nitro.js.map +1 -0
- package/lib/module/NativeEmailImapSmtp.js +14 -0
- package/lib/module/NativeEmailImapSmtp.js.map +1 -0
- package/lib/module/index.js +64 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/native.js +227 -0
- package/lib/module/native.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/web.js +107 -0
- package/lib/module/web.js.map +1 -0
- package/lib/module/windows.js +156 -0
- package/lib/module/windows.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/EmailImapSmtp.nitro.d.ts +268 -0
- package/lib/typescript/src/EmailImapSmtp.nitro.d.ts.map +1 -0
- package/lib/typescript/src/NativeEmailImapSmtp.d.ts +36 -0
- package/lib/typescript/src/NativeEmailImapSmtp.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +33 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/native.d.ts +32 -0
- package/lib/typescript/src/native.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +261 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/web.d.ts +32 -0
- package/lib/typescript/src/web.d.ts.map +1 -0
- package/lib/typescript/src/windows.d.ts +32 -0
- package/lib/typescript/src/windows.d.ts.map +1 -0
- package/nitro.json +23 -0
- package/nitrogen/generated/android/c++/JAppendResult.hpp +65 -0
- package/nitrogen/generated/android/c++/JAttachmentInfo.hpp +96 -0
- package/nitrogen/generated/android/c++/JConnectionConfig.hpp +94 -0
- package/nitrogen/generated/android/c++/JConnectionResult.hpp +73 -0
- package/nitrogen/generated/android/c++/JDeleteResult.hpp +87 -0
- package/nitrogen/generated/android/c++/JEmailAddress.hpp +61 -0
- package/nitrogen/generated/android/c++/JEmailBody.hpp +84 -0
- package/nitrogen/generated/android/c++/JEmailMessage.hpp +273 -0
- package/nitrogen/generated/android/c++/JFetchEmailsOptions.hpp +110 -0
- package/nitrogen/generated/android/c++/JFolderInfo.hpp +126 -0
- package/nitrogen/generated/android/c++/JFunc_void_IdleNotification.hpp +79 -0
- package/nitrogen/generated/android/c++/JHybridEmailImapSmtpSpec.cpp +697 -0
- package/nitrogen/generated/android/c++/JHybridEmailImapSmtpSpec.hpp +92 -0
- package/nitrogen/generated/android/c++/JIdleNotification.hpp +78 -0
- package/nitrogen/generated/android/c++/JImapServerInfo.hpp +84 -0
- package/nitrogen/generated/android/c++/JMailboxInfo.hpp +134 -0
- package/nitrogen/generated/android/c++/JMailboxListItem.hpp +92 -0
- package/nitrogen/generated/android/c++/JQuotaInfo.hpp +78 -0
- package/nitrogen/generated/android/c++/JSearchCriteria.hpp +187 -0
- package/nitrogen/generated/android/c++/JSearchHeader.hpp +61 -0
- package/nitrogen/generated/android/c++/JSendMailOptions.hpp +229 -0
- package/nitrogen/generated/android/c++/JSendMailResult.hpp +88 -0
- package/nitrogen/generated/android/c++/JSmtpAttachment.hpp +80 -0
- package/nitrogen/generated/android/c++/JSmtpConnectionConfig.hpp +98 -0
- package/nitrogen/generated/android/c++/JSmtpServerInfo.hpp +102 -0
- package/nitrogen/generated/android/c++/JVariant_ImapServerInfo_SmtpServerInfo.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_ImapServerInfo_SmtpServerInfo.hpp +73 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_AttachmentInfo.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_AttachmentInfo.hpp +75 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_EmailMessage.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_EmailMessage.hpp +83 -0
- package/nitrogen/generated/android/emailimapsmtp+autolinking.cmake +84 -0
- package/nitrogen/generated/android/emailimapsmtp+autolinking.gradle +27 -0
- package/nitrogen/generated/android/emailimapsmtpOnLoad.cpp +56 -0
- package/nitrogen/generated/android/emailimapsmtpOnLoad.hpp +34 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/AppendResult.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/AttachmentInfo.kt +96 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/ConnectionConfig.kt +96 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/ConnectionResult.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/DeleteResult.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/EmailAddress.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/EmailBody.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/EmailMessage.kt +156 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/FetchEmailsOptions.kt +116 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/FolderInfo.kt +91 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Func_void_IdleNotification.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/HybridEmailImapSmtpSpec.kt +178 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/IdleNotification.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/ImapServerInfo.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/MailboxInfo.kt +101 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/MailboxListItem.kt +71 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/QuotaInfo.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SearchCriteria.kt +196 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SearchHeader.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SendMailOptions.kt +126 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SendMailResult.kt +86 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SmtpAttachment.kt +76 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SmtpConnectionConfig.kt +101 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/SmtpServerInfo.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Variant_ImapServerInfo_SmtpServerInfo.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Variant_NullType_AttachmentInfo.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/Variant_NullType_EmailMessage.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/emailimapsmtp/emailimapsmtpOnLoad.kt +35 -0
- package/nitrogen/generated/ios/EmailImapSmtp+autolinking.rb +62 -0
- package/nitrogen/generated/ios/EmailImapSmtp-Swift-Cxx-Bridge.cpp +161 -0
- package/nitrogen/generated/ios/EmailImapSmtp-Swift-Cxx-Bridge.hpp +1132 -0
- package/nitrogen/generated/ios/EmailImapSmtp-Swift-Cxx-Umbrella.hpp +118 -0
- package/nitrogen/generated/ios/EmailImapSmtpAutolinking.mm +33 -0
- package/nitrogen/generated/ios/EmailImapSmtpAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridEmailImapSmtpSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridEmailImapSmtpSpecSwift.hpp +390 -0
- package/nitrogen/generated/ios/swift/AppendResult.swift +39 -0
- package/nitrogen/generated/ios/swift/AttachmentInfo.swift +113 -0
- package/nitrogen/generated/ios/swift/ConnectionConfig.swift +87 -0
- package/nitrogen/generated/ios/swift/ConnectionResult.swift +84 -0
- package/nitrogen/generated/ios/swift/DeleteResult.swift +64 -0
- package/nitrogen/generated/ios/swift/EmailAddress.swift +34 -0
- package/nitrogen/generated/ios/swift/EmailBody.swift +45 -0
- package/nitrogen/generated/ios/swift/EmailMessage.swift +184 -0
- package/nitrogen/generated/ios/swift/FetchEmailsOptions.swift +198 -0
- package/nitrogen/generated/ios/swift/FolderInfo.swift +81 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_AppendResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_ConnectionResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_DeleteResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_IdleNotification.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_MailboxInfo.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_QuotaInfo.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_SendMailResult.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__AttachmentInfo_.swift +58 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__EmailMessage_.swift +58 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_AttachmentInfo_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_EmailMessage_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_FolderInfo_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_MailboxListItem_.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridEmailImapSmtpSpec.swift +84 -0
- package/nitrogen/generated/ios/swift/HybridEmailImapSmtpSpec_cxx.swift +759 -0
- package/nitrogen/generated/ios/swift/IdleNotification.swift +93 -0
- package/nitrogen/generated/ios/swift/ImapServerInfo.swift +45 -0
- package/nitrogen/generated/ios/swift/MailboxInfo.swift +91 -0
- package/nitrogen/generated/ios/swift/MailboxListItem.swift +55 -0
- package/nitrogen/generated/ios/swift/QuotaInfo.swift +80 -0
- package/nitrogen/generated/ios/swift/SearchCriteria.swift +485 -0
- package/nitrogen/generated/ios/swift/SearchHeader.swift +34 -0
- package/nitrogen/generated/ios/swift/SendMailOptions.swift +310 -0
- package/nitrogen/generated/ios/swift/SendMailResult.swift +155 -0
- package/nitrogen/generated/ios/swift/SmtpAttachment.swift +80 -0
- package/nitrogen/generated/ios/swift/SmtpConnectionConfig.swift +105 -0
- package/nitrogen/generated/ios/swift/SmtpServerInfo.swift +51 -0
- package/nitrogen/generated/ios/swift/Variant_ImapServerInfo_SmtpServerInfo.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_AttachmentInfo.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_EmailMessage.swift +30 -0
- package/nitrogen/generated/shared/c++/AppendResult.hpp +91 -0
- package/nitrogen/generated/shared/c++/AttachmentInfo.hpp +121 -0
- package/nitrogen/generated/shared/c++/ConnectionConfig.hpp +120 -0
- package/nitrogen/generated/shared/c++/ConnectionResult.hpp +98 -0
- package/nitrogen/generated/shared/c++/DeleteResult.hpp +93 -0
- package/nitrogen/generated/shared/c++/EmailAddress.hpp +87 -0
- package/nitrogen/generated/shared/c++/EmailBody.hpp +92 -0
- package/nitrogen/generated/shared/c++/EmailMessage.hpp +177 -0
- package/nitrogen/generated/shared/c++/FetchEmailsOptions.hpp +136 -0
- package/nitrogen/generated/shared/c++/FolderInfo.hpp +116 -0
- package/nitrogen/generated/shared/c++/HybridEmailImapSmtpSpec.cpp +50 -0
- package/nitrogen/generated/shared/c++/HybridEmailImapSmtpSpec.hpp +145 -0
- package/nitrogen/generated/shared/c++/IdleNotification.hpp +104 -0
- package/nitrogen/generated/shared/c++/ImapServerInfo.hpp +92 -0
- package/nitrogen/generated/shared/c++/MailboxInfo.hpp +124 -0
- package/nitrogen/generated/shared/c++/MailboxListItem.hpp +100 -0
- package/nitrogen/generated/shared/c++/QuotaInfo.hpp +104 -0
- package/nitrogen/generated/shared/c++/SearchCriteria.hpp +203 -0
- package/nitrogen/generated/shared/c++/SearchHeader.hpp +87 -0
- package/nitrogen/generated/shared/c++/SendMailOptions.hpp +151 -0
- package/nitrogen/generated/shared/c++/SendMailResult.hpp +113 -0
- package/nitrogen/generated/shared/c++/SmtpAttachment.hpp +105 -0
- package/nitrogen/generated/shared/c++/SmtpConnectionConfig.hpp +124 -0
- package/nitrogen/generated/shared/c++/SmtpServerInfo.hpp +92 -0
- package/package.json +196 -0
- package/react-native.config.js +27 -0
- package/src/EmailImapSmtp.nitro.ts +333 -0
- package/src/NativeEmailImapSmtp.ts +100 -0
- package/src/index.tsx +166 -0
- package/src/native.ts +305 -0
- package/src/types.ts +328 -0
- package/src/web.ts +196 -0
- package/src/windows.ts +304 -0
- package/windows/EmailImapSmtp.cpp +735 -0
- package/windows/EmailImapSmtp.h +137 -0
- package/windows/EmailImapSmtpModule.cpp +10 -0
- package/windows/EmailImapSmtpModule.h +139 -0
- package/windows/EmailImapSmtpPackage.cpp +15 -0
- package/windows/EmailImapSmtpPackage.h +13 -0
- package/windows/ImapProtocol.cpp +1382 -0
- package/windows/ImapProtocol.h +97 -0
- package/windows/ProtocolDefs.h +300 -0
- package/windows/SmtpProtocol.cpp +334 -0
- package/windows/SmtpProtocol.h +36 -0
- package/windows/TlsSocket.cpp +818 -0
- package/windows/TlsSocket.h +87 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
package com.margelo.nitro.emailimapsmtp
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.BaseReactPackage
|
|
4
|
+
import com.facebook.react.bridge.NativeModule
|
|
5
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
6
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider
|
|
7
|
+
|
|
8
|
+
class EmailImapSmtpPackage : BaseReactPackage() {
|
|
9
|
+
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
|
10
|
+
return null
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
|
14
|
+
return ReactModuleInfoProvider { HashMap() }
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
companion object {
|
|
18
|
+
init {
|
|
19
|
+
System.loadLibrary("emailimapsmtp")
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"..\\..\\src","sources":["EmailImapSmtp.nitro.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// ============================================================
|
|
4
|
+
// NativeEmailImapSmtp.ts — Windows TurboModule 接口定义
|
|
5
|
+
// Android 继续使用 Nitro (src/native.ts)
|
|
6
|
+
// ============================================================
|
|
7
|
+
// react-native-windows 的 autolinking 会识别此文件并生成
|
|
8
|
+
// 对应的 C++/WinRT 桥接代码 (.g.h / .g.cpp)
|
|
9
|
+
// ============================================================
|
|
10
|
+
|
|
11
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
12
|
+
// TurboModule 的注册名,必须与 C++ 端的注册名一致
|
|
13
|
+
export default TurboModuleRegistry.getEnforcing('EmailImapSmtp');
|
|
14
|
+
//# sourceMappingURL=NativeEmailImapSmtp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"..\\..\\src","sources":["NativeEmailImapSmtp.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASA,mBAAmB,QAAQ,cAAc;AAyFlD;AACA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,eAAe,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// ============================================================
|
|
4
|
+
// react-native-email-imap-smtp — Main Entry
|
|
5
|
+
// ============================================================
|
|
6
|
+
//
|
|
7
|
+
// Platform resolution:
|
|
8
|
+
// iOS / Android / Windows → native.ts → Nitro HybridObject
|
|
9
|
+
// Web / other → web.ts → throws not-supported
|
|
10
|
+
// ============================================================
|
|
11
|
+
|
|
12
|
+
import { Platform } from 'react-native';
|
|
13
|
+
// ─── Platform-aware module resolution ──────────────────────
|
|
14
|
+
|
|
15
|
+
let impl;
|
|
16
|
+
if (Platform.OS === 'android') {
|
|
17
|
+
// Android 使用 NitroModules HybridObject
|
|
18
|
+
impl = require('./native');
|
|
19
|
+
} else if (Platform.OS === 'windows') {
|
|
20
|
+
// Windows 使用 TurboModule 降级方案(NitroModules 无官方 Windows 运行时)
|
|
21
|
+
impl = require('./windows');
|
|
22
|
+
} else if (Platform.OS === 'ios') {
|
|
23
|
+
throw new Error('EmailImapSmtp: iOS implementation is not ready yet. ' + 'Only Android and Windows are currently supported.');
|
|
24
|
+
} else {
|
|
25
|
+
// Web 等其他平台
|
|
26
|
+
impl = require('./web');
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// ─── IMAP exports ───────────────────────────────────────────
|
|
30
|
+
|
|
31
|
+
export const imapConnect = impl.imapConnect;
|
|
32
|
+
export const imapDisconnect = impl.imapDisconnect;
|
|
33
|
+
export const imapListMailboxes = impl.imapListMailboxes;
|
|
34
|
+
export const imapSelectMailbox = impl.imapSelectMailbox;
|
|
35
|
+
export const imapRefreshMailbox = impl.imapRefreshMailbox;
|
|
36
|
+
export const imapFetchFolders = impl.imapFetchFolders;
|
|
37
|
+
export const imapCreateFolder = impl.imapCreateFolder;
|
|
38
|
+
export const imapDeleteFolder = impl.imapDeleteFolder;
|
|
39
|
+
export const imapRenameFolder = impl.imapRenameFolder;
|
|
40
|
+
export const imapSubscribeFolder = impl.imapSubscribeFolder;
|
|
41
|
+
export const imapUnsubscribeFolder = impl.imapUnsubscribeFolder;
|
|
42
|
+
export const imapFetchEmails = impl.imapFetchEmails;
|
|
43
|
+
export const imapFetchEmailByUID = impl.imapFetchEmailByUID;
|
|
44
|
+
export const imapSearchEmails = impl.imapSearchEmails;
|
|
45
|
+
export const imapMarkAsRead = impl.imapMarkAsRead;
|
|
46
|
+
export const imapMarkAsFlagged = impl.imapMarkAsFlagged;
|
|
47
|
+
export const imapMoveEmails = impl.imapMoveEmails;
|
|
48
|
+
export const imapCopyEmails = impl.imapCopyEmails;
|
|
49
|
+
export const imapDeleteEmails = impl.imapDeleteEmails;
|
|
50
|
+
export const imapExpunge = impl.imapExpunge;
|
|
51
|
+
export const imapFetchAttachments = impl.imapFetchAttachments;
|
|
52
|
+
export const imapFetchAllAttachments = impl.imapFetchAllAttachments;
|
|
53
|
+
export const imapIdle = impl.imapIdle;
|
|
54
|
+
export const imapStopIdle = impl.imapStopIdle;
|
|
55
|
+
export const imapGetQuota = impl.imapGetQuota;
|
|
56
|
+
export const imapAppendMessage = impl.imapAppendMessage;
|
|
57
|
+
|
|
58
|
+
// ─── SMTP exports ──────────────────────────────────────────
|
|
59
|
+
|
|
60
|
+
export const smtpConnect = impl.smtpConnect;
|
|
61
|
+
export const smtpDisconnect = impl.smtpDisconnect;
|
|
62
|
+
export const smtpSendMail = impl.smtpSendMail;
|
|
63
|
+
export const smtpVerifyConnection = impl.smtpVerifyConnection;
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","impl","OS","require","Error","imapConnect","imapDisconnect","imapListMailboxes","imapSelectMailbox","imapRefreshMailbox","imapFetchFolders","imapCreateFolder","imapDeleteFolder","imapRenameFolder","imapSubscribeFolder","imapUnsubscribeFolder","imapFetchEmails","imapFetchEmailByUID","imapSearchEmails","imapMarkAsRead","imapMarkAsFlagged","imapMoveEmails","imapCopyEmails","imapDeleteEmails","imapExpunge","imapFetchAttachments","imapFetchAllAttachments","imapIdle","imapStopIdle","imapGetQuota","imapAppendMessage","smtpConnect","smtpDisconnect","smtpSendMail","smtpVerifyConnection"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,QAAQ,QAAQ,cAAc;AA2CvC;;AAEA,IAAIC,IAAS;AAEb,IAAID,QAAQ,CAACE,EAAE,KAAK,SAAS,EAAE;EAC7B;EACAD,IAAI,GAAGE,OAAO,CAAC,UAAU,CAAC;AAC5B,CAAC,MAAM,IAAIH,QAAQ,CAACE,EAAE,KAAK,SAAS,EAAE;EACpC;EACAD,IAAI,GAAGE,OAAO,CAAC,WAAW,CAAC;AAC7B,CAAC,MAAM,IAAIH,QAAQ,CAACE,EAAE,KAAK,KAAK,EAAE;EAChC,MAAM,IAAIE,KAAK,CACb,sDAAsD,GACpD,mDACJ,CAAC;AACH,CAAC,MAAM;EACL;EACAH,IAAI,GAAGE,OAAO,CAAC,OAAO,CAAC;AACzB;;AAEA;;AAEA,OAAO,MAAME,WAAW,GAAGJ,IAAI,CAACI,WAEE;AAClC,OAAO,MAAMC,cAAc,GAAGL,IAAI,CAACK,cAAqC;AACxE,OAAO,MAAMC,iBAAiB,GAAGN,IAAI,CAACM,iBAErC;AACD,OAAO,MAAMC,iBAAiB,GAAGP,IAAI,CAACO,iBAGX;AAC3B,OAAO,MAAMC,kBAAkB,GAC7BR,IAAI,CAACQ,kBAAkD;AACzD,OAAO,MAAMC,gBAAgB,GAAGT,IAAI,CAACS,gBAEpC;AACD,OAAO,MAAMC,gBAAgB,GAAGV,IAAI,CAACU,gBAEnB;AAClB,OAAO,MAAMC,gBAAgB,GAAGX,IAAI,CAACW,gBAEnB;AAClB,OAAO,MAAMC,gBAAgB,GAAGZ,IAAI,CAACY,gBAGnB;AAClB,OAAO,MAAMC,mBAAmB,GAAGb,IAAI,CAACa,mBAEtB;AAClB,OAAO,MAAMC,qBAAqB,GAAGd,IAAI,CAACc,qBAExB;AAClB,OAAO,MAAMC,eAAe,GAAGf,IAAI,CAACe,eAEf;AACrB,OAAO,MAAMC,mBAAmB,GAAGhB,IAAI,CAACgB,mBAEd;AAC1B,OAAO,MAAMC,gBAAgB,GAAGjB,IAAI,CAACiB,gBAEhB;AACrB,OAAO,MAAMC,cAAc,GAAGlB,IAAI,CAACkB,cAGjB;AAClB,OAAO,MAAMC,iBAAiB,GAAGnB,IAAI,CAACmB,iBAGpB;AAClB,OAAO,MAAMC,cAAc,GAAGpB,IAAI,CAACoB,cAGjB;AAClB,OAAO,MAAMC,cAAc,GAAGrB,IAAI,CAACqB,cAGjB;AAClB,OAAO,MAAMC,gBAAgB,GAAGtB,IAAI,CAACsB,gBAEZ;AACzB,OAAO,MAAMC,WAAW,GAAGvB,IAAI,CAACuB,WAAkC;AAClE,OAAO,MAAMC,oBAAoB,GAAGxB,IAAI,CAACwB,oBAGV;AAC/B,OAAO,MAAMC,uBAAuB,GAAGzB,IAAI,CAACyB,uBAElB;AAC1B,OAAO,MAAMC,QAAQ,GAAG1B,IAAI,CAAC0B,QAEX;AAClB,OAAO,MAAMC,YAAY,GAAG3B,IAAI,CAAC2B,YAAmC;AACpE,OAAO,MAAMC,YAAY,GAAG5B,IAAI,CAAC4B,YAEV;AACvB,OAAO,MAAMC,iBAAiB,GAAG7B,IAAI,CAAC6B,iBAIZ;;AAE1B;;AAEA,OAAO,MAAMC,WAAW,GAAG9B,IAAI,CAAC8B,WAEE;AAClC,OAAO,MAAMC,cAAc,GAAG/B,IAAI,CAAC+B,cAAqC;AACxE,OAAO,MAAMC,YAAY,GAAGhC,IAAI,CAACgC,YAEL;AAC5B,OAAO,MAAMC,oBAAoB,GAC/BjC,IAAI,CAACiC,oBAA8C","ignoreList":[]}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// ============================================================
|
|
4
|
+
// Native bridge — iOS (Swift) / Android (Kotlin) / Windows (C++)
|
|
5
|
+
// ============================================================
|
|
6
|
+
|
|
7
|
+
import { NitroModules } from 'react-native-nitro-modules';
|
|
8
|
+
let hybridObject = null;
|
|
9
|
+
function getHybridObject() {
|
|
10
|
+
if (!hybridObject) {
|
|
11
|
+
hybridObject = NitroModules.createHybridObject('EmailImapSmtp');
|
|
12
|
+
}
|
|
13
|
+
return hybridObject;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// ─── IMAP ────────────────────────────────────────────────────
|
|
17
|
+
|
|
18
|
+
export async function imapConnect(config) {
|
|
19
|
+
const h = getHybridObject();
|
|
20
|
+
return h.imapConnect({
|
|
21
|
+
host: config.host,
|
|
22
|
+
port: config.port,
|
|
23
|
+
username: config.username,
|
|
24
|
+
password: config.password,
|
|
25
|
+
tls: config.tls ?? true,
|
|
26
|
+
authType: config.authType ?? 'password',
|
|
27
|
+
accessToken: config.accessToken,
|
|
28
|
+
timeout: config.timeout ?? 30000,
|
|
29
|
+
checkCertificate: config.checkCertificate ?? true,
|
|
30
|
+
debug: config.debug ?? false
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
export async function imapDisconnect() {
|
|
34
|
+
return getHybridObject().imapDisconnect();
|
|
35
|
+
}
|
|
36
|
+
export async function imapListMailboxes() {
|
|
37
|
+
return getHybridObject().imapListMailboxes();
|
|
38
|
+
}
|
|
39
|
+
export async function imapSelectMailbox(mailbox, readOnly) {
|
|
40
|
+
return getHybridObject().imapSelectMailbox(mailbox, readOnly ?? false);
|
|
41
|
+
}
|
|
42
|
+
export async function imapRefreshMailbox() {
|
|
43
|
+
return getHybridObject().imapRefreshMailbox();
|
|
44
|
+
}
|
|
45
|
+
export async function imapFetchFolders() {
|
|
46
|
+
return getHybridObject().imapFetchFolders();
|
|
47
|
+
}
|
|
48
|
+
export async function imapCreateFolder(folderName) {
|
|
49
|
+
return getHybridObject().imapCreateFolder(folderName);
|
|
50
|
+
}
|
|
51
|
+
export async function imapDeleteFolder(folderName) {
|
|
52
|
+
return getHybridObject().imapDeleteFolder(folderName);
|
|
53
|
+
}
|
|
54
|
+
export async function imapRenameFolder(oldName, newName) {
|
|
55
|
+
return getHybridObject().imapRenameFolder(oldName, newName);
|
|
56
|
+
}
|
|
57
|
+
export async function imapSubscribeFolder(folderName) {
|
|
58
|
+
return getHybridObject().imapSubscribeFolder(folderName);
|
|
59
|
+
}
|
|
60
|
+
export async function imapUnsubscribeFolder(folderName) {
|
|
61
|
+
return getHybridObject().imapUnsubscribeFolder(folderName);
|
|
62
|
+
}
|
|
63
|
+
export async function imapFetchEmails(options) {
|
|
64
|
+
const h = getHybridObject();
|
|
65
|
+
return h.imapFetchEmails({
|
|
66
|
+
from: options.from,
|
|
67
|
+
to: options.to,
|
|
68
|
+
rangeType: options.rangeType,
|
|
69
|
+
page: options.page,
|
|
70
|
+
pageSize: options.pageSize ?? 20,
|
|
71
|
+
since: options.since,
|
|
72
|
+
before: options.before,
|
|
73
|
+
mailbox: options.mailbox,
|
|
74
|
+
fetchBody: options.fetchBody ?? true,
|
|
75
|
+
fetchAttachments: options.fetchAttachments ?? false,
|
|
76
|
+
fetchFlags: options.fetchFlags ?? true,
|
|
77
|
+
fetchHeaders: options.fetchHeaders ?? true,
|
|
78
|
+
fetchFullContent: options.fetchFullContent ?? false,
|
|
79
|
+
maxBodySize: options.maxBodySize ?? 0
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
export async function imapFetchEmailByUID(uid) {
|
|
83
|
+
return getHybridObject().imapFetchEmailByUID(uid);
|
|
84
|
+
}
|
|
85
|
+
export async function imapSearchEmails(criteria) {
|
|
86
|
+
const h = getHybridObject();
|
|
87
|
+
return h.imapSearchEmails({
|
|
88
|
+
text: criteria.text,
|
|
89
|
+
subject: criteria.subject,
|
|
90
|
+
from: criteria.from,
|
|
91
|
+
to: criteria.to,
|
|
92
|
+
body: criteria.body,
|
|
93
|
+
since: criteria.since,
|
|
94
|
+
before: criteria.before,
|
|
95
|
+
on: criteria.on,
|
|
96
|
+
sentSince: criteria.sentSince,
|
|
97
|
+
sentBefore: criteria.sentBefore,
|
|
98
|
+
flagged: criteria.flagged,
|
|
99
|
+
seen: criteria.seen,
|
|
100
|
+
answered: criteria.answered,
|
|
101
|
+
draft: criteria.draft,
|
|
102
|
+
deleted: criteria.deleted,
|
|
103
|
+
junk: criteria.junk,
|
|
104
|
+
hasAttachment: criteria.hasAttachment,
|
|
105
|
+
uids: criteria.uids,
|
|
106
|
+
header: criteria.header,
|
|
107
|
+
larger: criteria.larger,
|
|
108
|
+
smaller: criteria.smaller,
|
|
109
|
+
mailbox: criteria.mailbox,
|
|
110
|
+
sortOrder: criteria.sortOrder ?? 'desc',
|
|
111
|
+
limit: criteria.limit ?? 0,
|
|
112
|
+
fetchBody: criteria.fetchBody ?? true,
|
|
113
|
+
fetchAttachments: criteria.fetchAttachments ?? false,
|
|
114
|
+
fetchFlags: criteria.fetchFlags ?? true,
|
|
115
|
+
fetchHeaders: criteria.fetchHeaders ?? true,
|
|
116
|
+
fetchFullContent: criteria.fetchFullContent ?? false,
|
|
117
|
+
maxBodySize: criteria.maxBodySize ?? 0
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
export async function imapMarkAsRead(uids, silent) {
|
|
121
|
+
return getHybridObject().imapMarkAsRead(uids, silent ?? true);
|
|
122
|
+
}
|
|
123
|
+
export async function imapMarkAsFlagged(uids, flagged) {
|
|
124
|
+
return getHybridObject().imapMarkAsFlagged(uids, flagged);
|
|
125
|
+
}
|
|
126
|
+
export async function imapMoveEmails(uids, destinationMailbox) {
|
|
127
|
+
return getHybridObject().imapMoveEmails(uids, destinationMailbox);
|
|
128
|
+
}
|
|
129
|
+
export async function imapCopyEmails(uids, destinationMailbox) {
|
|
130
|
+
return getHybridObject().imapCopyEmails(uids, destinationMailbox);
|
|
131
|
+
}
|
|
132
|
+
export async function imapDeleteEmails(uids) {
|
|
133
|
+
return getHybridObject().imapDeleteEmails(uids);
|
|
134
|
+
}
|
|
135
|
+
export async function imapExpunge() {
|
|
136
|
+
return getHybridObject().imapExpunge();
|
|
137
|
+
}
|
|
138
|
+
export async function imapFetchAttachments(uid, partId) {
|
|
139
|
+
return getHybridObject().imapFetchAttachments(uid, partId);
|
|
140
|
+
}
|
|
141
|
+
export async function imapFetchAllAttachments(uid) {
|
|
142
|
+
return getHybridObject().imapFetchAllAttachments(uid);
|
|
143
|
+
}
|
|
144
|
+
export async function imapIdle(callback) {
|
|
145
|
+
return getHybridObject().imapIdle(callback);
|
|
146
|
+
}
|
|
147
|
+
export async function imapStopIdle() {
|
|
148
|
+
return getHybridObject().imapStopIdle();
|
|
149
|
+
}
|
|
150
|
+
export async function imapGetQuota(root) {
|
|
151
|
+
return getHybridObject().imapGetQuota(root);
|
|
152
|
+
}
|
|
153
|
+
export async function imapAppendMessage(mailbox, rawMimeData, flags) {
|
|
154
|
+
return getHybridObject().imapAppendMessage(mailbox, rawMimeData, flags);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// ─── SMTP ────────────────────────────────────────────────────
|
|
158
|
+
|
|
159
|
+
export async function smtpConnect(config) {
|
|
160
|
+
const h = getHybridObject();
|
|
161
|
+
return h.smtpConnect({
|
|
162
|
+
host: config.host,
|
|
163
|
+
port: config.port,
|
|
164
|
+
username: config.username,
|
|
165
|
+
password: config.password,
|
|
166
|
+
tls: config.tls ?? true,
|
|
167
|
+
authType: config.authType ?? 'password',
|
|
168
|
+
accessToken: config.accessToken,
|
|
169
|
+
timeout: config.timeout ?? 30000,
|
|
170
|
+
checkCertificate: config.checkCertificate ?? true,
|
|
171
|
+
helloName: config.helloName,
|
|
172
|
+
debug: config.debug ?? false
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
export async function smtpDisconnect() {
|
|
176
|
+
return getHybridObject().smtpDisconnect();
|
|
177
|
+
}
|
|
178
|
+
export async function smtpSendMail(options) {
|
|
179
|
+
const h = getHybridObject();
|
|
180
|
+
return h.smtpSendMail({
|
|
181
|
+
from: {
|
|
182
|
+
name: options.from.name,
|
|
183
|
+
email: options.from.email
|
|
184
|
+
},
|
|
185
|
+
to: options.to.map(a => ({
|
|
186
|
+
name: a.name,
|
|
187
|
+
email: a.email
|
|
188
|
+
})),
|
|
189
|
+
cc: options.cc?.map(a => ({
|
|
190
|
+
name: a.name,
|
|
191
|
+
email: a.email
|
|
192
|
+
})),
|
|
193
|
+
bcc: options.bcc?.map(a => ({
|
|
194
|
+
name: a.name,
|
|
195
|
+
email: a.email
|
|
196
|
+
})),
|
|
197
|
+
replyTo: options.replyTo?.map(a => ({
|
|
198
|
+
name: a.name,
|
|
199
|
+
email: a.email
|
|
200
|
+
})),
|
|
201
|
+
subject: options.subject,
|
|
202
|
+
textBody: options.textBody,
|
|
203
|
+
htmlBody: options.htmlBody,
|
|
204
|
+
attachments: options.attachments?.map(a => ({
|
|
205
|
+
filename: a.filename,
|
|
206
|
+
mimeType: a.mimeType,
|
|
207
|
+
data: a.data,
|
|
208
|
+
inline: a.inline ?? false,
|
|
209
|
+
contentId: a.contentId,
|
|
210
|
+
disposition: a.disposition
|
|
211
|
+
})),
|
|
212
|
+
priority: options.priority,
|
|
213
|
+
headers: options.headers,
|
|
214
|
+
inReplyTo: options.inReplyTo,
|
|
215
|
+
references: options.references,
|
|
216
|
+
readReceiptTo: options.readReceiptTo ? {
|
|
217
|
+
name: options.readReceiptTo.name,
|
|
218
|
+
email: options.readReceiptTo.email
|
|
219
|
+
} : undefined,
|
|
220
|
+
charset: options.charset ?? 'UTF-8',
|
|
221
|
+
encoding: options.encoding
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
export async function smtpVerifyConnection() {
|
|
225
|
+
return getHybridObject().smtpVerifyConnection();
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NitroModules","hybridObject","getHybridObject","createHybridObject","imapConnect","config","h","host","port","username","password","tls","authType","accessToken","timeout","checkCertificate","debug","imapDisconnect","imapListMailboxes","imapSelectMailbox","mailbox","readOnly","imapRefreshMailbox","imapFetchFolders","imapCreateFolder","folderName","imapDeleteFolder","imapRenameFolder","oldName","newName","imapSubscribeFolder","imapUnsubscribeFolder","imapFetchEmails","options","from","to","rangeType","page","pageSize","since","before","fetchBody","fetchAttachments","fetchFlags","fetchHeaders","fetchFullContent","maxBodySize","imapFetchEmailByUID","uid","imapSearchEmails","criteria","text","subject","body","on","sentSince","sentBefore","flagged","seen","answered","draft","deleted","junk","hasAttachment","uids","header","larger","smaller","sortOrder","limit","imapMarkAsRead","silent","imapMarkAsFlagged","imapMoveEmails","destinationMailbox","imapCopyEmails","imapDeleteEmails","imapExpunge","imapFetchAttachments","partId","imapFetchAllAttachments","imapIdle","callback","imapStopIdle","imapGetQuota","root","imapAppendMessage","rawMimeData","flags","smtpConnect","helloName","smtpDisconnect","smtpSendMail","name","email","map","a","cc","bcc","replyTo","textBody","htmlBody","attachments","filename","mimeType","data","inline","contentId","disposition","priority","headers","inReplyTo","references","readReceiptTo","undefined","charset","encoding","smtpVerifyConnection"],"sourceRoot":"..\\..\\src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"..\\..\\src","sources":["types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// ============================================================
|
|
4
|
+
// Web fallback implementation
|
|
5
|
+
// 浏览器环境不支持原生 IMAP/SMTP,提供占位实现
|
|
6
|
+
// ============================================================
|
|
7
|
+
|
|
8
|
+
function notSupported() {
|
|
9
|
+
throw new Error('IMAP/SMTP operations are not supported in the browser/web environment. ' + 'Please use react-native-email-imap-smtp on a native platform (iOS, Android, Windows).');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// ─── IMAP ────────────────────────────────────────────────────
|
|
13
|
+
|
|
14
|
+
export async function imapConnect(_config) {
|
|
15
|
+
return notSupported();
|
|
16
|
+
}
|
|
17
|
+
export async function imapDisconnect() {
|
|
18
|
+
return notSupported();
|
|
19
|
+
}
|
|
20
|
+
export async function imapListMailboxes() {
|
|
21
|
+
return notSupported();
|
|
22
|
+
}
|
|
23
|
+
export async function imapSelectMailbox(_mailbox, _readOnly) {
|
|
24
|
+
return notSupported();
|
|
25
|
+
}
|
|
26
|
+
export async function imapRefreshMailbox() {
|
|
27
|
+
return notSupported();
|
|
28
|
+
}
|
|
29
|
+
export async function imapFetchFolders() {
|
|
30
|
+
return notSupported();
|
|
31
|
+
}
|
|
32
|
+
export async function imapCreateFolder(_folderName) {
|
|
33
|
+
return notSupported();
|
|
34
|
+
}
|
|
35
|
+
export async function imapDeleteFolder(_folderName) {
|
|
36
|
+
return notSupported();
|
|
37
|
+
}
|
|
38
|
+
export async function imapRenameFolder(_oldName, _newName) {
|
|
39
|
+
return notSupported();
|
|
40
|
+
}
|
|
41
|
+
export async function imapSubscribeFolder(_folderName) {
|
|
42
|
+
return notSupported();
|
|
43
|
+
}
|
|
44
|
+
export async function imapUnsubscribeFolder(_folderName) {
|
|
45
|
+
return notSupported();
|
|
46
|
+
}
|
|
47
|
+
export async function imapFetchEmails(_options) {
|
|
48
|
+
return notSupported();
|
|
49
|
+
}
|
|
50
|
+
export async function imapFetchEmailByUID(_uid) {
|
|
51
|
+
return notSupported();
|
|
52
|
+
}
|
|
53
|
+
export async function imapSearchEmails(_criteria) {
|
|
54
|
+
return notSupported();
|
|
55
|
+
}
|
|
56
|
+
export async function imapMarkAsRead(_uids, _silent) {
|
|
57
|
+
return notSupported();
|
|
58
|
+
}
|
|
59
|
+
export async function imapMarkAsFlagged(_uids, _flagged) {
|
|
60
|
+
return notSupported();
|
|
61
|
+
}
|
|
62
|
+
export async function imapMoveEmails(_uids, _destinationMailbox) {
|
|
63
|
+
return notSupported();
|
|
64
|
+
}
|
|
65
|
+
export async function imapCopyEmails(_uids, _destinationMailbox) {
|
|
66
|
+
return notSupported();
|
|
67
|
+
}
|
|
68
|
+
export async function imapDeleteEmails(_uids) {
|
|
69
|
+
return notSupported();
|
|
70
|
+
}
|
|
71
|
+
export async function imapExpunge() {
|
|
72
|
+
return notSupported();
|
|
73
|
+
}
|
|
74
|
+
export async function imapFetchAttachments(_uid, _partId) {
|
|
75
|
+
return notSupported();
|
|
76
|
+
}
|
|
77
|
+
export async function imapFetchAllAttachments(_uid) {
|
|
78
|
+
return notSupported();
|
|
79
|
+
}
|
|
80
|
+
export async function imapIdle(_callback) {
|
|
81
|
+
return notSupported();
|
|
82
|
+
}
|
|
83
|
+
export async function imapStopIdle() {
|
|
84
|
+
return notSupported();
|
|
85
|
+
}
|
|
86
|
+
export async function imapGetQuota(_root) {
|
|
87
|
+
return notSupported();
|
|
88
|
+
}
|
|
89
|
+
export async function imapAppendMessage(_mailbox, _rawMimeData, _flags) {
|
|
90
|
+
return notSupported();
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// ─── SMTP ────────────────────────────────────────────────────
|
|
94
|
+
|
|
95
|
+
export async function smtpConnect(_config) {
|
|
96
|
+
return notSupported();
|
|
97
|
+
}
|
|
98
|
+
export async function smtpDisconnect() {
|
|
99
|
+
return notSupported();
|
|
100
|
+
}
|
|
101
|
+
export async function smtpSendMail(_options) {
|
|
102
|
+
return notSupported();
|
|
103
|
+
}
|
|
104
|
+
export async function smtpVerifyConnection() {
|
|
105
|
+
return notSupported();
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["notSupported","Error","imapConnect","_config","imapDisconnect","imapListMailboxes","imapSelectMailbox","_mailbox","_readOnly","imapRefreshMailbox","imapFetchFolders","imapCreateFolder","_folderName","imapDeleteFolder","imapRenameFolder","_oldName","_newName","imapSubscribeFolder","imapUnsubscribeFolder","imapFetchEmails","_options","imapFetchEmailByUID","_uid","imapSearchEmails","_criteria","imapMarkAsRead","_uids","_silent","imapMarkAsFlagged","_flagged","imapMoveEmails","_destinationMailbox","imapCopyEmails","imapDeleteEmails","imapExpunge","imapFetchAttachments","_partId","imapFetchAllAttachments","imapIdle","_callback","imapStopIdle","imapGetQuota","_root","imapAppendMessage","_rawMimeData","_flags","smtpConnect","smtpDisconnect","smtpSendMail","smtpVerifyConnection"],"sourceRoot":"..\\..\\src","sources":["web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAsBA,SAASA,YAAYA,CAAA,EAAU;EAC7B,MAAM,IAAIC,KAAK,CACb,yEAAyE,GACvE,uFACJ,CAAC;AACH;;AAEA;;AAEA,OAAO,eAAeC,WAAWA,CAC/BC,OAAmB,EACY;EAC/B,OAAOH,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeI,cAAcA,CAAA,EAAkB;EACpD,OAAOJ,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeK,iBAAiBA,CAAA,EAAuB;EAC5D,OAAOL,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeM,iBAAiBA,CACrCC,QAAgB,EAChBC,SAAmB,EACK;EACxB,OAAOR,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeS,kBAAkBA,CAAA,EAA2B;EACjE,OAAOT,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeU,gBAAgBA,CAAA,EAAsB;EAC1D,OAAOV,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeW,gBAAgBA,CAACC,WAAmB,EAAiB;EACzE,OAAOZ,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAea,gBAAgBA,CAACD,WAAmB,EAAiB;EACzE,OAAOZ,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAec,gBAAgBA,CACpCC,QAAgB,EAChBC,QAAgB,EACD;EACf,OAAOhB,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeiB,mBAAmBA,CAACL,WAAmB,EAAiB;EAC5E,OAAOZ,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAekB,qBAAqBA,CACzCN,WAAmB,EACJ;EACf,OAAOZ,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAemB,eAAeA,CACnCC,QAA4B,EACV;EAClB,OAAOpB,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeqB,mBAAmBA,CAACC,IAAY,EAAyB;EAC7E,OAAOtB,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeuB,gBAAgBA,CACpCC,SAAyB,EACP;EAClB,OAAOxB,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeyB,cAAcA,CAClCC,KAAe,EACfC,OAAiB,EACF;EACf,OAAO3B,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAe4B,iBAAiBA,CACrCF,KAAe,EACfG,QAAiB,EACF;EACf,OAAO7B,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAe8B,cAAcA,CAClCJ,KAAe,EACfK,mBAA2B,EACZ;EACf,OAAO/B,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAegC,cAAcA,CAClCN,KAAe,EACfK,mBAA2B,EACZ;EACf,OAAO/B,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeiC,gBAAgBA,CAACP,KAAe,EAAwB;EAC5E,OAAO1B,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAekC,WAAWA,CAAA,EAAkB;EACjD,OAAOlC,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAemC,oBAAoBA,CACxCb,IAAY,EACZc,OAAe,EACa;EAC5B,OAAOpC,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeqC,uBAAuBA,CAC3Cf,IAAY,EACW;EACvB,OAAOtB,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAesC,QAAQA,CAC5BC,SAAmD,EACpC;EACf,OAAOvC,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAewC,YAAYA,CAAA,EAAkB;EAClD,OAAOxC,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeyC,YAAYA,CAACC,KAAc,EAAsB;EACrE,OAAO1C,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAe2C,iBAAiBA,CACrCpC,QAAgB,EAChBqC,YAAyB,EACzBC,MAAiB,EACM;EACvB,OAAO7C,YAAY,CAAC,CAAC;AACvB;;AAEA;;AAEA,OAAO,eAAe8C,WAAWA,CAC/B3C,OAAmB,EACY;EAC/B,OAAOH,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAe+C,cAAcA,CAAA,EAAkB;EACpD,OAAO/C,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAegD,YAAYA,CAChC5B,QAAyB,EACA;EACzB,OAAOpB,YAAY,CAAC,CAAC;AACvB;AAEA,OAAO,eAAeiD,oBAAoBA,CAAA,EAAqB;EAC7D,OAAOjD,YAAY,CAAC,CAAC;AACvB","ignoreList":[]}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// ============================================================
|
|
4
|
+
// windows.ts — Windows 平台实现
|
|
5
|
+
// 通过 TurboModule 调用 C++ 原生代码(替代 Nitro)
|
|
6
|
+
// ============================================================
|
|
7
|
+
//
|
|
8
|
+
// TurboModule 只支持基础类型(string, number, boolean, 数组)
|
|
9
|
+
// 复杂对象通过 JSON.stringify/parse 序列化
|
|
10
|
+
// ============================================================
|
|
11
|
+
|
|
12
|
+
import NativeEmailImapSmtp from "./NativeEmailImapSmtp.js";
|
|
13
|
+
// ─── Session 管理 ──────────────────────────────────────────
|
|
14
|
+
// IMAP 连接是状态性的,需要维护 sessionId
|
|
15
|
+
let imapSessionId = null;
|
|
16
|
+
let smtpSessionId = null;
|
|
17
|
+
function getImapSessionId() {
|
|
18
|
+
if (!imapSessionId) throw new Error('IMAP not connected. Call imapConnect first.');
|
|
19
|
+
return imapSessionId;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// ─── IMAP ────────────────────────────────────────────────────
|
|
23
|
+
|
|
24
|
+
export async function imapConnect(config) {
|
|
25
|
+
const resultJson = await NativeEmailImapSmtp.imapConnect(JSON.stringify(config));
|
|
26
|
+
const result = JSON.parse(resultJson);
|
|
27
|
+
if (result.success && result.sessionId) {
|
|
28
|
+
imapSessionId = result.sessionId;
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
export async function imapDisconnect() {
|
|
33
|
+
const sid = imapSessionId;
|
|
34
|
+
imapSessionId = null;
|
|
35
|
+
if (sid) await NativeEmailImapSmtp.imapDisconnect(sid);
|
|
36
|
+
}
|
|
37
|
+
export async function imapListMailboxes() {
|
|
38
|
+
const json = await NativeEmailImapSmtp.imapListMailboxes(getImapSessionId());
|
|
39
|
+
return JSON.parse(json);
|
|
40
|
+
}
|
|
41
|
+
export async function imapSelectMailbox(mailbox, readOnly) {
|
|
42
|
+
const json = await NativeEmailImapSmtp.imapSelectMailbox(getImapSessionId(), mailbox, readOnly ?? false);
|
|
43
|
+
return JSON.parse(json);
|
|
44
|
+
}
|
|
45
|
+
export async function imapRefreshMailbox() {
|
|
46
|
+
const json = await NativeEmailImapSmtp.imapRefreshMailbox(getImapSessionId());
|
|
47
|
+
return JSON.parse(json);
|
|
48
|
+
}
|
|
49
|
+
export async function imapFetchFolders() {
|
|
50
|
+
const json = await NativeEmailImapSmtp.imapFetchFolders(getImapSessionId());
|
|
51
|
+
return JSON.parse(json);
|
|
52
|
+
}
|
|
53
|
+
export async function imapCreateFolder(folderName) {
|
|
54
|
+
await NativeEmailImapSmtp.imapCreateFolder(getImapSessionId(), folderName);
|
|
55
|
+
}
|
|
56
|
+
export async function imapDeleteFolder(folderName) {
|
|
57
|
+
await NativeEmailImapSmtp.imapDeleteFolder(getImapSessionId(), folderName);
|
|
58
|
+
}
|
|
59
|
+
export async function imapRenameFolder(oldName, newName) {
|
|
60
|
+
await NativeEmailImapSmtp.imapRenameFolder(getImapSessionId(), oldName, newName);
|
|
61
|
+
}
|
|
62
|
+
export async function imapSubscribeFolder(folderName) {
|
|
63
|
+
await NativeEmailImapSmtp.imapSubscribeFolder(getImapSessionId(), folderName);
|
|
64
|
+
}
|
|
65
|
+
export async function imapUnsubscribeFolder(folderName) {
|
|
66
|
+
await NativeEmailImapSmtp.imapUnsubscribeFolder(getImapSessionId(), folderName);
|
|
67
|
+
}
|
|
68
|
+
export async function imapFetchEmails(options) {
|
|
69
|
+
const json = await NativeEmailImapSmtp.imapFetchEmails(getImapSessionId(), JSON.stringify(options));
|
|
70
|
+
return JSON.parse(json);
|
|
71
|
+
}
|
|
72
|
+
export async function imapFetchEmailByUID(uid) {
|
|
73
|
+
const json = await NativeEmailImapSmtp.imapFetchEmailByUID(getImapSessionId(), uid);
|
|
74
|
+
return JSON.parse(json);
|
|
75
|
+
}
|
|
76
|
+
export async function imapSearchEmails(criteria) {
|
|
77
|
+
const json = await NativeEmailImapSmtp.imapSearchEmails(getImapSessionId(), JSON.stringify(criteria));
|
|
78
|
+
return JSON.parse(json);
|
|
79
|
+
}
|
|
80
|
+
export async function imapMarkAsRead(uids, silent) {
|
|
81
|
+
await NativeEmailImapSmtp.imapMarkAsRead(getImapSessionId(), JSON.stringify(uids), silent);
|
|
82
|
+
}
|
|
83
|
+
export async function imapMarkAsFlagged(uids, flagged) {
|
|
84
|
+
await NativeEmailImapSmtp.imapMarkAsFlagged(getImapSessionId(), JSON.stringify(uids), flagged);
|
|
85
|
+
}
|
|
86
|
+
export async function imapMoveEmails(uids, destinationMailbox) {
|
|
87
|
+
await NativeEmailImapSmtp.imapMoveEmails(getImapSessionId(), JSON.stringify(uids), destinationMailbox);
|
|
88
|
+
}
|
|
89
|
+
export async function imapCopyEmails(uids, destinationMailbox) {
|
|
90
|
+
await NativeEmailImapSmtp.imapCopyEmails(getImapSessionId(), JSON.stringify(uids), destinationMailbox);
|
|
91
|
+
}
|
|
92
|
+
export async function imapDeleteEmails(uids) {
|
|
93
|
+
const json = await NativeEmailImapSmtp.imapDeleteEmails(getImapSessionId(), JSON.stringify(uids));
|
|
94
|
+
return JSON.parse(json);
|
|
95
|
+
}
|
|
96
|
+
export async function imapExpunge() {
|
|
97
|
+
await NativeEmailImapSmtp.imapExpunge(getImapSessionId());
|
|
98
|
+
}
|
|
99
|
+
export async function imapFetchAttachments(uid, partId) {
|
|
100
|
+
const json = await NativeEmailImapSmtp.imapFetchAttachment(getImapSessionId(), uid, partId);
|
|
101
|
+
return JSON.parse(json);
|
|
102
|
+
}
|
|
103
|
+
export async function imapFetchAllAttachments(uid) {
|
|
104
|
+
const json = await NativeEmailImapSmtp.imapFetchAllAttachments(getImapSessionId(), uid);
|
|
105
|
+
return JSON.parse(json);
|
|
106
|
+
}
|
|
107
|
+
export async function imapIdle() {
|
|
108
|
+
await NativeEmailImapSmtp.imapIdle(getImapSessionId());
|
|
109
|
+
}
|
|
110
|
+
export async function imapStopIdle() {
|
|
111
|
+
await NativeEmailImapSmtp.imapStopIdle(getImapSessionId());
|
|
112
|
+
}
|
|
113
|
+
export async function imapGetQuota(root) {
|
|
114
|
+
const json = await NativeEmailImapSmtp.imapGetQuota(getImapSessionId(), root ?? null);
|
|
115
|
+
return JSON.parse(json);
|
|
116
|
+
}
|
|
117
|
+
export async function imapAppendMessage(mailbox, rawMimeData, flags) {
|
|
118
|
+
// ArrayBuffer → Base64 string
|
|
119
|
+
const bytes = new Uint8Array(rawMimeData);
|
|
120
|
+
let binary = '';
|
|
121
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
122
|
+
const byte = bytes[i];
|
|
123
|
+
if (byte !== undefined) binary += String.fromCharCode(byte);
|
|
124
|
+
}
|
|
125
|
+
const base64 = btoa(binary);
|
|
126
|
+
const json = await NativeEmailImapSmtp.imapAppendMessage(getImapSessionId(), mailbox, base64, flags ? JSON.stringify(flags) : null);
|
|
127
|
+
return JSON.parse(json);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// ═══ SMTP ═══════════════════════════════════════════════════
|
|
131
|
+
|
|
132
|
+
export async function smtpConnect(config) {
|
|
133
|
+
const resultJson = await NativeEmailImapSmtp.smtpConnect(JSON.stringify(config));
|
|
134
|
+
const result = JSON.parse(resultJson);
|
|
135
|
+
if (result.success && result.sessionId) {
|
|
136
|
+
smtpSessionId = result.sessionId;
|
|
137
|
+
}
|
|
138
|
+
return result;
|
|
139
|
+
}
|
|
140
|
+
export async function smtpDisconnect() {
|
|
141
|
+
const sid = smtpSessionId;
|
|
142
|
+
smtpSessionId = null;
|
|
143
|
+
if (sid) await NativeEmailImapSmtp.smtpDisconnect(sid);
|
|
144
|
+
}
|
|
145
|
+
export async function smtpSendMail(options) {
|
|
146
|
+
const json = await NativeEmailImapSmtp.smtpSendMail(getSmtpSessionId(), JSON.stringify(options));
|
|
147
|
+
return JSON.parse(json);
|
|
148
|
+
}
|
|
149
|
+
export async function smtpVerifyConnection() {
|
|
150
|
+
return NativeEmailImapSmtp.smtpVerifyConnection(getSmtpSessionId());
|
|
151
|
+
}
|
|
152
|
+
function getSmtpSessionId() {
|
|
153
|
+
if (!smtpSessionId) throw new Error('SMTP not connected. Call smtpConnect first.');
|
|
154
|
+
return smtpSessionId;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=windows.js.map
|