Introduction

In this article, we will learn about Configure Database Mail - Send Email From SQL Server Database. We can send an email using the SQL Server.

Send Email From SQL Server Database

We can send an email using the SQL Server. Database mail configuration information is maintained in an MSDB database. It is supporting logging and auditing features, using system tables of MSDB. We can send mail as a text message, HTML, query results, and files as an attachment. We have to follow some simple steps to achieve this.

Step 1. Go to Object Explorer.

Step 2. Expand the management menu, as shown below:

menu

Step 3. Right-click on database mail and select configure database mail, as shown below.

Configure Database Mail

After selecting “Configure Database Mail”, we will get the screenshot as shown below:

Configure Database Mail

Step 4. Click the Next button and after clicking the next button; we will get a new screenshot, as shown below.

Next

Step 5. Select the Radio button on the first option “Set up Database Mail by performing the following tasks” and click the Next button.

We will get a new Screen for setting up the account details for configuring the mail.

Step 6. Enter "Profile name" and "Description", as shown below:

Profile

Step 7. Click ADD button and we will get a new prompt where we can add more details related to the mail setup, as shown below:

Step 8. Click OK. This screen will close and the previous screen is shown below.

new

Step 9. Click Next and we will get the prompt.

Step 10. Check the checkbox on “TestMailProfile” and make it the default profile, as shown below.

TestMailProfile

Step 11. Click Next and we will get a new screen.

Step 12. Keep the default setting for the system parameters and click the Next button, as shown below:

default setting

Step 13. Click the Finish button to complete the configuration, as shown below.

Finish

Step 14. It will do all the configurations and then click the close button.

configurations

Now, we are done with the mail configuration. We will test this to send a sample mail, with the help of the following steps.

Step 1. Go to Object Explore

Step 2. Expand the “Management” menu

Step 3. Right Click “Database Mail”

Step 4. Click “send Test E-Mail”, as shown below.

send Test E-Mail

After clicking “send Test E-Mail”, we will get a new screen.

Step 5. Database Mail Profile: Select “TestMailProfile”, as we created just now.

Click the “Send Test E-mail” button, as shown below.

Send Test E-mail

An email will be sent to the recipient successfully.

After successfully configuring the Email in the SQL server, we will see how to send Email programmatically, with the help of a system procedure.

We are using the system procedure “sp_send_dbmail” to send an E-mail.

We can see the “sp_send_dbmail” system procedure by using “sp_helptext sp_send_dbmail”

The query will be written as shown below.

Query

We will send the parameters to the “sp_send_dbmail” system procedure, as per our requirement.

Here, I am using the parameters shown below to send an E-mail.

use msdb  
go  
EXEC msdb.dbo.sp_send_dbmail  
@profile_name = 'TestMailProfile',  
@recipients = '[email protected]',  
@subject = 'DataBase Mail Test',  
@body = 'This is a test e-mail.';   

Explanation

We can also verify our E-mail status, whether it will successfully send or not, and get other information using the query given below:

use msdb  
go  
select * from sysmail_allitems  

query

We can also see the database mail log, as shown below.

Mail Log

After clicking “View database Mail Log”, we will get the information about the database mail log, as shown below.

View database Mail Log

Conclusion

In this article, I used my Gmail credentials to send an E-mail. You can use your SMTP Server to send an E-mail, using SQL Server.

Below are a few SMTP Server Details for your reference.

Mailing Account SMTP Server Name Port Number
Gmail smtp.gmail.com 587
Hotmail smtp.live.com 587
Yahoo smtp.mail.yahoo.com 25
AOL smtp.aol.com 587