ตั้งค่า Microsoft Graph สำหรับส่งอีเมลใน D365 F&O (Admin Guide)

รวมขั้นตอนการตั้งค่า Microsoft Graph เป็น Email Provider สำหรับ D365 Finance & Operations ตั้งแต่ Email Parameters, App registration บน Azure AD, สิทธิ์ Mail.Send, ไปจนถึงการเปิดใช้งาน Email Distributor Batch เพื่อรองรับการส่งอีเมลผ่านระบบอัตโนมัติ
ตั้งค่า Microsoft Graph ใน Dynamics 365 Finance & Operations (D365 F&O) อัปเกรด Email Provider ปลอดภัยจาก SMTP, Exchange สู่ OAuth 2.0

อีเมลใน D365 สำคัญอย่างไร

ใน Microsoft Dynamics 365 Finance & Operations (D365 F&O) ระบบอีเมล (Email Subsystem) ทำหน้าที่ส่งแจ้งเตือน อีเมลธุรกรรม และเอกสารต่าง ๆ เช่น ใบแจ้งหนี้ ใบเสนอราคา หรือแจ้งเตือนจาก Workflow ไปยังผู้ใช้โดยอัตโนมัติ

ระบบอีเมลทำงานโดยมีปัจจัยร่วมกันระหว่าง 3 ส่วนหลัก ได้แก่
  • การตั้งค่าของผู้ดูแลระบบ (Administrator Configuration)
  • การตั้งค่าระดับผู้ใช้ (User Configuration)
  • ตัวเลือกที่ผู้ใช้กำหนดขณะส่งอีเมล (User Choices)

เพื่อให้ง่ายต่อการเรียนรู้และนำไปใช้จริง บทความชุดนี้จะแบ่งเนื้อหาออกเป็น 2 ส่วน ได้แก่

  • ส่วนสำหรับผู้ดูแลระบบ (Administrator)
  • ส่วนสำหรับผู้ใช้งาน (User)

โดยในบทความนี้จะโฟกัสที่ขั้นตอนและแนวทางการตั้งค่าอีเมลใน D365 F&O สำหรับผู้ดูแลระบบ (Admin Guide) เป็นหลัก

Note

Email Provider: กลไกที่ D365 ใช้เชื่อมต่อและส่งอีเมล เช่น Microsoft Graph หรือ SMTP

Batch Email: การส่งอีเมลอัตโนมัติจากระบบ เช่น การแจ้งเตือนจาก Workflow

Throttling: การจำกัดจำนวนอีเมลที่ส่งได้ต่อหนึ่งนาที ตามข้อกำหนดของระบบหรือผู้ให้บริการ

Important

หากกำหนดค่าผิดตั้งแต่ต้น เช่น ใช้ email provider ที่ไม่ได้รับการสนับสนุนอีกต่อไป (เช่น Exchange) อาจทำให้การแจ้งเตือนทางอีเมลทั้งหมดล้มเหลว และไม่มีข้อความแสดงข้อผิดพลาดที่เข้าใจง่าย

การตั้งค่า Email Parameters ระดับองค์กร

การตั้งค่าอีเมลในระดับองค์กร (Email configuration for the environment) ดำเนินการผ่านหน้า Email parameters ซึ่งสามารถเข้าถึงได้จากเมนู:

				
					System administration > Setup > Email > Email parameters 
				
			

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

การตั้งค่าหลักในแท็บ Configuration
ฟิลด์ Field (EN) รายละเอียด
Batch email provider Batch email provider เลือกผู้ให้บริการอีเมลที่ใช้ส่งแบบอัตโนมัติ เช่น Microsoft Graph หรือ Exchange โดยระบบจะใช้งานชื่อของ batch process เป็นผู้ส่ง
Attachment size limit Attachment size limit กำหนดขนาดไฟล์แนบสูงสุดต่อฉบับ (MB)
Email expiration in days Email expiration in days จำนวนวันที่อีเมลที่ยังไม่ได้ส่งจะถือว่าหมดอายุและเปลี่ยนสถานะเป็น Expired หากใส่ค่าเป็น 0 ระบบจะใช้ค่าเริ่มต้นคือ 30 วัน
Email History

ในหน้านี้ ผู้ดูแลระบบสามารถจัดการประวัติการส่งอีเมลของระบบ โดยมี 2 จุดประสงค์หลัก:

  • ตรวจสอบรายการอีเมลทั้งหมดที่ระบบพยายามส่ง

รวมถึงอีเมลที่ส่งไม่สำเร็จ พร้อมเหตุผล

  • ตั้งค่าระยะเวลาในการเก็บประวัติการส่งอีเมล

ใช้ฟิลด์ Number of days to retain email history

    • หากใส่ค่าเป็น 0 ระบบจะใช้ค่าเริ่มต้นที่ 30 วัน
    • หากต้องการเปลี่ยน ให้ระบุจำนวนวันที่ต้องการเก็บข้อมูล
Email Throttling

ส่วนนี้ใช้ควบคุมปริมาณการส่งอีเมลต่อ “นาที” สำหรับผู้ให้บริการแบบ non-interactive (เช่น batch email provider) เหมาะสำหรับป้องกันปัญหา “ส่งอีเมลเกิน quota” ที่บาง provider ตั้งไว้ เช่น 30 ฉบับต่อนาที

หลักการทำงาน:

หากส่งอีเมลเกิน quota ที่กำหนด:

  • ระบบจะรอ 1 นาที แล้วลองส่งใหม่
  • หากครบ 10 ครั้งแล้วยังส่งไม่ได้ ระบบจะ “พยายามส่งทันที” โดยไม่สน quota
  • สามารถยกเลิก limit นี้ได้ โดยตั้ง per-minute sending limit = 0

Important

ไม่ควรเปิดใช้งาน Throttling กับ Microsoft Graph หรือ Exchange เพราะระบบเหล่านี้มีการควบคุมปริมาณอยู่แล้วการตั้ง limit เพิ่มจะทำให้การส่งช้ากว่าปกติ

Note

หากใช้ SMTP ที่ไม่ใช่ Office 365 ต้องกำหนด limit เอง

หากใช้ Office 365 SMTP ระบบจะตั้งตาม quota ของ Exchange Online ให้อัตโนมัติ

สรุป:
Email Parameters เป็นจุดเริ่มต้นในการกำหนดพฤติกรรมการส่งอีเมลของระบบ หากองค์กรใช้การส่งอีเมลอัตโนมัติหรือ Workflow การตั้งค่าให้ถูกต้องตั้งแต่แรกมีผลโดยตรงต่อความเสถียรของระบบ

ส่งอีเมลด้วย Microsoft Graph (แนะนำสำหรับ Office 365)

สำหรับองค์กรที่ใช้ Microsoft 365 (หรือ Office 365 เดิม) Microsoft แนะนำให้เลือก Microsoft Graph เป็น email provider หลักใน D365 Finance & Operations แทน Exchange ซึ่งถูก Deprecated แล้ว

แม้ Microsoft Graph จะทำงานผ่าน Exchange Online อยู่เบื้องหลัง แต่การเรียกใช้งานผ่าน Graph ใช้ API รุ่นใหม่ที่ รองรับฟีเจอร์มากขึ้น และ ปลอดภัยกว่า

Note

หากองค์กรของคุณมีสิทธิ์ใช้งาน Microsoft 365 / Exchange Online อยู่แล้ว ก็สามารถใช้ Microsoft Graph ได้ทันทีโดยไม่ต้องซื้อสิทธิ์เพิ่ม เพียงแค่ลงทะเบียนแอปและตั้งค่าให้ถูกต้อง

สิทธิ์ที่จำเป็นในการตั้งค่า Microsoft Graph

ในการเชื่อมต่อ Dynamics 365 F&O กับ Microsoft Graph ต้องใช้สิทธิ์ admin ทั้งในระบบและ Azure AD

  • ต้องเป็น System Administrator ใน Dynamics 365 Finance & Operations
  • ต้องเป็น Azure AD Administrator (หรือ Microsoft Entra ID admin เดิม)
    • หากคุณไม่ใช่ admin ฝั่ง Azure AD ต้องให้ผู้ที่เป็น admin ลงทะเบียนแอปให้ก่อน
ขั้นตอนลงทะเบียนแอป (One-time Registration)
  • 1. เข้าสู่ระบบ Azure Portal
    • ลงชื่อเข้าใช้ด้วยบัญชีที่มีสิทธิ์ Admin

Note

หากคุณไม่มีสิทธิ์ระดับ Admin ใน Tenants จะไม่สามารถลงทะเบียนแอปได้

  • 2. สร้างแอปใหม่ใน Azure
    • ไปที่ Microsoft Entra ID > App registrations > New registration
    • ใส่ค่าต่อไปนี้:
ฟิลด์คำอธิบาย
Nameตั้งชื่อแอปตามต้องการ
Supported account typesเลือก “Accounts in this organizational directory only (Single tenant)”
    • จากนั้นกด Register

Important

หลังลงทะเบียนเสร็จ ให้จดค่า Application (client) ID เก็บไว้ ใช้ในขั้นตอนเชื่อมต่อกับ D365

การเพิ่ม Permission ให้แอป

ไปที่

				
					Manage > API permissions > Add a permission > Microsoft APIs > Microsoft Graph
				
			
  • เลือก Application permissions
  • มองหาสิทธิ์ชื่อ Mail.Send แล้วติ๊กเปิด

Note

โดยปกติระบบจะเพิ่มสิทธิ์ User.Read (delegated) ให้อัตโนมัติ หากไม่มี ให้เพิ่มเข้าไปจากกลุ่ม delegated permissions ด้วย

  • จากนั้นกด Add permissions

  • เลือก Grant admin consent for [ชื่อองค์กร] เพื่ออนุญาตสิทธิ์แบบถาวรให้แอปสามารถส่งอีเมลได้จริง

การสร้าง Client Secret

ไปที่

				
					Manage > Certificates and secrets > Client secrets tab > New client secret
				
			

Important

หลังสร้างเสร็จ ให้ จดค่า “Secret value” ทันที เพราะระบบจะแสดงเพียงครั้งเดียว ค่านี้จะใช้ในการเชื่อมต่อกับ D365 เช่นเดียวกับ Application ID

การจำกัดสิทธิ์ Mailbox (Optional)

Note

หากองค์กรต้องการจำกัดว่าแอป Microsoft Graph นี้จะสามารถส่งอีเมลจาก mailbox ใดได้บ้าง สามารถตั้งค่าจำกัดสิทธิ์ได้โดยดูจากเอกสาร Limiting application permissions to mailboxes

การตั้งค่า Microsoft Graph ใน D365 F&O

ในระบบ D365 F&O ไปที่

				
					System administration > Setup > Email > Email parameters > Microsoft Graph settings tab
				
			

ใส่ค่าดังนี้:

ฟิลด์ ค่าที่ต้องใส่
Application ID ใส่ค่าที่จดไว้จากขั้นตอน Register
Application key ใส่ Secret value จากขั้นตอน Client secret

จากนั้นกด Save

Important

หากข้อมูลไม่ตรงหรือหมดอายุ ระบบจะเชื่อมต่อกับ Microsoft Graph ไม่ได้ และจะเกิดข้อผิดพลาดขณะส่งอีเมล

สรุป

Microsoft Graph เป็นวิธีส่งอีเมลที่ Microsoft แนะนำสำหรับองค์กรที่ใช้ Microsoft 365
เพราะเชื่อมต่อปลอดภัย ใช้มาตรฐานใหม่ และไม่ต้องพึ่ง Basic Authentication แบบ SMTP ที่กำลังยกเลิกในอนาคต

ใช้งาน Exchange (Deprecated)

Microsoft เคยสนับสนุนให้ใช้ Exchange Online เป็นผู้ให้บริการอีเมลหลักใน D365 Finance & Operations แต่ปัจจุบันการใช้งานผ่าน Exchange ถูกจัดเป็นสถานะ Deprecated หรือ “ลดระดับการสนับสนุน” จึงไม่ควรใช้เป็นตัวเลือกหลัก

วิธีใช้งาน Exchange ใน D365 F&O (ยังใช้งานได้ในบางเวอร์ชัน)

ในหน้า Email parameters ผู้ดูแลระบบสามารถเลือก Exchange เป็น:

  • ผู้ให้บริการอีเมลแบบ Interactive (ส่งอีเมลโดยผู้ใช้กดเอง)
  • ผู้ให้บริการอีเมลแบบ Batch (ระบบส่งเองอัตโนมัติ)

การตั้งค่านี้จะใช้บัญชี Exchange Online ที่เชื่อมโยงกับบัญชีผู้ใช้ (หรือบัญชี batch) เป็นผู้ส่งอีเมล

Note

ไม่ต้องตั้งค่า Application ID หรือ Client Secret แบบ Microsoft Graph

การส่งอีเมลจะทำผ่านบัญชีของผู้ใช้งานโดยตรง เช่น admin@yourcompany.com

ปัญหาที่พบบ่อยและการตรวจสอบเบื้องต้น

หากมีปัญหาในการส่งอีเมลผ่าน Exchange:

  • ผู้ใช้สามารถ Sign in เข้า Exchange Online ได้ตามปกติ

  • ทดสอบส่งอีเมลจาก Outlook / OWA เพื่อดูว่ามีข้อผิดพลาดหรือไม่

  • ตรวจสอบสิทธิ์และสถานะของ Mailbox ที่ใช้งาน

ข้อจำกัดของ Exchange Provider ใน D365
ข้อจำกัด คำอธิบาย
ไม่รองรับผู้ใช้ภายนอก (External users) ผู้ใช้ที่อยู่นอก Tenant เดียวกันไม่สามารถส่งอีเมลผ่าน Exchange Provider ได้
ใช้ได้เฉพาะในสภาพแวดล้อมที่ Microsoft ดูแล (Microsoft-managed environments) สำหรับ D365 ที่รันบน VM หรือ Cloud ส่วนตัว อาจมีข้อจำกัดในการใช้งาน Exchange
มีแนวโน้มว่าจะถูกยกเลิก Microsoft แนะนำให้ย้ายไปใช้ Microsoft Graph ซึ่งรองรับความปลอดภัยแบบ OAuth และการควบคุมสิทธิ์แบบใหม่
เปรียบเทียบ Exchange vs Microsoft Graph
คุณสมบัติ Exchange (Deprecated) Microsoft Graph (แนะนำ)
สถานะการสนับสนุน ลดระดับ (Deprecated) แนะนำใช้งาน
ความปลอดภัย Basic Auth / Legacy OAuth 2.0 / Modern Auth
ความสามารถ จำกัด ยืดหยุ่นกว่า
รองรับผู้ใช้ภายนอก ไม่ ทำได้โดยการกำหนดสิทธิ์ผ่าน Graph
ควบคุมสิทธิ์การเข้าถึง ทำได้จำกัด ควบคุม granular ผ่าน Azure AD / Graph API
รองรับใน VM / On-Prem ไม่แนะนำ ไม่ขึ้นกับสภาพแวดล้อม

Important

Exchange ยังใช้งานได้ในบางเวอร์ชันของ D365 แต่มีข้อจำกัดและแนวโน้มว่าจะถูกยกเลิกในอนาคต สำหรับองค์กรที่ใช้ Microsoft 365 อยู่แล้ว ควรเปลี่ยนไปใช้ Microsoft Graph ซึ่งปลอดภัยและมีความยืดหยุ่นมากกว่า

การตั้งค่า SMTP Email

หากองค์กรไม่ได้ใช้ Microsoft 365 หรือไม่สามารถตั้งค่า Microsoft Graph ได้ (เช่น มีข้อจำกัดด้านสิทธิ์ หรือใช้งานระบบภายในที่ไม่เชื่อมกับ Azure AD) ผู้ดูแลระบบสามารถตั้งค่าให้ D365 ส่งอีเมลผ่าน SMTP (Simple Mail Transfer Protocol) ได้

เข้าเมนู:

				
					System administration > Setup > Email > Email parameters > SMTP settings tab
				
			
1. ข้อมูลเกี่ยวกับ Server (Server Information)
ฟิลด์ คำอธิบาย
Outgoing mail server ใส่ชื่อ SMTP Server เช่น smtp.office365.com (สำหรับ Microsoft 365) หรือ smtp-mail.outlook.com (สำหรับ Outlook/Hotmail) สามารถตรวจสอบได้จาก Outlook: Settings > Mail > POP and IMAP
SMTP port number โดยทั่วไปใช้พอร์ต 587 สำหรับการส่งแบบปลอดภัย (TLS/STARTTLS)
SSL required เลือก “Yes” เพื่อเปิดการเข้ารหัสระหว่างการส่งอีเมล

Note

หากระบบส่งอีเมลจำนวนมากภายในเวลาสั้น ๆ แล้วถูกจำกัด (Rate Limit) ให้เปิด Email Throttling ในแท็บ Configuration หากยังไม่พอ ให้เพิ่ม IP ของ D365 ลงใน DNS SPF record ของโดเมน เพื่อให้ผู้ให้บริการ SMTP ยอมรับการส่งอีเมลของระบบ

2. การตั้งค่า Authentication
ฟิลด์ คำอธิบาย
Authentication required ตั้งเป็น “Yes” หากต้องใช้ Username/Password ในการส่งอีเมล
User name & Password ใส่บัญชีอีเมลและรหัสผ่านของบัญชีนั้น

Important

ผู้ใช้ที่ส่งอีเมลผ่าน SMTP ต้องมีสิทธิ์ Send As หรือ Send On Behalf Of สำหรับบัญชีที่ใช้ส่งอีเมล ตั้งค่าสิทธิ์ได้ที่ Microsoft 365 Admin Center (portal.office.com/Admin)

เส้นทาง:

				
					Users > Active users > [เลือก User] > Edit mailbox permissions > Send email from this mailbox
				
			

หรือดูข้อมูลเพิ่มเติม ได้ที่นี่

3. ข้อจำกัดของ SMTP Authentication ใน D365

D365 F&O ไม่รองรับ:

  • Multifactor Authentication (MFA)
  • Modern Authentication (OAuth 2.0)
  • SMTP Relay ที่ต้องการ Auth แบบ Client Certificate หรือ Token-based

หาก SMTP Server ใช้ MFA (เช่น Microsoft 365 ที่บังคับเปิด MFA) ระบบจะ ไม่สามารถส่งอีเมลได้

แนวทางแก้ไข

  • ปิด MFA สำหรับบัญชี SMTP ที่ใช้เฉพาะงานนี้ (หากนโยบายองค์กรอนุญาต)

  • หรือเปลี่ยนมาใช้ Microsoft Graph ซึ่งรองรับ Modern Auth เต็มรูปแบบ

Important

Microsoft กำลังทยอยยกเลิก Basic Authentication สำหรับ Exchange Online และ SMTP AUTH หากยังใช้ SMTP ที่อิง Basic Auth ควรวางแผนเปลี่ยนไปใช้ Microsoft Graph โดยเร็ว

การเปิดใช้งาน Email Distributor Batch Process

เมื่อมีการส่งอีเมลใน D365 Finance & Operations ที่ไม่ได้เกิดจากการกดส่งโดยผู้ใช้ (non-interactive) เช่น การแจ้งเตือนจาก Workflow การส่งใบแจ้งหนี้อัตโนมัติ หรือการสื่อสารผ่านระบบแบบ batch ระบบจะไม่ส่งอีเมลทันที แต่จะเก็บไว้ใน คิวอีเมล (email queue) เพื่อรอให้กระบวนการ Email distributor batch ทำการส่งต่อ

วิธีเปิดใช้งาน Email Distributor Batch

  • ไปที่เมนู:

				
					System administration > Periodic tasks > Email processing > Batch
				
			
  • เมื่อเปิดหน้าต่าง Email distributor batch

    • ตรวจสอบว่าได้ติ๊กที่ Batch processing = Yes

    • จากนั้นกด OK เพื่อเริ่มต้น batch

Note

หากไม่ได้เปิด batch นี้ ระบบจะไม่ส่งอีเมลเลย แม้จะตั้งค่า SMTP หรือ Microsoft Graph ถูกต้องแล้วก็ตามอีเมลทั้งหมดจะค้างอยู่ในสถานะ Pending

หลักการทำงานของ Batch

  • ระบบจะตรวจสอบรายการอีเมลที่ค้างอยู่ใน queue

  • ทำการส่งตามลำดับ โดยใช้ email provider ที่กำหนดไว้ใน Email parameters > Configuration

  • ผู้ส่ง (Sender) จะเป็น “บัญชีที่ผูกกับ Batch Process”

  • โดยทั่วไปคือบัญชีผู้ดูแลระบบ (เช่น admin@yourcompany.com)

Important

หากใช้ Microsoft Graph หรือ Exchange เป็น email provider ระบบจะส่งอีเมลผ่าน API ด้วยบัญชี batch (เช่น admin) ดังนั้นบัญชีนั้นต้องมีสิทธิ์ครบ เช่น Mail.Send บน Graph หรือมี mailbox ใน Exchange

เคล็ดลับเพิ่มเติมสำหรับการตั้งค่า Batch

  • ตั้งค่า Recurrence ให้ทำงานทุก 1 นาที หรือช่วงเวลาที่เหมาะสมกับปริมาณงาน

  • ตรวจสอบให้แน่ใจว่า batch instance ทำงานอยู่เสมอในระบบ Production

  • สามารถดูผลการส่งย้อนหลังได้ที่

				
					System administration > Setup > Email > Email history
				
			

สรุป

เมื่อองค์กรตั้งค่าระบบอีเมลหลักใน D365 F&O เสร็จ ไม่ว่าจะใช้ Microsoft Graph หรือ SMTP ขั้นตอนต่อไปคือการตั้งค่าระดับผู้ใช้ เพื่อให้ระบบสามารถส่งอีเมลได้ครบทุกกรณี

หลายองค์กรพบว่าระบบพร้อมใช้งานแล้ว แต่ผู้ใช้ยังส่งอีเมลไม่ออก เพราะ ไม่ได้กำหนดผู้ส่ง หรือ เลือกผู้ให้บริการอีเมลไม่ถูกต้อง

ใน พาร์ทถัดไป (Part 2) จะอธิบายขั้นตอนการตั้งค่าระดับผู้ใช้อย่างละเอียด ตั้งแต่อีเมลของผู้ใช้ การเลือก Email Provider ไปจนถึงการตรวจสอบและแก้ปัญหาที่มักเกิดขึ้นในการใช้งานจริง

แหล่งที่มา: Microsoft

Table of Content