Αφορμή για αυτό το post είναι ένα ερώτημα από ένα φίλο της κοινότητα μας (autoexec.gr). Είναι για τον SQL Server 2005 αλλά μπορείτε να το εφαρμόσετε και στις επόμενες εκδόσεις
Για να εγκαταστήσουμε το database mail θα πρέπει να ακολουθήσουμε τα παρακάτω βήματα. Μια βασική προυπόθεση είναι να έχουμε ένα smtp server με ένα mail account.
Ανοίγουμε το SSMS και πάμε
δεξί κλικ Configure Database Mail
όπου ο Database mail configuration wizard ξεκινάει
Στο ερώτημα αυτό απαντάμε Yes στην ουσία ενεργοποιεί το database mail στον SQL Server. Aν πούμε όχι μετά τα πρέπει να πάμε στο Surface Area Configuration για να το ενεργοποίησουμε
Δίνουμε ένα αναγνωριστικό στο Profile name και πατάμε Add
Συμπληρώνουμε τα στοιχεία που ζητάει η συγκέκριμένη φόρμα με τα στοιχεία του mail account και του smtp server που αυτό υπάρχει, και πατάμε ΟΚ. Θα γυρίσουμε στην προηγούμενη φόρμα και η εικόνα μας θα είναι κάπως έτσι
Πατάμε Next κάνουμε τα παρακάτω ανάλογα το πως θέλουμε να είναι το profile μας. Εγώ εδώ ορίζω και τα δύο.
και πατάμε Next
Πατάμε Next
Πατάμε Finish
Πατάμε Close
και για να ελέγουμε ότι όλα είναι εντάξει επιλέγουμε Send Test E-Mail
Αφού βεβαιώθουμε ότι όλα είναι ΟΚ πατάμε ΟΚ
Έαν στον διάλογο που μας ρωτούσε για το αν θέλουμε να ενεργοποιήσουμε το database mail δεν είχαμε απαντήσει καταφατικά θα πρέπει να πάμε στα configuratio tools του SQL Server και να ανοίξουμε το SQL Server Surface Area Configuration Tool, επιλέγοντας το Surface Area Configuration for Features
και έπειτα πάμε database mail και κάνουμε κλικ στο Enable Database Mail Stored procedured όπως στη παρακάτω εικόνα
Εάν τώρα θέλουμε μέσα απο τον SQL Server να στέλνουμε mails τότε θα πρέπει αυτό να γίνει με την χρήση της stored procedure sp_send_dbmail. Ένα παράδειγμα έχω στην παρακάτω εικόνα το οποιο εκτελεί ένα query και στέλνει τα αποτελέσματα στους παραλήπτες που έχουμε ορίσει. Αυτοί μπορεί να είναι πολλοί απλά θα πρέπει στην αντίστοιχη παράμετρο να βάλω τα emails τους χωριζόμενα με semicolon (;). Για περισσότερες πληροφορίες για την sp αυτή στα books online.
Ανοίγουμε ένα νέο query window και εκτελούμε την stored procedure sp_send
Το αποτέλεσμα θα είναι ο παραλήπτης να δει στο mail box του την παρακάτω εικόνα