- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
- [C#] Hướng dẫn viết ứng dụng chat với Gemini AI Google Winform
[SQLSERVER] Hướng dẫn cấu hình và gởi email bằng câu lệnh Sqlserver
Xin chào các bạn, bài viết hôm nay mình sẽ tiếp tục hướng dẫn các bạn cách cấu hình và gởi email trong Sqlserver.
Database Mail là sự thay thế cho SQL Mail với nhiều cải tiến. Vì vậy, ta nên ngừng sử dụng SQL Mail và nâng cấp lên Database Mail.
Để gửi thư bằng Database Mail trong SQL Server, có 3 bước cơ bản cần phải được thực hiện:
- Create Profile and Account
- Configure Email
- Send Email
Bước 1: Create profile and Account
Tiếp theo
Tiếp tục chọn Next, và hộp thoại hiện ra => Ở hình dưới mình chọn mục đầu tiên để bắt đầu tạo profile cho email.
Ở hình này, các bạn nhập tên profile name, và nhấn nút Add để tạo mới account cho profile
Tiếp theo ở hình bên dưới, mình sẽ nhập các thông tin của tài khoản email mình vào, ở ví dụ bên dưới là mình sử dụng tài khoản Gmail để thực hiện.
OK, đến bước này các bạn cứ nhấn Next để hoàn tất phần cấu hình profile.
Bước 2: Configure Email
Sau khi Create profile and account thành công, chúng ta cần phải cấu hình Database Mail. Để cấu hình nó, chúng ta cần phải kích hoạt tham số Database Mail XPS thông qua stored procedure sp_configure
, như bên dưới:
sp_CONFIGURE 'show advanced', 1
GO
RECONFIGURE
GO
sp_CONFIGURE 'Database Mail XPs', 1
GO
RECONFIGURE
GO
=> Kết quả
Bước 3: Send Email
Sau khi thực hiện cấu hình xong, việc gửi một email đã sẵn sàng.
Trước tiên, chúng ta cần phải thực hiện một stored procedure sp_send_dbmail và cung cấp đủ các tham số cần thiết như hình dưới đây:
USE msdb
GO
EXEC sp_send_dbmail @profile_name='laptrinhvb',
@recipients='hoangtunho2015@gmail.com',
@subject='Test message',
@body=N'Hướng dẫn gởi email trong sqlserver. https://laptrinhvb.net'
Sau khi tất cả các tham số đã được xác thực done , stored procedures được thực thi và các mail được xếp vào queued bởi Service Broker.
=> kết quả sau khi gởi email, mình mở Gmail lên kiểm tra email đến hay chưa.
Check config send mail trên SQL
EXEC msdb.dbo.sysmail_help_configure_sp;
EXEC msdb.dbo.sysmail_help_account_sp;
EXEC msdb.dbo.sysmail_help_profile_sp;
EXEC msdb.dbo.sysmail_help_profileaccount_sp;
EXEC msdb.dbo.sysmail_help_principalprofile_sp;
Check profile mail
SELECT * FROM msdb.dbo.sysmail_profile
Database Mail sẽ giữ bản sao của e-mail gửi đi và hiển thị chúng trong sysmail_allitems
, sysmail_sentitems
, sysmail_sentitems
, sysmail_faileditems
.
Tình trạng của các mail gửi có thể được nhìn thấy trong bảng sysmail_mailitems
.
Khi email được gửi thành công, các field sent_status trong bảng sysmail_mailitems
sẽ gán = 1, cái này cũng có thể được nhìn thấy trong bảng sysmail_sentitems
.
Các email gửi thất bại field sent_status
sẽ có giá trị = 2 và những trường hợp chưa gửi sẽ có giá trị = 3. Các bản ghi có thể được kiểm tra trong bảng sysmail_log
như hình dưới đây:
SELECT * FROM sysmail_mailitems GO
SELECT * FROM sysmail_log GO
Tình trạng có thể được xác nhận sử dụng bảng sysmail_sentitems.
HAVE FUN