Connect Microsoft Outlook 365 to NightPOS using Azure OAuth¶
NightPOS is compatible with Microsoft's Azure OAuth for Microsoft 365. In order to send and receive secure emails from a custom domain, all that is required is to configure a few settings on the Azure platform and on the back end of the NightPOS database. This configuration works with either a personal email address or an address created by a custom domain.
ตั้งค่าในพอร์ทัล Microsoft Azure¶
สร้างแอปพลิเคชันใหม่¶
ในการเริ่มต้น ไปที่ พอร์ทัล Azure ของ Microsoft เข้าสู่ระบบด้วยบัญชี Microsoft Outlook Office 365 หากมี ไม่เช่นนั้น ให้เข้าสู่ระบบด้วย บัญชี Microsoft ส่วนบุคคล ผู้ใช้ที่มีสิทธิ์การเข้าถึงระดับผู้ดูแลระบบในการตั้งค่า Azure จะต้องเชื่อมต่อและดำเนินการกำหนดค่าต่อไปนี้ จากนั้น ไปที่ส่วนที่ชื่อ จัดการ Microsoft Entra ID (อย่างเป็นทางการคือ ไดเรกทอรีที่ใช้งานอยู่ของ Azure)
Now, click on Add (+), located in the top menu, and then select App
registration. On the Register an application screen, rename the Name to
NightPOS or something recognizable. Under the Supported account types section select
Accounts in any organizational directory (Any Microsoft Entra ID directory - Multitenant)
and personal Microsoft accounts (e.g. Skype, Xbox).
ภายใต้ส่วน Redirect URL ให้เลือก Web เป็นแพลตฟอร์ม จากนั้นป้อน https://<web base url>/microsoft_outlook/confirm ในฟิลด์ URL web.base.url อาจเปลี่ยนแปลงได้ขึ้นอยู่กับ URL ที่ใช้เข้าสู่ระบบฐานข้อมูล
Note
เอกสารประกอบเกี่ยวกับ web.base.url อธิบายวิธีการกำหนด URL เดียว นอกจากนี้ยังสามารถเพิ่ม URL เปลี่ยนเส้นทางที่แตกต่างกันในแอป Microsoft ได้
หลังจากที่เพิ่ม URL ลงในฟิลด์แล้ว ลงทะเบียน แอปพลิเคชันจึงจะถูกสร้างขึ้น
สิทธิ์ API¶
The API permissions should be set next. NightPOS will need specific API permissions to be able to read (IMAP) and send (SMTP) emails in the Microsoft 365 setup. First, click the API permissions link, located in the left menu bar. Next, click on the (+) Add a Permission button and select Microsoft Graph under Commonly Used Microsoft APIs. After, select the Delegated Permissions option.
ในแถบค้นหา ให้ค้นหา สิทธิ์ที่ได้รับมอบหมาย และคลิก เพิ่มสิทธิ์ สำหรับแต่ละอัน:
SMTP.Send
IMAP.AccessAsUser.All
Note
สิทธิ์ User.Read จะถูกเพิ่มตามค่าเริ่มต้น
กำหนดผู้ใช้และกลุ่ม¶
หลังจากเพิ่มการอนุญาต API แล้ว ให้กลับไปที่ ภาพรวม ของ แอปพลิเคชัน ที่ด้านบนของเมนูแถบด้านข้างซ้าย
ตอนนี้ เพิ่มผู้ใช้ในแอปพลิเคชันนี้ ใต้ตารางภาพรวม สิ่งจำเป็น ให้คลิกลิงก์ที่ชื่อ แอปพลิเคชันที่มีการจัดการในไดเรกทอรีท้องถิ่น หรือตัวเลือกสุดท้ายที่ด้านล่างขวามือของตาราง
ในเมนูแถบด้านข้างซ้าย ให้เลือก ผู้ใช้และกลุ่ม จากนั้นคลิกที่ (+) เพิ่มผู้ใช้/กลุ่ม สามารถเพิ่ม กลุ่ม และ ผู้ใช้ ได้ หรือเฉพาะ ผู้ใช้ ทั้งนี้ขึ้นอยู่กับบัญชี บัญชีส่วนตัวจะอนุญาตให้เพิ่ม ผู้ใช้ เท่านั้น
Under Users or Groups, click on None Selected and add the users or group of users that will be sending emails from the Microsoft account in NightPOS. Add the users/groups, click Select, and then Assign them to the application.
สร้างข้อมูลประจำตัว¶
Now that the Microsoft Azure app is set up, credentials need to be created for the NightPOS setup. These include the Client ID and Client Secret. To start, the Client ID can be copied from the Overview page of the app. The Client ID or Application ID is located under the Display Name in the Essentials overview of the app.
ถัดไป ค่ารหัสลับของลูกค้า จำเป็นต้องได้รับการดึงข้อมูล หากต้องการรับค่านี้ ให้คลิก ใบรับรองและรหัสลับ ในเมนูแถบด้านข้างซ้าย จากนั้น จะต้องสร้าง รหัสลับลูกค้า ในการดำเนินการนี้ ให้คลิกที่ปุ่ม (+) ความลับของลูกค้าใหม่
A window on the right will populate with a button labeled Add a client secret. Under
Description, type in NightPOS Fetchmail or something recognizable, and then set the
expiration date.
Important
รหัสลับลูกค้า ใหม่จะต้องถูกสร้างและกำหนดค่าหากอันแรกหมดอายุ ในกรณีนี้ อาจมีการหยุดชะงักของบริการ ดังนั้นควรจดบันทึกวันหมดอายุและตั้งค่าเป็นวันที่ไกลที่สุดเท่าที่จะเป็นไปได้
จากนั้นคลิกที่ เพิ่ม เมื่อป้อนค่าทั้งสองนี้แล้ว A ค่ารหัสลับของลูกค้า และ รหัสลับ จะถูกสร้างขึ้น สิ่งสำคัญคือต้องคัดลอก ค่า หรือ ค่ารหัสลับลูกค้า ลงในโน๊ตแพด เนื่องจากจะถูกเข้ารหัสหลังจากออกจากหน้านี้ รหัสลับ ไม่จำเป็น
After these steps, the following items should be ready to be set up in NightPOS:
รหัสลูกค้า (รหัสลูกค้า หรือ รหัสแอปพลิเคชัน)
รหัสลับลูกค้า (ค่า หรือ ค่ารหัสลับลูกค้า)
การดำเนินการนี้จะทำให้การตั้งค่าบนฝั่ง พอร์ทัล Microsoft Azure เสร็จสมบูรณ์
Setup in NightPOS¶
ป้อนข้อมูลรับรอง Microsoft Outlook¶
First, open the NightPOS database and navigate to the Apps module. Then, remove the
Apps filter from the search bar and type in Outlook. After that, install the module
called Microsoft Outlook.
ถัดไป ไปที่ และในส่วน อีเมล ตรวจสอบให้แน่ใจว่าได้เลือกช่องทำเครื่องหมายสำหรับ ใช้เซิร์ฟเวอร์อีเมลแบบกำหนดเอง การดำเนินการนี้จะแสดงตัวเลือกใหม่สำหรับ ข้อมูลรับรอง Outlook
บันทึก ความคืบหน้า
จากนั้น คัดลอกและวาง ID (Application ID) และ Secret (Client Secret Value) ลงในช่องที่เกี่ยวข้องแล้ว บันทึก การตั้งค่า
กำหนดค่าเซิร์ฟเวอร์อีเมลขาออก¶
ในหน้า การตั้งค่าทั่วไป ใต้การตั้งค่า เซิร์ฟเวอร์อีเมลที่กำหนดเอง ให้คลิกลิงก์ เซิร์ฟเวอร์อีเมลขาออก เพื่อกำหนดค่าบัญชี Microsoft
จากนั้น สร้างเซิร์ฟเวอร์อีเมลใหม่และทำเครื่องหมายที่ช่อง Outlook จากนั้น กรอก ชื่อ (อาจเป็นอะไรก็ได้) และอีเมล Microsoft Outlook ชื่อผู้ใช้
หากช่อง จากตัวกรอง ว่างเปล่า ให้ป้อน โดเมนหรือที่อยู่อีเมล
จากนั้นคลิกที่ เชื่อมต่อบัญชี Outlook ของคุณ
A new window from Microsoft opens to complete the authorization process. Select the appropriate email address that is being configured in NightPOS.
Then, allow NightPOS to access the Microsoft account by clicking on Yes. After this, the page will navigate back to the newly configured Outgoing Mail Server in NightPOS. The configuration automatically loads the token in NightPOS, and a tag stating Outlook Token Valid appears in green.
Finally, click Test Connection. A confirmation message should appear. The NightPOS database can now send safe, secure emails through Microsoft Outlook using OAuth authentication.
การกำหนดค่าด้วยเซิร์ฟเวอร์เมลขาออกเดียว¶
การกำหนดค่าเซิร์ฟเวอร์ขาออกเดียวเป็นการกำหนดค่าที่ง่ายที่สุดสำหรับ Microsoft Azure และไม่ต้องการสิทธิ์การเข้าถึงที่ครอบคลุมสำหรับผู้ใช้ในฐานข้อมูล
ที่อยู่อีเมลทั่วไปจะถูกใช้เพื่อส่งอีเมลสำหรับผู้ใช้ทั้งหมดภายในฐานข้อมูล ตัวอย่างเช่น อาจมีโครงสร้างเป็นนามแฝง การแจ้งเตือน (notifications@example.com) หรือนามแฝง รายชื่อติดต่อ (contact@example.com) ที่อยู่นี้จะต้องตั้งค่าเป็น การกรอง จาก บนเซิร์ฟเวอร์ ที่อยู่นี้ต้องตรงกับชุดคีย์ {mail.default.from}@{mail.catchall.domain} ในพารามิเตอร์ระบบด้วย
ดูเพิ่มเติม
ดู การกรองจากผู้ส่ง ในเอกสารประกอบเพื่อข้อมูลเพิ่มเติม
Note
พารามิเตอร์ระบบ สามารถเข้าถึงได้โดยการเปิดใช้งาน โหมดนักพัฒนาซอฟต์แวร์ ในเมนู
เมื่อใช้การกำหนดค่านี้ อีเมลทุกฉบับที่ส่งจากฐานข้อมูลจะใช้ที่อยู่ของกล่องจดหมาย "การแจ้งเตือน" ที่กำหนดค่าไว้ อย่างไรก็ตาม ควรสังเกตว่าชื่อของผู้ส่งจะปรากฏขึ้นแต่ที่อยู่อีเมลจะเปลี่ยน:
Example
การกำหนดค่าเซิร์ฟเวอร์เมลขาออกเดี่ยว:
เซิร์ฟเวอร์เมลขาออก ชื่อผู้ใช้ (เข้าสู่ระบบ) =
notifications@example.comเซิร์ฟเวอร์เมลขาออก การกรอง จาก =
notifications@example.commail.catchall.domainในพารามิเตอร์ระบบ =example.commail.default.fromในพารามิเตอร์ระบบ =การแจ้งเตือน
การกำหนดค่าเฉพาะผู้ใช้ (ผู้ใช้หลายคน)¶
นอกจากเซิร์ฟเวอร์อีเมลทั่วไปแล้ว ยังสามารถตั้งค่าเซิร์ฟเวอร์อีเมลแต่ละรายการสำหรับผู้ใช้ในฐานข้อมูลได้อีกด้วย ที่อยู่อีเมลเหล่านี้จะต้องตั้งค่าเป็น การกรอง จาก ในแต่ละเซิร์ฟเวอร์เพื่อให้การกำหนดค่านี้ทำงานได้
การกำหนดค่านี้ยากกว่าในการกำหนดค่า Microsoft Azure ทั้งสองแบบ โดยกำหนดให้ผู้ใช้ทั้งหมดที่กำหนดค่าด้วยเซิร์ฟเวอร์อีเมลต้องมีสิทธิ์ในการเข้าถึงการตั้งค่าเพื่อสร้างการเชื่อมต่อกับเซิร์ฟเวอร์อีเมล
ตั้งค่า¶
ผู้ใช้แต่ละคนควรมีการตั้งค่าเซิร์ฟเวอร์อีเมลแยกต่างหาก การกรอง จาก ควรตั้งค่าเพื่อให้ส่งเฉพาะอีเมลของผู้ใช้จากเซิร์ฟเวอร์นั้น กล่าวคือ มีเพียงผู้ใช้ที่มีที่อยู่อีเมลที่ตรงกับชุด การกรอง จาก เท่านั้นที่สามารถใช้เซิร์ฟเวอร์นี้ได้
ดูเพิ่มเติม
ดู การกรองจากผู้ส่ง ในเอกสารประกอบเพื่อข้อมูลเพิ่มเติม
จะต้องตั้งค่า เซิร์ฟเวอร์สำรอง เพื่ออนุญาตการส่ง การแจ้งเตือน การกรอง จาก สำหรับเซิร์ฟเวอร์นี้ควรมีค่าเป็น {mail.default.from}@{mail.catchall.domain}
Note
พารามิเตอร์ระบบ สามารถเข้าถึงได้โดยการเปิดใช้งาน โหมดนักพัฒนาซอฟต์แวร์ ในเมนู
Important
การกำหนดค่าสำหรับเซิร์ฟเวอร์อีเมลธุรกรรมนี้สามารถทำงานร่วมกับเซิร์ฟเวอร์อีเมลขาออกได้ การกรอง จาก สำหรับเซิร์ฟเวอร์อีเมลสำหรับส่งอีเมลจำนวนมากสามารถเว้นว่างไว้ได้ แต่จำเป็นต้องเพิ่มในการตั้งค่าของแอปพลิเคชัน การตลาดผ่านอีเมล
ดูเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าเซิร์ฟเวอร์อีเมลส่งเมลกลุ่ม โปรดไปที่ การส่งอีเมลด้วยเซิร์ฟเวอร์ SMTP ภายนอก
Example
การกำหนดค่าเซิร์ฟเวอร์เมลขาออกของผู้ใช้หลายราย:
- กล่องจดหมายของผู้ใช้ #1
เซิร์ฟเวอร์เมลขาออก #1 ชื่อผู้ใช้ (เข้าสู่ระบบ) =
john@example.comเมลเซิร์ฟเวอร์ขาออก #1 การกรอง จาก =
john@example.com
- กล่องจดหมายของผู้ใช้ #2
เซิร์ฟเวอร์เมลขาออก #2 ชื่อผู้ใช้ (เข้าสู่ระบบ) =
jane@example.comเซิร์ฟเวอร์เมลขาออก #2 การกรอง จาก =
jane@example.com
- กล่องจดหมายแจ้งเตือน
เซิร์ฟเวอร์เมลขาออก #3 ชื่อผู้ใช้ (เข้าสู่ระบบ) =
notifications@example.comเซิร์ฟเวอร์เมลขาออก #3 การกรอง จาก =
notifications@example.com
- พารามิเตอร์ของระบบ
mail.catchall.domainในพารามิเตอร์ระบบ =example.commail.default.fromในพารามิเตอร์ระบบ =การแจ้งเตือน
กำหนดค่าเซิร์ฟเวอร์อีเมลขาเข้า¶
The incoming account should be configured in a similar way to the outgoing email account. Navigate to the Incoming Mail Servers in the Technical Menu and Create a new configuration. Check or Select the button next to Outlook Oauth Authentication and enter the Microsoft Outlook username. Click on Connect your Outlook account. NightPOS will state: Outlook Token Valid Now Test and Confirm the account. The account should be ready to receive email to the NightPOS database.