อีเมลใน D365 สำคัญอย่างไร
ใน Microsoft Dynamics 365 Finance & Operations (D365 F&O) ระบบอีเมล (Email Subsystem) ทำหน้าที่ส่งแจ้งเตือน อีเมลธุรกรรม และเอกสารต่าง ๆ เช่น ใบแจ้งหนี้ ใบเสนอราคา หรือแจ้งเตือนจาก Workflow ไปยังผู้ใช้โดยอัตโนมัติ
- การตั้งค่าของผู้ดูแลระบบ (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 ซึ่งประกอบด้วยพารามิเตอร์สำคัญต่อการทำงานของอีเมลโดยรวม
| ฟิลด์ | 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 วัน |
ในหน้านี้ ผู้ดูแลระบบสามารถจัดการประวัติการส่งอีเมลของระบบ โดยมี 2 จุดประสงค์หลัก:
ตรวจสอบรายการอีเมลทั้งหมดที่ระบบพยายามส่ง
รวมถึงอีเมลที่ส่งไม่สำเร็จ พร้อมเหตุผล
ตั้งค่าระยะเวลาในการเก็บประวัติการส่งอีเมล
ใช้ฟิลด์ Number of days to retain email history
- หากใส่ค่าเป็น 0 ระบบจะใช้ค่าเริ่มต้นที่ 30 วัน
- หากต้องการเปลี่ยน ให้ระบุจำนวนวันที่ต้องการเก็บข้อมูล
ส่วนนี้ใช้ควบคุมปริมาณการส่งอีเมลต่อ “นาที” สำหรับผู้ให้บริการแบบ 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 ได้ทันทีโดยไม่ต้องซื้อสิทธิ์เพิ่ม เพียงแค่ลงทะเบียนแอปและตั้งค่าให้ถูกต้อง
ในการเชื่อมต่อ 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 ลงทะเบียนแอปให้ก่อน
- 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
ไปที่
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 [ชื่อองค์กร] เพื่ออนุญาตสิทธิ์แบบถาวรให้แอปสามารถส่งอีเมลได้จริง
ไปที่
Manage > Certificates and secrets > Client secrets tab > New client secret
Important
หลังสร้างเสร็จ ให้ จดค่า “Secret value” ทันที เพราะระบบจะแสดงเพียงครั้งเดียว ค่านี้จะใช้ในการเชื่อมต่อกับ D365 เช่นเดียวกับ Application ID
Note
หากองค์กรต้องการจำกัดว่าแอป Microsoft Graph นี้จะสามารถส่งอีเมลจาก mailbox ใดได้บ้าง สามารถตั้งค่าจำกัดสิทธิ์ได้โดยดูจากเอกสาร Limiting application permissions to mailboxes
ในระบบ 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 หรือ “ลดระดับการสนับสนุน” จึงไม่ควรใช้เป็นตัวเลือกหลัก
ในหน้า 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
ดูผลิตภัณฑ์ที่เกี่ยวข้องได้ที่นี่





