การทำงานกับการป้องกันรหัสผ่านของ PST

การทำงานกับการป้องกันรหัสผ่านของ PST

Microsoft Outlook อนุญาตให้ผู้ใช้ป้องกันไฟล์ PST ด้วยรหัสผ่านเพื่อจำกัดการเข้าถึง Aspose.Email สามารถตรวจจับการป้องกันด้วยรหัสผ่านบนไฟล์ PST ได้ การป้องกันด้วยรหัสผ่านนี้จริง ๆ แล้วทำงานเฉพาะใน Outlook; ข้อมูลไม่ได้ถูกเข้ารหัสเลย และทำให้สามารถใช้ API ดึงอีเมลโดยไม่ต้องรู้รหัสผ่านได้.

อ่านไฟล์ PST ที่ป้องกันด้วยรหัสผ่าน

คุณสามารถอ่านไฟล์ที่มีการป้องกันรหัสผ่านได้เช่นเดียวกับไฟล์ pst ปกติที่ไม่มีการป้องกัน.

using var pst = PersonalStorage.FromFile(fileName);
foreach (var folder in pst.RootFolder.GetSubFolders())
{
    foreach (var msg in folder.EnumerateMessages())
    {

    }
}

ตรวจสอบว่า PST มีการป้องกันด้วยรหัสผ่านหรือไม่

API มีให้ PersonalStorage.Store.IsPasswordProtected คุณสมบัติ. The PersonalStorage.Store.IsPasswordProtected พร็อพเพอร์ตี้คืนค่า true หากไฟล์ PST มีการป้องกันด้วยรหัสผ่านและ false หากไม่มี.

ตัวอย่างโค้ดต่อไปนี้สาธิตการใช้ PersonalStorage.Store.IsPasswordProtected คุณสมบัติ.

using var pst = PersonalStorage.FromFile("passwordprotectedPST.pst");
Console.WriteLine($"The storage is password protected - {pst.Store.IsPasswordProtected}");

ตรวจสอบรหัสผ่าน

นี้ PersonalStorage.Store.IsPasswordValid() เมธอดรับสตริงรหัสผ่านเป็นพารามิเตอร์และคืนค่า true หากรหัสผ่านถูกต้องและ false หากไม่ถูกต้อง.

ตัวอย่างโค้ดต่อไปนี้สาธิตการใช้ PersonalStorage.Store.IsPasswordValid() เมธอด.

using var pst = PersonalStorage.FromFile("passwordprotectedPST.pst");
Console.WriteLine($"Password is valid - {pst.Store.IsPasswordValid("Password1")}");

เพิ่ม/เปลี่ยน/ลบรหัสผ่าน

นี้ PersonalStorage.Store.ChangePassword เมธอดใช้เพื่อเพิ่ม, เปลี่ยน หรือ ลบ รหัสผ่าน.

เพื่อทำเช่นนี้ ให้ทำตามขั้นตอนต่อไปนี้:

  • โหลด PST จากไฟล์หรือสตรีม.
  • เรียกใช้ PersonalStorage.Store.ChangePassword เมธอด. เพื่อเพิ่มหรือเปลี่ยนรหัสผ่าน ให้ส่งสตริงรหัสผ่านเป็นพารามิเตอร์และเพื่อเอารหัสผ่านออก ให้ส่งค่า null.
using var pst = PersonalStorage.Create("SetPasswordOnPST_out.pst", FileFormatVersion.Unicode);
// Add or change the password
const string password = "Password1";
pst.Store.ChangePassword(password);
// Remove the password
pst.Store.ChangePassword(null);