Comment envoyer des emails à partir de SQL Server?
Comment puis-je envoyer un e-mail à l'aide de T-SQL, mais adresse e-mail est stocké dans une table? Je veux faire une boucle par la table et être en mesure d'envoyer des e-mail. Je ne trouve pas un bon exemple de le faire jusqu'à présent..
Merci pour votre aide
- j'ai vérifié le lien, mais ne rien voir du tout avec ce qui concerne l'email..
- merci, le lien semble fonctionner maintenant
- Vous ne devriez pas utiliser SQL server en tant que serveur d'application. La configuration d'e-mails d'alerte vous est une chose, mais en l'utilisant comme un e-mail distributeur, c'est autre chose. Alors que vous PEUT ce faire, vous pouvez concider si vous DEVRAIT ce faire.
Vous devez vous connecter pour publier un commentaire.
Étape 1) Créer un Profil et Compte
Vous devez créer un profil et compte à l'aide de la configuration de la Messagerie de Base de données de l'Assistant qui peut être consulté à partir de la configuration de la Messagerie de Base de données menu contextuel de la Messagerie de Base de données de nœud en Nœud de Gestion. Cet assistant est utilisé pour gérer les comptes, profils, et de la Messagerie de Base de données paramètres globaux.
Étape 2)
EXÉCUTER:
Étape 3)
D'une boucle sur le tableau
Posté ceci sur le lien suivant http://ms-sql-queries.blogspot.in/2012/12/how-to-send-email-from-sql-server.html
@max_id=MIN(id)
être@max_id=MAX(id)
? Sinon, il semble qu'aucun e-mails seront envoyés.+@email_id+
se brisera dans ce cas.SELECT @email_id=email_id FROM [email_adresses]
être"SELECT @email_id=email_id FROM [email_adresses] WHERE id = @id
? Sinon,@email_id
n'est pas connecté à@id
à tous, si je ne me trompe pas.@email_id
en tant que paramètre. Et la boucle while devrait fonctionner, mais le curseur prendra moins de la direction afin de déterminer si les e-mails ont et n'ont pas été envoyés.Vous pouvez envoyer un courriel en mode natif à partir de SQL Server à l'aide de la Base de données de Messagerie. C'est un excellent outil pour informer les administrateurs système, sur les erreurs ou les autres événements de base de données. Vous pouvez également l'utiliser pour envoyer un rapport ou d'un message électronique à un utilisateur final.
La syntaxe de base est la suivante:
Avant l'utilisation, la Messagerie de Base de données doit être activée à l'aide de l'Assistant Configuration de la Messagerie de Base de données, ou la procédure stockée sp_configure. Une base de données ou d'administrateur Exchange pourriez avoir besoin pour vous aider à configurer ce.
Voir
http://msdn.microsoft.com/en-us/library/ms190307.aspx
et
http://www.codeproject.com/Articles/485124/Configuring-Database-Mail-in-SQL-Server pour plus d'informations.
Voici un exemple de comment vous pouvez concaténer des adresses de courriel à partir d'un tableau en une seule @bénéficiaires paramètre:
L'résultant @bénéficiaires seront:
[email protected];[email protected];[email protected]
- Afin de rendre SQL server envoyer un email de notification vous devez créer un profil à partir de la Gestion, de la messagerie de base de données.
1) Droit de l'Utilisateur cliquez sur pour obtenir le profil de messagerie menu et choisissez configurer la messagerie de base de données
2)choisir la première ouverture (mis en place une base de données électronique en suivant les tâches suivantes) et appuyez sur suivant
Remarque: si le serveur SMTP n'est pas configuré, veuillez consulter l'URL ci-dessous
http://www.symantec.com/business/support/index?page=content&id=TECH86263
3) dans le second écran, remplissez le nom du profil et ajouter un compte SMTP, puis appuyez sur suivant
4) choisissez le type de compte de messagerie ( public ou privé), puis appuyez sur suivant
5) modifier les paramètres liés à l'envoi d'options de messagerie, puis appuyez sur suivant
6) appuyez sur terminer
Maintenant, pour faire de SQL server envoyer un e-mail si l'action X est arrivé, vous pouvez le faire via un déclencheur ou d'emploi ( C'est le commun de moyens de ne pas les seuls).
1) vous pouvez créer un Travail de l'agent SQL server, puis cliquez droit sur les opérateurs et vérifier vos mails (remplissez votre e-mail par exemple) et appuyez sur OK après que de droite, cliquez sur tâches et choisissez nouveau travail
et remplissez les informations nécessaires ainsi que les étapes de, nom, etc ...et à partir de la notification de l'onglet pour sélectionner le profil que vous avez fait.
2) à partir de déclencheurs veuillez vous référer à l'exemple ci-dessous.
Vous pouvez le faire avec un curseur également.
En supposant que vous avez créé un Compte et un Profil, par exemple "profil" et d'un Compte et que vous avez la table qui contient les e-mails prêt par exemple "EmailMessageTable", vous pouvez effectuer les opérations suivantes:
Après que tout ce que vous avez à faire est d'exécuter la Procédure Stockée
parfois, tout ne trouve pas sp_send_dbmail directement. Vous pouvez utiliser la " base de données msdb.dbo.sp_send_dbmail' essayer
(Bon sur Windows Server 2008 R2 et est testé)
Pour envoyer un mail par le biais de SQL Server nous devons DB profil de messagerie, nous pouvons soit utiliser T-SQl ou SQL Base de données de messagerie option dans sql server pour créer un profil. Après le code ci-dessous est utilisé pour envoyer des messages par le biais de requête ou une procédure stockée.
Utiliser lien ci-dessous pour créer DB profil de messagerie
http://www.freshcodehub.com/Article/42/configure-database-mail-in-sql-server-database
http://www.freshcodehub.com/Article/43/create-a-database-mail-configuration-using-t-sql-script
HTML: