What is Database Mail?
Database Mail is an enterprise solution for sending e-mail messages from the SQL Server Database Engine. Using Database Mail, your database applications can send e-mail messages to users. The messages can contain query results and can also include files from any resource on your network.
Step 1. Firstly, we need Microsoft SQL Server Management Studio (SSMS) installed on our system (PC or Laptop) to send mail from SQL Server. So, if you have not installed SSMS on your system, then first download and install it.
Step 2
- Now, Open SSMS and connect it to your SQL Server instance.
- Expand Management option, there you can find the Database Mail option. As you can see in the following image.
- Now, Right click on Database Mail and select the Configure Database Mail option.
- This will open a Database Mail Configuration wizard. Select next to continue.
- Now choose the first option, Set up Database Mail, by performing the following tasks, and click next.
- Now, give your database mail Profile Name and its description as whatever you want. Here, I am giving "Test Profile" as the profile name. In the SMTP account section, select the Add account option to create a new SMTP account as in the following image.
- Now, in the New Database Mail Account window, fill up the details as in the following image. Here, I am using my Gmail account to send emails. So, I used smtp.gmail.com as the Server name and 587 as the Port number.
- In SMTP Authentication and Outgoing Mail Server, use the email address and password from which you want to send e-mail. Also, make sure that the " The server requires a secure connection" check box is checked for security purposes. Now click OK when you are done and click next to go to the next screen.
Step 3. The next screen is about making a Database mail profile, either public or private. You can leave this option and move to the next screen. Again, select next to finish the creation process for the Database Mail profile.
Now you are all set up to send e-mail. Now go to Management, right-click on Database Mail, and select Send Test E-mail... option to send test mail as in the following image.
Choose Test Profile as Database Mail Profile from Dropdown and enter To email address, Subject, and Body, and click Send Test E-Mail. Now your e-mail has been sent successfully from SQL Server.
Step 4. If you want to send mail using SQL query, then you can use the system database 'msdb' and its stored procedure 'sp_send_dbmail' as follows.
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Test Profile',
@recipients = '[email protected]',
@subject = 'Test Mail',
@body = 'This is the test mail.',
@body_format = 'HTML';
To check the status of the e-mail you sent, you can execute the following query in SQL Server.
USE msdb;
GO
SELECT *
FROM sysmail_allitems;
In this query result, you can find all the details about the mail sent from the SQL Server. You can check the sent_status column to check the status of mail.
So, this is all about using the database mail in the SQL Server to send e-mails. I hope you understood my explanation and liked this article.
Thank you!