#pArchiveSources
nextxch Archive: Microsoft 365, Exchange, Google Workspace और IMAP, GoBD आर्काइव में
nextxch Archive उन सिस्टम के मेल को GoBD आर्काइव में लाता है जो nextxch पर नहीं चलते। एडमिन में अनुपालन > आर्काइव स्रोत के अंतर्गत चार प्रकार के स्रोत उपलब्ध हैं: SMTP जर्नल (Microsoft 365 और Exchange से जर्नल रिपोर्ट, Google Workspace से कॉपी नियम, किसी भी MTA से BCC कॉपी), IMAP (कोई भी सर्वर, केवल-पठन), Microsoft Graph के माध्यम से Microsoft 365 और Gmail API के माध्यम से Google Workspace। स्रोत का हर मेलबॉक्स साइन-इन और मेल ट्रैफ़िक के बिना एक आर्काइव किया गया मेलबॉक्स बन जाता है; खोज, लीगल होल्ड, साक्ष्य निर्यात और पुनर्स्थापना उस पर आपके अपने मेलबॉक्स की तरह काम करते हैं।
अनुशंसित संयोजन: किसी कट-ऑफ़ तिथि से पूर्ण निरंतर कैप्चर के लिए SMTP जर्नल (कैप्चर होने से पहले उपयोगकर्ता कुछ भी हटा नहीं सकते), साथ ही मौजूदा मेल और फ़ोल्डर व्यू के लिए API स्रोत एक बार या लंबे अंतराल पर। दोनों एक ही आर्काइव में लिखते हैं; SHA-256 के कारण दो बार कैप्चर किया गया संदेश केवल एक बार संग्रहीत होता है। लाइसेंस: अन्य सिस्टम के आर्काइव किए गए मेलबॉक्स एक अलग लाइसेंस लाइन हैं, आपके अपने nextxch मेलबॉक्स उसमें नहीं गिने जाते। हर स्तर में 10 आर्काइव किए गए मेलबॉक्स निःशुल्क हैं, अधिक Business या Enterprise लाइसेंस के साथ मिलते हैं।
1. त्वरित शुरुआत: Microsoft 365 के लिए जर्नल स्रोत बनाएँ
नए स्रोत अक्षम स्थिति में शुरू होते हैं। कनेक्शन का परीक्षण करें, फिर स्रोत सक्षम करें। केवल डोमेन दिए जाने पर सर्वर गुप्त टोकन के साथ जर्नल पता जनरेट करता है; उसका MX nextxch की ओर इंगित होना चाहिए।
# 1. Admin > Compliance > Archive sources > New source, kind "SMTP journal"
# Domains of the old environment: company.com · journal domain: archive.company.com
# -> journal address e.g. journal-k3x9q2m7v1c8b4n6z5ta@archive.company.com (copy it)
# 2. Protection: IP ranges of the Exchange Online servers, TLS required, allowed envelope senders
# 3. Microsoft Purview: Solutions > Data lifecycle management > Exchange (legacy) > Journal rules
# or Exchange Online PowerShell:
Set-TransportConfig -JournalingReportNdrTo journal-ndr@archive.company.com
New-JournalRule -Name "nextxch Archive" -JournalEmailAddress journal-k3x9q2m7v1c8b4n6z5ta@archive.company.com -Scope Global -Enabled $true
Get-JournalRule | Format-Table Name,Enabled,JournalEmailAddress,Scope
# 4. Send a test message: the source shows the original with all envelope recipients (including Bcc)
2. Exchange ऑन-प्रिमाइसेस और Google Workspace से जर्नल
Exchange ऑन-प्रिमाइसेस: उसी जर्नल पते के साथ जर्नल नियम (प्रीमियम जर्नलिंग, Exchange Enterprise CAL आवश्यक) या उस पते पर प्रति मेलबॉक्स डेटाबेस मानक जर्नलिंग; हाइब्रिड परिवेश में नियम ऑन-प्रिमाइसेस Exchange सर्वर पर भी बनाएँ। Google Workspace: एक रूटिंग नियम जर्नल पते को अतिरिक्त प्राप्तकर्ता के रूप में जोड़ता है; Google Vault की आवश्यकता नहीं है। "Comprehensive mail storage" के साथ SMTP relay और Google सेवाओं के मेल भी मेलबॉक्स में पहुँचते हैं। कोई भी अन्य MTA जर्नल पते पर BCC कॉपी भेजता है।
# Exchange Server (Exchange Management Shell)
New-JournalRule -Name "nextxch Archive" -JournalEmailAddress journal-k3x9q2m7v1c8b4n6z5ta@archive.company.com -Scope Global -Enabled $true
# Google Admin console: Menu > Apps > Google Workspace > Gmail > Routing > Configure
# Messages to affect: inbound, outbound, internal inbound, internal outbound
# Action: Modify message > Add more recipients > Advanced > journal address
# Optional: do not deliver spam to this recipient, suppress bounces from this recipient
# Journal source in nextxch: format bcc or auto, IP ranges of Google's outbound servers, TLS required
3. IMAP: कोई भी सर्वर, केवल-पठन
फ़ोल्डर EXAMINE से खोले जाते हैं और सामग्री BODY.PEEK[] से प्राप्त की जाती है, स्रोत पर फ़्लैग कभी नहीं बदलते। प्रति फ़ोल्डर एक कर्सर (UIDVALIDITY, अंतिम UID, CONDSTORE के साथ HIGHESTMODSEQ) हर संदेश के बाद अपडेट होता है, रुकावट के बाद ठीक वहीं से फिर से शुरू होता है। TLS अनिवार्य है (implicit या STARTTLS), वैकल्पिक रूप से पिन किए गए प्रमाणपत्र (SHA-256) के साथ; पासवर्ड या XOAUTH2 से साइन-इन, एक खाता या खातों की सूची। ट्रैश और स्पैम डिफ़ॉल्ट रूप से छोड़ दिए जाते हैं।
{
"host": "imap.oldhoster.com",
"tls": "implicit",
"auth": "password",
"mode": "single",
"username": "accounting@company.com",
"address": "accounting@company.com",
"excludeFolders": ["Drafts"],
"since": "2016-01-01",
"maxConnections": 2
}
# Secret: password (or oauthToken with xoauth2), in list mode accounts/<id>/password
4. Microsoft Graph के माध्यम से Microsoft 365: Entra ID में ऐप पंजीकरण
स्रोत मौजूदा और नए मेल को प्रति फ़ोल्डर डेल्टा क्वेरी से पढ़ता है, EWS के बिना (Microsoft, Exchange Online में EWS बंद कर रहा है)। एडमिन सहमति के साथ Microsoft Graph में एप्लिकेशन अनुमतियाँ: Mail.Read और User.Read.All, GroupMember.Read.All केवल उपयोगकर्ता फ़िल्टर "group" के साथ। प्रमाणपत्र (अनुशंसित) या क्लाइंट सीक्रेट से साइन-इन, क्लाउड global, usgov, usgovdod और china। Graph थ्रॉटलिंग (Retry-After के साथ 429) का पालन किया जाता है, रन अंतिम पूर्ण रूप से संसाधित पेज से फिर से शुरू होता है। स्रोत पर हटाए गए संदेश आर्काइव में बने रहते हैं। वैकल्पिक रूप से, Exchange Online RBAC for Applications पहुँच को एक समूह तक सीमित करता है।
# Entra admin center > App registrations > New registration "nextxch Archive" (single tenant)
# API permissions > Microsoft Graph > Application permissions:
# Mail.Read, User.Read.All (+ GroupMember.Read.All with group filter) > Grant admin consent
# Certificates & secrets: upload a certificate (.cer) or create a client secret
{
"tenantId": "company.onmicrosoft.com",
"clientId": "11111111-2222-3333-4444-555555555555",
"credentialType": "certificate",
"cloud": "global",
"userFilter": { "mode": "group", "groupId": "99999999-0000-0000-0000-000000000009" },
"sinceUtc": "2019-01-01T00:00:00Z"
}
# Secrets: certificatePfx (Base64) + certificatePassword or clientSecret (the value, not the ID)
5. Gmail API के माध्यम से Google Workspace: सेवा खाता और डोमेन-व्यापी प्रत्यायोजन
ग्राहक के अपने Google Cloud प्रोजेक्ट में एक सेवा खाता (Gmail कोटा प्रति प्रोजेक्ट गिने जाते हैं), जिसमें Gmail API और Admin SDK API सक्षम हों। Admin console में उसकी संख्यात्मक क्लाइंट ID को स्कोप gmail.readonly और admin.directory.user.readonly के साथ डोमेन-व्यापी प्रत्यायोजन के लिए अधिकृत किया जाता है, साथ ही "group" फ़िल्टर के लिए admin.directory.group.member.readonly। messages.list और messages.get (raw) के माध्यम से प्रारंभिक आयात, फिर हिस्ट्री सिंक; यदि हिस्ट्री समाप्त हो गई है, तो आयात फिर से शुरू होता है और पहले से आर्काइव किए गए संदेश डुप्लिकेट के रूप में गिने जाते हैं। प्रति उपयोगकर्ता और प्रोजेक्ट कोटा बजट समायोज्य है।
# Admin console: Security > Access and data control > API controls > Domain-wide delegation
# client ID (numeric) + scopes:
# https://www.googleapis.com/auth/gmail.readonly,
# https://www.googleapis.com/auth/admin.directory.user.readonly
{
"adminSubject": "admin@company.com",
"domain": "company.com",
"userFilter": "orgUnit",
"orgUnitPath": "/Sales",
"sinceUtc": "2018-01-01T00:00:00Z",
"quotaUnitsPerUserMinute": 4800
}
# Secret: serviceAccountKey (JSON key file of the service account)
6. स्टोरेज, WORM प्रतिधारण और लीगल होल्ड
हर आर्काइव किए गए मेलबॉक्स का GoBD आर्काइव में अपना केवल-आर्काइव स्टोर होता है। प्रति संदेश: सभी मेलबॉक्स में डीडुप्लिकेशन के साथ SHA-256 कंटेंट एड्रेस, SHA-256 और Message-ID द्वारा प्रति मेलबॉक्स डुप्लिकेट जाँच, blob और संदेश पर स्रोत का WORM प्रतिधारण और लीगल होल्ड, छेड़छाड़ के प्रमाण के रूप में हैश श्रृंखला और एक फ़ुल-टेक्स्ट इंडेक्स। प्रति रन इतिहास संग्रहीत, डुप्लिकेट और अस्वीकृत संदेशों की गिनती करता है।
Retention RetentionDays 0..36500 (0 = no WORM retention)
Mode Normal | Governance | Compliance (default)
Legal hold per source, also applies to already archived messages
Storage local or S3 with Object Lock (like the rest of the GoBD archive)
Status per mailbox: last run, next run, stored, duplicates, rejected, errors
7. खोज, निर्यात, पुनर्स्थापना
आर्काइव किए गए मेलबॉक्स को अनुपालन खोज में एक अलग स्कोप के रूप में चुना जा सकता है (संयुक्त शब्द विभाजन के साथ जर्मन खोज, अटैचमेंट में OCR, ZUGFeRD फ़ील्ड) और सूची में प्रत्येक के लिए खोज, साक्ष्य निर्यात और पुनर्स्थापना के बटन हैं। साक्ष्य निर्यात मूल .eml फ़ाइलों और Ed25519-हस्ताक्षरित मैनिफ़ेस्ट के साथ एक ZIP प्रदान करता है (अध्याय 17a देखें)। पुनर्स्थापना एक nextxch मेलबॉक्स में कॉपी करती है, आर्काइव अपरिवर्तित रहता है। Microsoft 365, Google या IMAP सर्वर में वापस पुनर्स्थापना अभी उपलब्ध नहीं है; निर्यात इस आवश्यकता को पूरा करता है। खोज हर स्तर में, साक्ष्य निर्यात और पुनर्स्थापना जॉब Business से।
# Search in an archived mailbox
curl -s "https://mail.company.com/api/compliance/search?archivedMailboxId=<id>&q=invoice&limit=100" -H "X-Api-Key: $KEY"
# Evidence export of an archived mailbox (202, status under GET /api/compliance/exports/{id})
curl -X POST https://mail.company.com/api/compliance/exports -H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
-d '{"scope":"mailbox","archivedMailboxId":"<id>","caseReference":"case 4711"}'
# Restore into a nextxch mailbox
curl -X POST https://mail.company.com/api/compliance/restore/jobs -H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
-d '{"source":"archive","account":"archived:<id>","target":"account","targetAccount":"successor@company.com"}'
8. Admin API: /api/admin/archive-sources
TenantAdmin अपने टेनेंट के भीतर, ServerAdmin हर जगह; ComplianceAuditor पढ़ता है (खोज और निर्यात के लिए आर्काइव किए गए मेलबॉक्स चुनने हेतु) लेकिन कभी कुछ नहीं बदलता। Kind का मान Journal, Imap, Microsoft365 या Google है। लाइसेंस कोटा से अधिक मेलबॉक्स सक्षम करना एक संदेश के साथ अस्वीकार कर दिया जाता है, जिसमें वर्तमान लाइसेंस लाइन शामिल होती है। जर्नल स्रोत SMTP द्वारा प्राप्त करते हैं, उनके लिए कोई रन नहीं होता (409 JOURNAL_IS_PUSHED)।
GET /api/admin/archive-sources sources, licence line, available kinds with fields
GET /api/admin/archive-sources/license used, allowed, free, remaining
POST /api/admin/archive-sources create a source
GET /api/admin/archive-sources/{id} source, mailboxes, names of the secrets
PUT /api/admin/archive-sources/{id} change (settings, retention, legal hold, schedule)
DELETE /api/admin/archive-sources/{id} delete
POST /api/admin/archive-sources/{id}/test connection test
POST /api/admin/archive-sources/{id}/discover discover mailboxes
GET /api/admin/archive-sources/{id}/mailboxes archived mailboxes
PUT /api/admin/archive-sources/{id}/mailboxes/{mbxId} {"enabled": true} within the licence line
POST /api/admin/archive-sources/{id}/run fetch now, optionally {"mailboxId": "..."}
GET /api/admin/archive-sources/{id}/runs history (mailboxId, limit)
curl -X POST https://mail.company.com/api/admin/archive-sources -H "X-Api-Key: $KEY" -H "Content-Type: application/json" -d '{
"kind": "Journal", "name": "Microsoft 365 journal", "journalDomain": "archive.company.com",
"settings": { "domains": ["company.com"], "allowedSenderNetworks": ["203.0.113.0/24"], "requireTls": true },
"retentionDays": 3650, "lockMode": "Compliance" }'
सेटिंग्स, डिफ़ॉल्ट मान और बेस्ट प्रैक्टिस
| सेटिंग / स्थान | विवरण | डिफ़ॉल्ट मान | उत्पादन बेस्ट प्रैक्टिस |
|---|---|---|---|
Journal: Domains (domains) |
केवल इन डोमेन और उनके सबडोमेन के envelope पते आर्काइव किए गए मेलबॉक्स बनते हैं (ऑटो-डिस्कवरी चालू रहने पर पहली बार दिखने पर)। बिना मेल खाते पते वाले संदेश स्रोत के "असाइनमेंट रहित जर्नल" स्टोर में जाते हैं, जो लाइसेंस में नहीं गिना जाता। | leer · automatische Erkennung an |
पुराने परिवेश का हर डोमेन दर्ज करें, अन्यथा असाइनमेंट से मेलबॉक्स छूट जाएँगे। |
Journal: Schutz (allowedSenderNetworks, requireTls, allowedEnvelopeSenders) |
भेजने वाले सर्वरों के अनुमत IP पते या CIDR रेंज, केवल TLS पर स्वीकृति (STARTTLS या implicit) और अनुमत envelope प्रेषक (पता, *@domain या domain)। जर्नल पते के लिए या तो IP सूची या उसके लोकल पार्ट में एक गुप्त टोकन (कम से कम 16 वर्ण, सर्वर द्वारा जनरेट) आवश्यक है। | keine IP-Liste · TLS aus · alle Absender |
प्रदाता की IP रेंज सेट करें और TLS अनिवार्य करें; टोकन भी बनाए रखें। |
Journal: Format (format) |
auto जर्नल रिपोर्ट को X-MS-Journal-Report से पहचानता है; envelope Exchange या Microsoft 365 रिपोर्ट के रूप में पार्सिंग अनिवार्य करता है, bcc हर संदेश को कॉपी मानता है (Google कॉपी नियम, अन्य MTA)। | auto |
auto बनाए रखें, जब तक कोई MTA अपने स्वयं के हेडर के साथ BCC कॉपी न भेजे। |
Aufbewahrung (RetentionDays, LockMode) |
प्रति स्रोत दिनों में WORM प्रतिधारण (0 से 36,500, 0 = कोई WORM प्रतिधारण नहीं), मोड Normal, Governance या Compliance के साथ। हर आर्काइव किए गए मेल के blob और संदेश पर लागू होता है। | Compliance |
व्यावसायिक पत्रों और लेखा अभिलेखों के लिए वैधानिक अवधि चुनें; Compliance को उसकी समाप्ति से पहले हटाया नहीं जा सकता। |
Legal Hold (LegalHold) |
स्रोत के सभी संदेशों को हटाए जाने से लॉक करता है, प्रतिधारण अवधि के बाद भी। चालू करने पर होल्ड पहले से आर्काइव किए गए संदेशों पर भी लागू होता है; हर परिवर्तन ऑडिट लॉग में दर्ज होता है। | aus |
मुकदमे या ऑडिट के लिए चालू करें और कानूनी विभाग की मंज़ूरी के बाद ही हटाएँ। |
Zeitplan und Erkennung (ScheduleMinutes, AutoDiscover) |
API स्रोतों (IMAP, Microsoft 365, Google) का फ़ेच अंतराल 5 मिनट से 7 दिन तक; क्लस्टर में केवल लीडर फ़ेच करता है। जर्नल स्रोत SMTP द्वारा प्राप्त करते हैं और उनका कोई शेड्यूल नहीं होता। | 60 min |
बड़े टेनेंट के प्रारंभिक आयात के लिए रन मैन्युअल रूप से शुरू करें और प्रति मेलबॉक्स इतिहास पर नज़र रखें। |
Geheimnisse (Secrets) |
पासवर्ड, क्लाइंट सीक्रेट, प्रमाणपत्र और सेवा खाता कुंजियाँ सर्वर कीरिंग में एन्क्रिप्टेड रूप में संग्रहीत होती हैं। वे केवल-लेखन हैं: API प्रतिक्रियाओं में केवल उनके नाम होते हैं, मान कभी नहीं, और वे लॉग में कभी दिखाई नहीं देतीं। | verschlüsselt |
क्लाइंट सीक्रेट और प्रमाणपत्र की समाप्ति पर ध्यान दें; कनेक्शन परीक्षण समाप्त सीक्रेट की सूचना देता है। |