


Partagez l'exemple de code SQL Server pour l'envoi d'e-mails à l'aide de déclencheurs
Cet article vous donne une introduction détaillée étape par étape à la façon dont SQL Server utilise les déclencheurs pour envoyer des e-mails. Les amis dans le besoin peuvent se référer à
sql utilise la procédure stockée système sp_send_dbmail pour envoyer des e-mails, syntaxe :
sp_send_dbmail [ [ @profile_name = ] 'profile_name' ] [ , [ @recipients = ] 'recipients [ ; ...n ]' ] [ , [ @copy_recipients = ] 'copy_recipient [ ; ...n ]' ] [ , [ @blind_copy_recipients = ] 'blind_copy_recipient [ ; ...n ]' ] [ , [ @subject = ] 'subject' ] [ , [ @body = ] 'body' ] [ , [ @body_format = ] 'body_format' ] [ , [ @importance = ] 'importance' ] [ , [ @sensitivity = ] 'sensitivity' ] [ , [ @file_attachments = ] 'attachment [ ; ...n ]' ] [ , [ @query = ] 'query' ] [ , [ @execute_query_database = ] 'execute_query_database' ] [ , [ @attach_query_result_as_file = ] attach_query_result_as_file ] [ , [ @query_attachment_filename = ] query_attachment_filename ] [ , [ @query_result_header = ] query_result_header ] [ , [ @query_result_width = ] query_result_width ] [ , [ @query_result_separator = ] 'query_result_separator' ] [ , [ @exclude_query_output = ] exclude_query_output ] [ , [ @append_query_error = ] append_query_error ] [ , [ @query_no_truncate = ] query_no_truncate ] [ , [ @mailitem_id = ] mailitem_id ] [ OUTPUT ]
Démarrer la configuration de SQL pour envoyer des e-mails :
Étape 1 :
-- 启用 sql server 邮件的功能 exec sp_configure 'show advanced options',1 go reconfigure; go exec sp_configure 'Database Mail XPs',1 go reconfigure; go
Si l'exécution de l'instruction ci-dessus échoue, vous pouvez également utiliser l'instruction suivante.
-- 启用 sql server 邮件的功能 exec sp_configure 'show advanced options', 1 go reconfigure with override go exec sp_configure 'Database Mail XPs', 1 go reconfigure with override go
Utilisez l'instruction suivante pour vérifier si la fonction de messagerie de la base de données est activée avec succès et les informations de configuration de la base de données :
-- 查询数据库的配置信息 select * from sys.configurations -- 查看数据库邮件功能是否开启,value 值为1表示已开启,0为未开启 select name,value,description, is_dynamic,is_advanced from sys.configurations where name like '%mail%'
Étape 2 :
if exists(SELECT * FROM msdb..sysmail_account WHERE NAME='test') --判断邮件账户名为 test 的账户是否存在 begin EXEC msdb..sysmail_delete_account_sp @account_name='test' -- 删除邮件账户名为 test 的账户 end exec msdb..sysmail_add_account_sp --创建邮件账户 @account_name = 'test' -- 邮件帐户名称 ,@email_address = '980095349@qq.com' -- 发件人邮件地址 ,@display_name = 'Brambling' -- 发件人姓名 ,@replyto_address = null -- 回复地址 ,@description = null -- 邮件账户描述 ,@mailserver_name = 'smtp.qq.com' -- 邮件服务器地址 ,@mailserver_type = 'SMTP' -- 邮件协议 ,@port = 25 -- 邮件服务器端口 ,@username = '980095349@qq.com' -- 用户名 ,@password = 'xxxxxx' -- 密码 ,@use_default_credentials = 0 -- 是否使用默认凭证,0为否,1为是 ,@enable_ssl = 1 -- 是否启用 ssl 加密,0为否,1为是 ,@account_id = null -- 输出参数,返回创建的邮件账户的ID
PS : Si vous utilisez la boîte aux lettres QQ, pensez à définir la valeur du paramètre @enable_ssl à 1. Sinon, une erreur de serveur sera signalée plus tard. Cette erreur m'a longtemps dérangé, et j'ai finalement trouvé la raison.
Troisième étape :
if exists(SELECT * FROM msdb..sysmail_profile where NAME = N'SendEmailProfile') --判断名为 SendEmailProfile 的邮件配置文件是否存在 begin exec msdb..sysmail_delete_profile_sp @profile_name = 'SendEmailProfile' --删除名为 SendEmailProfile 的邮件配置文件 end exec msdb..sysmail_add_profile_sp -- 添加邮件配置文件 @profile_name = 'SendEmailProfile', -- 配置文件名称 @description = '数据库发送邮件配置文件', -- 配置文件描述 @profile_id = NULL -- 输出参数,返回创建的邮件配置文件的ID
Quatrième étape :
-- 邮件账户和邮件配置文件相关联 exec msdb..sysmail_add_profileaccount_sp @profile_name = 'SendEmailProfile', -- 邮件配置文件名称 @account_name = 'test', -- 邮件账户名称 @sequence_number = 1 -- account 在 profile 中的顺序,一个配置文件可以有多个不同的邮件账户
D'accord, va ici sql envoyer un e-mail Le la configuration est pratiquement terminée. Créez un déclencheur ci-dessous pour envoyer un e-mail à l'utilisateur une fois que celui-ci s'est inscrit avec succès.
Créez d'abord une table :
-- 创建一个表 create table T_User ( UserID int not null identity(1,1) primary key, UserNo nvarchar(64) not null unique, UserPwd nvarchar(128) not null , UserMail nvarchar(128) null ) go
Ensuite, créez un type d'insertion après le déclencheur :
create trigger NewUser_Send_Mail on T_User after insert as declare @UserNo nvarchar(64) declare @title nvarchar(64) declare @content nvarchar(320) declare @mailUrl nvarchar(128) declare @count int select @count=COUNT() from inserted select @UserNo=UserNo,@mailUrl=UserMail from inserted if(@count>0) begin set @title='注册成功通知' set @content='欢迎您'+@UserNo+'!您已成功注册!通知邮件,请勿回复!' exec msdb.dbo.sp_send_dbmail @profile_name='SendEmailProfile', -- 邮件配置文件名称 @recipients=@mailUrl, -- 邮件发送地址 @subject=@title, -- 邮件标题 @body=@content, --邮件内容 @body_format='text' -- 邮件内容的类型,text 为文本,还可以设置为 html end go
Testons-le maintenant :
-- 新添加一条数据,用以触发 insert 触发器 insert into T_User(UserNo,UserPwd,UserMail) values('demo1','123456','1171588826@qq.com')
Après avoir exécuté l'instruction ci-dessus, vous recevrez l'e-mail dans environ deux ou trois secondes (si aucune erreur ne se produit). Si vous ne recevez pas l'e-mail, vous pouvez utiliser la déclaration suivante pour vérifier l'état de livraison de l'e-mail.
use msdb go select * from sysmail_allitems -- 邮件发送情况,可以用来查看邮件是否发送成功 select * from sysmail_mailitems -- 发送邮件的记录 select * from sysmail_event_log -- 数据库邮件日志,可以用来查询是否报错
use msdb go --为角色名为 dba 的角色赋予发送数据库邮件的权限 create user dba for login dba go exec dbo.sp_addrolemember @rolename = 'DatabaseMailUserRole', @membername = 'dba' go use msdb go --为角色名为 dba 的角色赋予配置文件发送邮件的权限 exec sysmail_add_principalprofile_sp @principal_name = 'dba', -- 角色名称 @profile_name = 'SendEmailProfile', -- 配置文件名称 @is_default = 1 -- 对于角色所拥有的配置文件的顺序,一个数据库角色可以有多个配置文件的权限
Si le rôle utilisé pour se connecter à la session de base de données n'a pas l'autorisation d'envoyer des e-mails à la base de données, une erreur sera également signalée. Ce qui précède est donc l'instruction SQL qui donne au rôle l'autorisation d'envoyer des e-mails à la base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Microsoft SQL Server est un système de gestion de base de données relationnelle lancé par Microsoft. Il s'agit d'une plate-forme de base de données complète qui utilise des outils de business intelligence (BI) intégrés pour fournir une gestion des données au niveau de l'entreprise. Elle est facile à utiliser, a une bonne évolutivité et a un niveau élevé. degré d'intégration avec les logiciels associés. Avantages élevés. Le moteur de base de données SQL Server fournit des fonctions de stockage plus sécurisées et plus fiables pour les données relationnelles et les données structurées, permettant aux utilisateurs de créer et de gérer des applications de données hautement disponibles et performantes pour les entreprises.

SQLServer ou MySQL ? Les dernières recherches révèlent la meilleure sélection de bases de données. Ces dernières années, avec le développement rapide d'Internet et du Big Data, la sélection de bases de données est devenue un problème important auquel sont confrontés les entreprises et les développeurs. Parmi les nombreuses bases de données, SQL Server et MySQL, qui sont les deux bases de données relationnelles les plus courantes et les plus utilisées, sont très controversées. Alors, entre SQLServer et MySQL, lequel choisir ? Les dernières recherches nous éclairent sur ce problème. Tout d'abord, laissez

Introduction à l'utilisation de PDO pour se connecter à une base de données Microsoft SQL Server : PDO (PHPDataObjects) est une interface unifiée pour accéder aux bases de données fournies par PHP. Il offre de nombreux avantages, tels que la mise en œuvre d'une couche d'abstraction de la base de données et la possibilité de basculer facilement entre différents types de bases de données sans modifier une grande quantité de code. Cet article explique comment utiliser PDO pour se connecter à une base de données Microsoft SQL Server et fournit quelques exemples de code associés. étape

Avec la popularité d’Internet, le développement de sites Web et d’applications est devenu l’activité principale de nombreuses entreprises et particuliers. Les bases de données PHP et SQLServer sont deux outils très importants. PHP est un langage de script côté serveur qui peut être utilisé pour développer des sites Web dynamiques ; SQLServer est un système de gestion de bases de données relationnelles développé par Microsoft et propose un large éventail de scénarios d'application. Dans cet article, nous aborderons le développement de PHP et SQL Server, ainsi que leurs avantages, inconvénients et méthodes d'application. Tout d'abord, commençons

Dans le développement Web, la combinaison de PHP et MySQL est très courante. Cependant, dans certains cas, nous devons nous connecter à d’autres types de bases de données, comme SQL Server. Dans cet article, nous aborderons cinq manières différentes de se connecter à SQL Server à l'aide de PHP.

SQL Server vs MySQL : quelle base de données est la plus adaptée à une architecture haute disponibilité ? Dans le monde actuel axé sur les données, la haute disponibilité est l'une des nécessités pour créer des systèmes fiables et stables. En tant que composant essentiel du stockage et de la gestion des données, la haute disponibilité de la base de données est cruciale pour le fonctionnement commercial de l'entreprise. Parmi les nombreuses bases de données, SQLServer et MySQL sont des choix courants. Alors en termes d’architecture haute disponibilité, quelle base de données est la plus adaptée ? Cet article comparera les deux et donnera quelques suggestions.

SQLServer et MySQL sont actuellement deux systèmes de gestion de bases de données relationnelles (SGBDR) très populaires. Ce sont tous deux des outils puissants pour stocker et gérer des données à grande échelle. Cependant, ils présentent certaines différences dans le traitement des données à grande échelle. Cet article comparera SQL Server et MySQL, en se concentrant sur leur adéquation au traitement de données à grande échelle. Tout d’abord, comprenons les caractéristiques de base de SQLServer et MySQL. SQLServer est développé par Microsoft

Avec le développement continu d’Internet, la sélection des bases de données est devenue de plus en plus importante. Parmi les nombreuses bases de données, SQLServer et MySQL sont deux options de premier plan. SQLServer est un système de gestion de bases de données relationnelles développé par Microsoft, tandis que MySQL est un système de gestion de bases de données relationnelles open source. Alors comment choisir la meilleure solution de base de données entre SQLServer et MySQL ? Tout d’abord, nous pouvons comparer ces deux bases de données en termes de performances. SQLServer est en train de traiter
