[Trouble Shooting] – K2 ส่ง Notification Email ไม่ได้

ไม่ได้เขียน blog เกี่ยวกับ K2 ซะนาน ตั้งแต่ k2underground.com เปลี่ยนเป็น community.k2.com ก็ไม่มีที่เขียนอีกเลย ถ้าใครเคยติดตาม blog เก่า (จะมีไหมเนี่ย 555) จะรู้ว่า ผมชอบเขียนเกี่ยวกับปัญหาที่มีคนถามเข้ามาว่า เจออย่างนี้แก้อย่างไร วันนี้ก็เช่นกัน

เนื่องจากการส่ง email ของ K2 หลักๆ มี 2 แบบ คือ ส่งแจ้งเตือน (notification) เวลาที่มีงานมาถึง และส่งด้วย email event (จริงๆ มีอีกทางที่ส่งจาก SmartForms แต่ไม่ขอพูดถึง เพราะเท่าที่เคยลองยังไม่ค่อยเสถียรเท่าไหร่) หลายๆ คนเคยมีคำถามว่า ทำไมสามารถส่ง email โดยใช้ email event ได้ แต่ทำไม email จาก notification ส่งไม่ได้ อาจจะมี case กลับกันบ้าง แต่ก็ไม่เยอะเท่า case นี้ ก่อนจะไปถึงช่วงการตรวจสอบเพื่อแก้ปัญหา เราต้องรู้กันก่อนว่า การทำงานของ notification ต่างกับ email event อย่างไร…

email event จะทำการส่ง email ผ่าน smtp ที่เราทำการ set ไว้ตรงๆ เลย ดังนั้นถ้าเราส่ง email ไม่ออกในกรณีที่ส่งด้วย email event การหาปัญหาจะทำได้ง่ายกว่า เพราะจะมี error ใน workflow อยู่ใน error profile ซึ่งจะมี error message ชัดเจน การแก้ปัญหาในกรณีนี้ ส่วนใหญ่จะเป็นการดูว่า K2 server สามารถเชื่อมต่อกับ smtp server ได้ไหม โดยใช้ telnet กับการตรวจสอบ setting ของ smtp ผ่าน tool connectionstringeditor ของ K2 (อยู่ใน {install directory}\K2 blackpearl\Host Server\Bin)

ส่วนของ notification จะทำงานผ่าน MSMQ และ MSMQ จะเป็นคนส่งให้ smtp อีกรอบหนึ่ง (จริงๆ ใน process มีเยอะกว่านี้ ถ้าสนใจรายละเอียดดูได้จาก http://help.k2.com/onlinehelp/k2blackpearl/userguide/4.6.8/webframe.html#reference_-_notification_event_overview.html#tracksearch=msmq) ดังนั้นจะไม่มี error ใน error profile แต่ถ้าส่งไม่ได้ จะไม่ได้ email เลย ซึ่งปัญหาส่วนใหญ่ที่เจอคือ MSMQ ทำงานไม่ปกติ อาจจะเนื่องจากการ setting หรือจากการทำงานของ windows server เอง ถ้าเจออย่างนี้ให้ทำการแก้ปัญหาตาม step ด้านล่าง

1. ตรวจสอบว่า MSMQ ได้ถูก configure ไว้ใน server อย่างถูกต้องหรือไม่ โดยตรวจสอบตาม step การ setup ตาม http://help.k2.com/onlinehelp/k2blackpearl/icg/4.6.8/webframe.html#msmq.html#tracksearch=msmq และ http://help.k2.com/onlinehelp/k2blackpearl/icg/4.6.8/webframe.html#msmq_settings.html#tracksearch=msmq

2. ให้ดูใน Public Queues ของ Server ว่า Queue Eventbus และ Eventbus Error ถูกสร้างขึ้นมาหรือไม่

public queue

3. ตรวจสอบสิทธิ์ใน Public Queues ว่า K2 service account มีสิทธิ์ Full Control ใน queue หรือไม่

permission

4. ตรวจสอบ MSDTC ว่า configure ไว้ถูกต้องหรือไม่ โดยตรวจสอบได้ตาม http://help.k2.com/onlinehelp/k2blackpearl/icg/4.6.8/webframe.html#MSDTC.html

5. ถ้าตรวจสอบว่า ด้านบน configure ไว้ถูกต้องแล้ว ให้ลอง restart server ดู เพราะเคยเจอ case ที่ MSMQ มีปัญหาจากการทำงานของ windows เมื่อทำการ restart MSMQ สามารถกลับมาทำงานปกติได้

6. ถ้าทำตามด้านบนทั้งหมดแล้วยังไม่หาย ก็เปิด ticket เถอะครับ และบอกไปใน ticket ด้วยว่า เราทำอะไรไปบ้างแล้ว

หวังว่า บทความนี้จะช่วยอะไรได้บ้าง แล้วพบกันใหม่คราวหน้าครับ 🙂

Advertisements

2 thoughts on “[Trouble Shooting] – K2 ส่ง Notification Email ไม่ได้

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s