คำตอบสั้น ๆ: Send As แก้ Outlook ส่งในนาม Shared Mailbox ไม่ได้และได้ NDR 0x80070005 ให้ผู้ดูแลเพิ่มสิทธิ์ Send As รอให้มีผล แล้วเลือก From จาก Global Address List ใหม่
คู่มือนี้อธิบาย Send As ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
Send As คือสิทธิ์ใน Microsoft 365/Exchange Online ที่ให้ผู้ใช้ส่งอีเมลออกในนามกล่องอื่น เช่น ส่งจาก [email protected] ทั้งที่ลงชื่อเข้าใช้ด้วยบัญชีของตัวเอง ถ้าไม่มีสิทธิ์ Send As อีเมลจะไม่ออก และ classic Outlook ส่ง NDR กลับมาว่า This message could not be sent. Try sending the message again later, or contact your network administrator. You do not have the permission to send the message on behalf of the specified user. ตามด้วยรหัส Error is [0x80070005-0x0004dc-0x000524] สาเหตุที่พบบ่อยที่สุดคือผู้ใช้ได้แค่ Full Access ซึ่งอ่านกล่องได้แต่ส่งในนามกล่องไม่ได้ ทางแก้ที่ได้ผลบ่อยที่สุดคือให้ผู้ดูแลเพิ่มสิทธิ์ Send As แล้วให้ผู้ใช้เลือกช่อง From ใหม่จาก Global Address List แทนการพิมพ์หรือเลือกจากรายชื่อที่ Outlook จำไว้
คู่มือนี้เขียนสำหรับผู้ดูแล Microsoft 365 และพนักงานไอทีที่ต้องแก้ปัญหาส่งอีเมลจาก Shared Mailbox หรือส่งแทนผู้บริหาร ครอบคลุม classic Outlook for Windows, new Outlook และ Outlook on the web พร้อมข้อสังเกตสำหรับอีเมล IMAP/POP ของผู้ให้บริการอื่น เมื่อทำครบ คุณจะแยกได้ว่าปัญหาอยู่ที่สิทธิ์ ที่ช่อง From หรือที่ข้อมูลเก่าในเครื่อง และรู้ว่าควรใช้ Send As หรือ Send on Behalf ในงานแบบไหน
สิ่งที่ต้องเตรียม
- NDR ฉบับเต็มที่ผู้ใช้ได้รับ หรือภาพหน้าจอข้อความผิดพลาด ถ้า Outlook อยู่ใน Online mode อาจขึ้นเป็นหน้าต่างเตือนแทน NDR
- รู้ว่าผู้ใช้ใช้ Outlook แบบไหน classic Outlook มีเมนู File ส่วน new Outlook มีสวิตช์ New Outlook และไอคอนรูปเฟือง
- บัญชีผู้ดูแลที่แก้สิทธิ์กล่องจดหมายใน Exchange admin center (EAC) ได้ เช่น Exchange Administrator
- Exchange Online PowerShell (โมดูล ExchangeOnlineManagement) ถ้าต้องให้ Send on Behalf กับ Shared Mailbox หรือตั้งค่า Sent Items เพราะบางค่าทำใน EAC ไม่ได้
- อีเมลของกล่องที่จะส่งในนาม และของผู้ใช้ ในคู่มือนี้ใช้ [email protected] และ [email protected]
สาเหตุของ Send As ส่งไม่ออก
ความหมายของ You do not have the permission to send the message on behalf of the specified user
ข้อความนี้มาจาก Exchange ไม่ได้มาจากตัว Outlook แปลว่าเซิร์ฟเวอร์ตรวจแล้วว่าบัญชีที่ลงชื่อเข้าใช้อยู่ไม่มีสิทธิ์ส่งในนามที่อยู่ในช่อง From ในรายละเอียดท้าย NDR มักมีคำว่า SendAsDeniedException ถ้า Outlook อยู่ใน Online mode จะเห็นเป็นหน้าต่างเตือนข้อความทำนองเดียวกันทันทีที่กดส่งแทนการได้ NDR
Exchange Online มีสิทธิ์เกี่ยวกับกล่องของคนอื่นสามแบบ และแต่ละแบบทำได้คนละอย่าง ปัญหาส่วนใหญ่เกิดจากให้สิทธิ์ผิดแบบ หรือให้ถูกแล้วแต่ Outlook ยังส่งด้วยข้อมูลเก่า
- Full Access: เปิดและจัดการกล่องได้ทั้งหมด แต่ Microsoft ระบุชัดว่าไม่อนุญาตให้ส่งอีเมลจากกล่อง ผู้ใช้จึงเห็น Shared Mailbox ใน Outlook แต่กดส่งแล้วได้ NDR
- Send As: ส่งอีเมลออกเหมือนกล่องนั้นส่งเอง ผู้รับไม่เห็นเลยว่าใครเป็นคนส่ง แต่สิทธิ์นี้ไม่ให้อ่านกล่อง
- Send on Behalf: ส่งได้เหมือนกัน แต่ช่อง From ของผู้รับจะขึ้นว่า ผู้ส่ง on behalf of ชื่อกล่อง ส่วนการตอบกลับจะวิ่งไปที่กล่อง ไม่ใช่ที่ผู้ส่ง
- ช่อง From มาจากข้อมูลเก่าในเครื่อง: Microsoft ระบุกรณีที่มีสิทธิ์ Send As แล้วแต่ยังได้ NDR เพราะที่อยู่ในช่อง From ถูกเติมจากข้อมูลที่ Outlook แคชไว้ เช่น AutoComplete หรือ Offline Address Book รุ่นเก่า
- กล่องถูกซ่อนจาก address list: ถ้าให้ Send As กับกล่องที่ซ่อนจาก address list ผู้ได้สิทธิ์จะส่งในนามกล่องนั้นไม่ได้
- สิทธิ์ยังไม่มีผล: สิทธิ์ที่เพิ่งให้อาจยังไม่ถึงทุกระบบของ Exchange Online ทันที
ถ้าผู้ใช้มีทั้ง Send As และ Send on Behalf กับกล่องเดียวกัน Microsoft ระบุว่าระบบใช้ Send As เสมอ ข้อนี้อธิบายกรณีที่ตั้ง Send on Behalf ไว้แต่ผู้รับไม่เห็นคำว่า on behalf of
ขั้นตอนที่ 1: ตรวจช่อง From และเลือกกล่องใหม่จาก Global Address List
ขั้นนี้ทำได้ที่เครื่องผู้ใช้โดยไม่ต้องรอผู้ดูแล และแก้กรณีที่มีสิทธิ์อยู่แล้วแต่ Outlook หยิบที่อยู่ผิด
classic Outlook for Windows
- เปิดข้อความใหม่ ถ้าไม่เห็นปุ่ม From เหนือปุ่ม To ให้ไปแท็บ Options แล้วคลิก From ในกลุ่ม Show Fields
- คลิก From ดูรายการที่อยู่ที่ Outlook จำไว้ ถ้ามี [email protected] ค้างอยู่จากครั้งก่อน ให้ชี้เมาส์ที่รายการนั้นแล้วลบด้วยปุ่ม X ถ้ามี
- เลือก Other email address แล้วคลิกปุ่ม From ในหน้าต่างที่เปิดขึ้น เพื่อเลือกกล่องจาก Global Address List แทนการพิมพ์เอง แล้วกด OK
- ส่งอีเมลทดสอบไปยังอีเมลส่วนตัวที่อยู่นอกองค์กร
new Outlook และ Outlook on the web
ใน new Outlook เปิด New > Mail ถ้าไม่เห็นช่อง From ให้ไปแท็บ Options แล้วเลือก Show From จากนั้นเลือกที่อยู่ของกล่อง หรือเลือก Other email address แล้วพิมพ์ที่อยู่เต็ม Microsoft ระบุว่าเมื่อเปลี่ยน From เป็นกล่องอื่น new Outlook จะเปิดหน้าต่างเขียนอีเมลใหม่ด้วยบัญชีที่เลือก ให้เขียนเนื้อหาในหน้าต่างใหม่นั้น ส่วน Outlook on the web ให้เลือกไอคอน More actions ในหน้าเขียนอีเมล > Show From ลบที่อยู่เดิมแล้วพิมพ์ที่อยู่ของกล่อง
ถ้าอีเมลทดสอบถึงปลายทางและผู้รับเห็นชื่อกล่องในช่อง From แปลว่าสิทธิ์ Send As ใช้ได้อยู่แล้ว ปัญหาเดิมมาจากที่อยู่ในเครื่อง ไม่ต้องทำขั้นต่อไป ถ้ายังได้ NDR เดิม ให้ไปขั้นตอนที่ 2 ถ้าสงสัยว่ารายชื่อที่ Outlook แนะนำเป็นของเก่า ดูวิธีล้างในคู่มือ AutoComplete
ขั้นตอนที่ 2: ตรวจว่าผู้ใช้มีสิทธิ์ Send As จริงหรือไม่
ใน EAC ไปที่ Recipients > Mailboxes คลิกกล่องที่ต้องการ เปิดแท็บ Delegation แล้วดูหัวข้อ Send as, Send on behalf และ Read and manage (Full Access) ว่าชื่อผู้ใช้อยู่ในหัวข้อใด หรือใช้ PowerShell ซึ่งแสดงทั้งสองสิทธิ์ในคราวเดียว
Connect-ExchangeOnline -UserPrincipalName [email protected]
Get-RecipientPermission -Identity [email protected] | Format-Table Trustee,AccessRights
Get-Mailbox -Identity [email protected] | Format-List GrantSendOnBehalfTo,HiddenFromAddressListsEnabled
ผลของคำสั่งแรกจะมี NT AUTHORITY\SELF อยู่เสมอ ซึ่งเป็นสิทธิ์ของกล่องเอง ถ้าไม่มีอีเมลของผู้ใช้หรือกลุ่มที่เขาเป็นสมาชิกอยู่ในคอลัมน์ Trustee แปลว่ายังไม่มีสิทธิ์ Send As ให้ไปขั้นตอนที่ 3 ถ้ามีอยู่แล้วให้ข้ามไปขั้นตอนที่ 4 คำสั่งที่สองแสดงผู้ได้ Send on Behalf และบอกว่ากล่องถูกซ่อนจาก address list หรือไม่ ถ้า HiddenFromAddressListsEnabled เป็น True ต้องเลิกซ่อนก่อน ไม่อย่างนั้นสิทธิ์ Send As จะใช้ไม่ได้
ขั้นตอนที่ 3: ให้สิทธิ์ Send As ใน EAC หรือ PowerShell
ใน EAC ที่แท็บ Delegation ของกล่อง คลิก Edit ใต้ Send as เลือก Add members ค้นชื่อผู้ใช้ แล้วกด Save และ Confirm ถ้าใช้ PowerShell ให้รันคำสั่งนี้ คำสั่งจะถามยืนยันก่อน ถ้าไม่ต้องการให้ถามให้เติม -Confirm:$false
Add-RecipientPermission -Identity [email protected] -Trustee [email protected] -AccessRights SendAs
ถ้าทั้งทีมต้องส่งในนามกล่องเดียวกัน ให้ใช้ mail-enabled security group เป็น Trustee แทนการเพิ่มทีละคน คนเข้าใหม่จะได้สิทธิ์ Send As ทันทีที่ถูกเพิ่มเข้ากลุ่ม และคนลาออกจะหมดสิทธิ์เมื่อถูกเอาออก ตรวจว่าสำเร็จด้วย Get-RecipientPermission ในขั้นตอนที่ 2 ว่าเห็นชื่อผู้ใช้หรือกลุ่มพร้อม {SendAs}
สิทธิ์ Send As ไม่ทำให้ผู้ใช้เห็นกล่อง ถ้าเขาต้องอ่านและตอบอีเมลในกล่องด้วย ต้องให้ Full Access ควบคู่ วิธีให้ Full Access และทำให้กล่องขึ้นใน Outlook อยู่ในคู่มือ Automapping