ค้นหาเว็บไซต์

กล่องจดหมายเป้าหมายไม่มีการจับคู่พร็อกซี SMTP


คุณกำลังย้ายกล่องจดหมายจาก Exchange ภายในองค์กรไปยัง Exchange Online ใน Microsoft 365 คราวนี้เกิดข้อผิดพลาดว่าสถานะกล่องจดหมายล้มเหลว กล่องจดหมายเป้าหมายไม่มีพร็อกซี SMTP ที่ตรงกัน '<โดเมน>.mail.onmicrosoft.com' เหตุใดจึงเกิดขึ้น และมีวิธีแก้ไขอย่างไร ในบทความนี้ คุณจะได้เรียนรู้วิธีแก้ไขสถานะล้มเหลวเมื่อย้ายกล่องจดหมายไปยัง Exchange Online

โซลูชันสำหรับกล่องจดหมายเป้าหมายไม่มีการจับคู่พร็อกซี SMTP

ปัญหานี้อาจเกิดขึ้นหากมีเงื่อนไขใดเงื่อนไขหนึ่งต่อไปนี้เป็นจริง:

  • กล่องจดหมายต้นทางไม่ได้ประทับตราให้มีที่อยู่ SMTP .mail.onmicrosoft.com

  • ที่อยู่พร็อกซี <โดเมน>.mail.onmicrosoft.com ไม่ได้ซิงค์กับ Office 365 บนวัตถุผู้ใช้จดหมายบนคลาวด์ที่สอดคล้องกัน

สิ่งสำคัญคือต้องเพิ่มที่อยู่พร็อกซี .mail.onmicrosoft.com ไปยังกล่องจดหมาย ถ้าคุณไม่ทำเช่นนั้น การโยกย้ายกล่องจดหมายจะล้มเหลว

หมายเหตุ: วิธีที่เร็วที่สุดในการแก้ปัญหานี้คือการเพิ่ม .mail.onmicrosoft.com จำนวนมากลงในกล่องจดหมายทั้งหมดที่มี PowerShell

นี่คือลักษณะของข้อผิดพลาดในศูนย์การจัดการ Exchange

รับกล่องจดหมายที่ไม่มีที่อยู่ SMTP <โดเมน>.mail.onmicrosoft.com

เรียกใช้ Exchange Management Shell ในฐานะผู้ดูแลระบบและเชื่อมต่อกับ Exchange Server ในสถานที่ แสดงรายการกล่องจดหมายทั้งหมดที่มีที่อยู่ SMTP .mail.onmicrosoft.com หายไป

ในตัวอย่างของฉัน .mail.onmicrosoft.com คือที่อยู่ exoip.mail.onmicrosoft.com เปลี่ยน exoip เป็นชื่อผู้เช่า Microsoft 365 ของคุณ

[PS] C:\>Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -notlike "*@exoip.mail.onmicrosoft.com"} | Select-Object UserPrincipalName,Alias

UserPrincipalName           Alias
-----------------           -----
Amanda.Morgan@exoip.com     Amanda.Morgan
Anna.Welch@exoip.com        Anna.Welch
Benetiz.Anees@exoip.com     Benetiz.Anees
Boris.Campbell@exoip.com    Boris.Campbell
Carl.Kelly@exoip.com        Carl.Kelly
Christopher.Payne@exoip.com Christopher.Payne

รับกล่องจดหมายที่มีที่อยู่ SMTP <โดเมน>.mail.onmicrosoft.com

คุณต้องการที่จะมีรายการที่มีกล่องจดหมายทั้งหมดที่มีที่อยู่ SMTP .mail.onmicrosoft หรือไม่ เปลี่ยนตัวดำเนินการเปรียบเทียบ -notlike เป็น -like

[PS] C:\>Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -like "*@exoip.mail.onmicrosoft.com"} | Select-Object UserPrincipalName,Alias

UserPrincipalName        Alias
-----------------        -----
Kyle.Peake@exoip.com     Kyle.Peake
Kylie.Davidson@exoip.com Kylie.Davidson
Larson.Tevin@exoip.com   Larson.Tevin
Madeleine.Ross@exoip.com Madeleine.Ross

เรารู้ว่าเหตุใดกล่องจดหมายเป้าหมายข้อผิดพลาดจึงไม่แสดงการจับคู่พร็อกซี SMTP เราแสดงรายการกล่องจดหมายใดที่ไม่มีที่อยู่ SMTP ในขั้นตอนถัดไป เราจะเพิ่มที่อยู่ SMTP ที่หายไปลงในกล่องจดหมายเป็นจำนวนมาก

เพิ่มที่อยู่ SMTP <โดเมน>.mail.onmicrosoft.com จำนวนมากด้วย PowerShell

เรามีสองตัวเลือกในการตั้งค่าที่อยู่ SMTP .mail.onmicrosoft.com ไปยังกล่องจดหมายทั้งหมด

ตัวเลือกที่ 1: เพิ่ม <โดเมน>.mail.onmicrosoft.com SMTP จำนวนมากด้วย PowerShell cmdlets สองรายการ

เรียกใช้ cmdlets สองรายการต่อไปนี้เพื่อตั้งค่า alias@domain.mail.onmicrosoft.com เป็นที่อยู่ SMTP รอง

[PS] C:\>$NoSMTP = Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -notlike "*@exoip.mail.onmicrosoft.com"}

[PS] C:\>$NoSMTP | ForEach {Set-Mailbox -Identity $_.UserPrincipalName -EmailAddresses @{add=$_.Alias+"@exoip.mail.onmicrosoft.com"}}

ตัวเลือกที่ 2: เพิ่ม <โดเมน>.mail.onmicrosoft.com SMTP ด้วยสคริปต์ PowerShell จำนวนมาก

สร้างสองโฟลเดอร์บนไดรฟ์ (C:):

  • สคริปต์

  • อุณหภูมิ

ดาวน์โหลดสคริปต์ PowerShell Add-onmicrosoft-SMTP.ps1 และวางไว้ในโฟลเดอร์ C:\scripts

อีกทางเลือกหนึ่งคือการคัดลอกและวางโค้ดด้านล่างลงใน Notepad บันทึกไฟล์เป็น Add-onmicrosoft-SMTP.ps1 ในโฟลเดอร์ C:\scripts

หลังจากเรียกใช้สคริปต์ ผลลัพธ์จะถูกบันทึกลงในโฟลเดอร์ชั่วคราวด้วยชื่อไฟล์ Add-onmicrosoft-SMTP.log

# Output will be added to C:\temp folder. Open the Add-onmicrosoft-SMTP.log with a text editor. For example, Notepad.
Start-Transcript -Path C:\temp\Add-onmicrosoft-SMTP.log -Append

# Get all mailboxes
$Mailboxes = Get-Mailbox -ResultSize Unlimited

# Loop through each mailbox
foreach ($Mailbox in $Mailboxes) {

    # Search for @mail.onmicrosoft.com SMTP in every mailbox
    $OnMicrosoftAddress = $Mailbox.EmailAddresses | Where-Object { $_ -like "*mail.onmicrosoft.com" }
      
    # Do nothing when there is already an @mail.onmicrosoft.com SMTP configured
    If (($OnMicrosoftAddress | Measure-Object).Count -eq 0) {

        # Change exoip with the domain name that you want to add as SMTP
        $OnMSAddress = "$($Mailbox.Alias)@exoip.mail.onmicrosoft.com"

        # Set onmicrosoft SMTP address
        Set-Mailbox $Mailbox.DistinguishedName -EmailAddresses @{add = $OnMSAddress }

        # Write output
        Write-Host "Adding $($OnMSAddress) to $($Mailbox.Name) Mailbox" -ForegroundColor Green
    }
}

Stop-Transcript
  • บรรทัดที่ 17: เปลี่ยนค่า @exoip.mail.onmicrosoft.com เป็นโดเมนที่คุณต้องการเพิ่มลงในกล่องจดหมาย

มาดูการทำงานของสคริปต์ PowerShell กัน เรียกใช้ Exchange Management Shell ในฐานะผู้ดูแลระบบ เปลี่ยนไดเร็กทอรีเป็นโฟลเดอร์สคริปต์และรันสคริปต์

สคริปต์ PowerShell จะส่งผ่านกล่องจดหมาย Exchange ภายในองค์กร และเพิ่ม .mail.onmicrosoft.com ไปยังทุกกล่องจดหมายเป็นที่อยู่ SMTP รอง

[PS] C:\>cd \scripts
[PS] C:\scripts>.\Add-onmicrosoft-SMTP.ps1
Transcript started, output file is C:\temp\Add-onmicrosoft-SMTP.log
Adding Amanda.Morgan@exoip.mail.onmicrosoft.com to Amanda Morgan Mailbox
Adding Anna.Welch@exoip.mail.onmicrosoft.com to Anna Welch Mailbox
Adding Benetiz.Anees@exoip.mail.onmicrosoft.com to Benetiz Anees Mailbox
Adding Boris.Campbell@exoip.mail.onmicrosoft.com to Boris Campbell Mailbox
Adding Carl.Kelly@exoip.mail.onmicrosoft.com to Carl.Kelly Mailbox
Adding Christopher.Payne@exoip.mail.onmicrosoft.com to Christopher Payne Mailbox
Transcript stopped, output file is C:\temp\Add-onmicrosoft-SMTP.log

ขั้นตอนสุดท้ายคือการตรวจสอบผลลัพธ์และตรวจสอบให้แน่ใจว่าเราจะไม่เห็นกล่องจดหมายเป้าหมายข้อผิดพลาดไม่มีพร็อกซี SMTP ที่ตรงกันเมื่อย้ายกล่องจดหมายไปยัง Exchange Online

ตรวจสอบผลลัพธ์

หากคุณใช้ตัวเลือก 2 เพื่อตั้งค่า .mail.onmicrosoft.com SMTP ด้วยสคริปต์ PowerShell คุณสามารถตรวจสอบไฟล์บันทึกได้ ไปที่โฟลเดอร์ C:\temp และเปิดไฟล์ Add-onmicrosoft-SMTP.log ด้วย Notepad

เรียกใช้ cmdlet เพื่อตรวจสอบว่ามีกล่องจดหมายที่ไม่มีที่อยู่ SMTP .mail.onmicrosoft.com หรือไม่

ผลลัพธ์ว่างเปล่าหลังจากเรียกใช้ cmdlet เนื่องจากกล่องจดหมายทั้งหมดได้รับการกำหนดค่าด้วย .mail.onmicrosoft.com

[PS] C:\>Get-Mailbox -ResultSize Unlimited -Filter {EmailAddresses -notlike "*@exoip.mail.onmicrosoft.com"}

มันช่วยคุณแก้ไขกล่องจดหมายเป้าหมายข้อผิดพลาดไม่มีพร็อกซี SMTP ที่ตรงกันหรือไม่

อ่านเพิ่มเติม: ทำชุดการโยกย้ายให้เสร็จสมบูรณ์ด้วย PowerShell »

บทสรุป

คุณได้เรียนรู้ว่าเหตุใดกล่องจดหมายเป้าหมายข้อผิดพลาดจึงไม่แสดงการจับคู่พร็อกซี SMTP เพิ่ม .mail.onmicrosoft.com SMTP ไปยังกล่องจดหมายด้วย PowerShell cmdlets หลังจากตั้งค่าที่อยู่ SMTP แล้ว ให้เรียกใช้ Azure AD Connect เพื่อซิงค์ออบเจ็กต์ AD ภายในองค์กรกับระบบคลาวด์ ย้ายกล่องจดหมายไปยัง Exchange Online และดูคำขอย้าย คราวนี้ ข้อผิดพลาดไม่ปรากฏอีกต่อไป และการย้ายข้อมูลเสร็จสมบูรณ์

คุณสนุกกับบทความนี้หรือไม่? คุณอาจต้องการรับชุดคำขอย้ายใน Exchange Online อย่าลืมติดตามเราและแบ่งปันบทความนี้

บทความที่เกี่ยวข้อง