การส่งรายงาน ด้วยอีเมล์อัตโนมัติ บน ฐานข้อมูล SQL SERVER 2005 ตอนที่ 1: Configure Database Mail


บทความจาก นิตยสาร WindowsITPro
(ฉบับ February – March 2013)
ผมได้ขออนุญาตทางบก. เรียบร้อยแล้ว

ข้อมูลทางด้านธุรกิจ สิ่งหนึ่งที่ขาดไม่ได้ คือข้อมูลรายงาน ไม่ว่าจะเป็น…

  • ข้อมูลรายงานการขาย
  • ข้อมูลลูกค้า
  • ข้อมูลทางบัญชี
  • ข้อมูลการให้บริการ(Service) ต่างๆ

ที่ส่งเป็นประจำ(Daily Report) ให้ลูกค้าทราบ…
และถ้าเป็นรายงานที่จำเป็นต้องส่งเป็นประจำ ในเวลาเดียวกันซ้ำๆ ทุกวัน
คุณจะทำอย่างไร?… หากคุณร้องขอให้จัดเตรียมคน…
เพื่อมานั่งส่งรายงานโดยเฉพาะ เจ้านายคงไม่พอใจเป็นแน่
คุณในฐานะโปรแกรมเมอร์มืออาชีพ มีวิธีที่ดีกว่านั้น
โดยการใช้ SQL Server 2005 ทำหน้าที่นั้นแทน

ซึ่ง SQL Server 2005 นั้น สนับสนุน SMTP ในฟีเจอร์ที่ชื่อว่า Database Mail
ซึ่งเป็นฟีเจอร์นี้ช่วยให้สามารถส่งอีเมล์ ผ่าน SQL Server 2005
ได้โดยที่ไม่ต้องติดตั้งโปรแกรม MS Outlook หรือ MAPI
หรือเครื่องมือส่งเมล์อื่นๆ ลงบนเครื่องเซอร์ฟเวอร์
คุณมีหน้าที่เพียงไปเปิดใช้งาน และตั้งค่าอีเมล์เล็กน้อยเท่านั้น

ไปดูสิ่งที่จำเป็นในบทความ…

สิ่งที่จำเป็น (Prerequisites)


  • SQL Server 2005 Standard Edition(หรือสูงกว่า)

 

โดยมีขั้นตอนการ Configure Database Mail มีดังนี้

 

ขั้นตอนการ Configure Database Mail

  • ขั้นตอนที่ 1 ดาวน์โหลดฐานข้อมูลตัวอย่าง Northwind
  • ขั้นตอนที่ 2 Attach Database Northwind
  • ขั้นตอนที่ 3 Configure Database Mail
  • ขั้นตอนที่ 4 Send Test E-Mail    

 

ขั้นตอนที่ 1 ดาวน์โหลดฐานข้อมูลตัวอย่าง Northwind

ในบทความนี้ จะใช้ฐานข้อมูลตัวอย่าง Northwind

คุณสามารถดาวน์โหลด และนำไปใช้งาน ตามขั้นตอนดังนี้

1.1 ดาวน์โหลดฐานข้อมูลตัวอย่าง Northwind ได้ที่นี่: http://goo.gl/92oYH

1.2 เมื่อดาวน์โหลด เรียบร้อย ทำการแตกไฟล์

1.3 เมื่อแตกไฟล์เรียบร้อย ให้ทำการ Copy
ไฟล์ฐานข้อมูล Northwind (NORTHWND.LDF, NORTHWND.MDF)

1.4 แล้วนำไปวางที่พาธ

1.4.1 ถ้าเครื่องคอมฯ ติดตั้ง OS 64 บิต
ใช้พาธนี้ C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data

1.4.2 ถ้าเครื่องคอมฯ ติดตั้ง OS 32 บิต
ใช้พาธนี้ C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data
ดังรูปที่1 หมายเลข 1 และ หมายเลข 2

 

ขั้นตอนที่ 2 Attach Database Northwind

ทำการ Attach ฐานข้อมูล Northwind เข้าระบบ ดังนี้

2.1 เปิดโปรแกรม SQL Server Management Studio

2.2 ทำการ Login เข้าระบบ (รูปที่1 หมายเลข3)

2.3 เมื่อ Login เข้าฐานข้อมูลแล้ว ในหน้าต่าง Object Explorer คลิกขวาบนโฟลเดอร์ Database

2.4 เลือกเมนู Attach… (รูป1 หมายเลข4)

2.5 ในหน้าต่าง Attach Databases กดปุ่ม Add (รูป1 หมายเลข5)

 


รูปที่ 1 Attach ฐานข้อมูล(1)…

 

2.6 ขยายโฟลเดอร์ไปที่ -Microsoft SQL Server\MSSQL.1\MSSQL\Data

2.7 เลือกไฟล์ฐานข้อมูล NORTHWND.MDF (รูปที่2 หมายเลข1)

2.8 ในหน้าต่าง Attach Databases คลิกปุ่ม OK (รูปที่2 หมายเลข2)

2.9 จะเห็นฐานข้อมูล Northwind (รูปที่2 หมายเลข3)

 


รูปที่ 2 Attach ฐานข้อมูล(2)…

 

ขั้นตอนที่ 3 Configure Database Mail

การเปิดใช้งาน ฟีเจอร์ Database Mail ใช้ Script ดังนี้

Enable the Database Mail feature 

 

USE
Master

GO

sp_configure
‘show advanced options’, 1

GO

reconfigure
with
override

GO

sp_configure
‘Database Mail XPs’, 1

GO

reconfigure

GO

sp_configure
‘show advanced options’, 0

GO

 

ขั้นตอนถัดไป เป็นการสร้าง Profile ดังนี้:

3.1 ในหน้าต่าง Object Explorer

3.2 คลิกขยาย Management คลิก เมนู Database Mail

3.3 คลิก Configure Database Mail (รูปที่3 หมายเลข1)

3.4 บนหน้าต่าง Database Mail Configuration Wizard…
คลิกปุ่ม Next (รูปที่3 หมายเลข2)

3.5 ติ๊กเลือก Set up Database Mail by performing the following tasks:

3.6 คลิกปุ่ม Next (รูปที่3 หมายเลข3)

 

รูปที่ 3 Configure Database Mail

 

3.7 ขั้นตอน New Profile ช่อง Profile name:
ป้อนชื่อ Profile เป็น ProductAutoMail (รูปที่4 หมายเลข1)

3.8 คลิกปุ่ม Add (รูปที่4 หมายเลข2)

3.9 ป้อนรายละเอียดอีเมล์ดังนี้

  • ช่อง Specify name, description and attributes for SMTP account (รูปที่4 หมายเลข3)
    • Account name: = ProductAutoMail
    • Description: = ProductAutoMail
  • ช่อง Outgoing Mail Server (SMTP) (รูปที่4 หมายเลข4)
    • E-mail address:= ระบุ Gmail ในบทความนี้ใช้ jnuchit@gmail.com
    • Display name:= ระบุชื่อเจ้าของ E-mail ในบทความนี้ใช้ Nuchit
    • Server name:= smtp.gmail.com
    • Port number:= 587
    • ติ๊กเลือก This server require a secure connection (SSL)
  • ช่อง SMTP Authentication (รูปที่4 หมายเลข5)
    • ติกเลือก Basic authentication
    • แล้วระบุ User name และ Password ลงไป แล้วกดปุ่ม OK

3.10 คลิก Next (รูปที่4 หมายเลข6)

3.11 เข้าสู่ขั้นตอน Manage Profile Security
ให้คลิก Next (รูปที่4 หมายเลข7)

 


รูปที่4 New Profile and New Mail Account

 

3.12 คลิกปุ่ม Next, คลิกปุ่ม Finish,
เป็นการตั้งค่าเรียบร้อย แล้วคลิกปุ่ม Close (รูปที่ 5)

 


รูปที่5 Configure Database Mail Success

 

ขั้นตอนที่ 4 Send Test E-Mail

เมื่อคุณตั้งค่า Profile เรียบร้อยแล้ว
ขั้นตอนถัดไปเป็นการนำ Profile ทดสอบการทำงาน ดังนี้

4.1 ในหน้าต่าง Object Explorer

4.2 คลิกขยาย Management คลิก เมนู Send Test E-Mail…

4.3 บนหน้าต่าง Send Test E-Mail From…ให้ระบุค่าต่างๆ ดังนี้

  • Database Mail Profile: ให้เลือก Profile ที่คุณสร้างไว้เมื่อครู่
  • To: ให้ระบุอีเมล์ที่รับการทดสอบ ในบทความใช้ nuchit@flowco.co.th
  • Subject: ระบุหัวเรื่อวอีเมล์ ในบทความใช้ Database Mail Test
  • Body: ระบุเนื้อหาบทความ…

4.4 จากนั้นคลิกปุ่ม Send Test E-Mail
เพื่อทดสอบส่งอีเมล์บน Profile ที่เราตั้งค่าเมื่อครู่ (รูปที่ 6)

 


รูปที่6 Send Test E-Mail…

 

4.5 เมื่อคลิกปุ่ม Send Test E-Mail ในข้อ 4.4 SQL Server
จะทำการส่งอีเมล์ พร้อมแสดงแจ้ง Process ID
ที่ส่งแสดบนหน้าต่าง (รูปที่ 7 หมายเลข1)

4.6 ให้คุณไปเปิดกล่องอีเมล์ดู…
เมื่อเห็นส่งเมล์เรียบร้อย คลิกปุ่ม OK (รูปที่ 7 หมายเลข 2)
แต่ถ้าไม่ได้รับเมล์ให้คลิกปุ่ม Troubleshoot เพื่อสืบหาวิธีแก้ไขต่อไป…
(พอดีบทความนี้ส่งผ่านไปด้วยความเรียบร้อย ไม่ขอแสดงตัวอย่าง)

 


รูปที่7 ส่งเมล์เรียบร้อย

 

เมื่อคุณ Configure Database Mail
เป็นที่เรียบร้อย SQL Server ของคุณ ก็พร้อมสำหรับการส่งเมล์
ซึ่งขั้นตอนต่อไปเป็นการเตรียมรูปแบบรายงาน และ ตั้งค่า JOB Schedules
เพื่อให้ส่งอีเมล์อัตโนมัติ จะยกยอดไปในตอนที่ 2: การส่งข้อความอีเมล ในรูปแบบ HTML
แล้วพบกันครับ>>

 

แหล่งข้อมูลอ้างอิง:

  • Syntax: sp_send_dbmail (Transact-SQL): http://goo.gl/THRr6
  • นิตยสาร WindowsITPro (ฉบับ February – March 2013)

     

แหล่งข้อมูลดาวน์โหลด:

 

ขอขอบคุณ บทความจาก นิตยสาร WindowsITPro (ฉบับ February – March 2013)


 

เกี่ยวกับ

Nuchit Atjanawat is a Microsoft MVP, GreatFriends Community Leader, WindowsITPro Columnist(Mr.Nano), Silverlight Business Application Instructor, Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession. He has a very good skill over Silverlight, LightSwitch, C#, XAML & Blend. He shares his technical findings, tutorials in his technical blog. Follow his Blog and Facebook page to be updated on latest articles. - Technical Blog: https://janawat.wordpress.com - WindowsITPro Columnist(Mr.Nano): http://windowsitpro.net - The GreatFriends.Biz Community Discussion Board (nano): http://greatfriends.biz - witter: https://twitter.com/janawat - Facebook Page: https://www.facebook.com/nuchit - Instructor: http://bit.ly/GF250-01, http://bit.ly/GF150-02

เขียนใน Uncategorized
One comment on “การส่งรายงาน ด้วยอีเมล์อัตโนมัติ บน ฐานข้อมูล SQL SERVER 2005 ตอนที่ 1: Configure Database Mail
  1. Wiwat พูดว่า:

    ขอบคุณมากครับ เป็นประโยชน์มาก

ใส่ความเห็น

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 / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

In Archive
%d bloggers like this: