SqlServer发送邮件

每天上班。打开电脑,总是先看看数据库的运行情况,看看日志。于是就想利用是SqlServer自身的邮件系统,每天给自己定时发邮件,提高一点效率。

SqlServer图形化界面比较强大,配置发送邮件也比较简单(我是2012版):

一、启用Database Mail XPs功能

a、查看状态

select name,value, description,is_dynamic,is_advanced
from sys.configurations
where name like '%mail%'

(value值为1,表示服务启动了。)

b、启动服务 

sp_configure 'show advanced options',1
go
reconfigure
go
 
sp_configure 'Database Mail XPs',1
go
reconfigure
go


二、配置数据库邮件文件

a、新建数据库文件


b、默认下一步到,配置数据库文件


c、默认下一步,注意选择“公共”


d、默认下一步,完成配置


二、发送邮件

脚本方式:

DECLARE @conetent VARCHAR(8000);                 --存放邮件正文
 
--设置发送的正文 
SELECT  @conetent = 'hellow world !!!' ;   
  
 
--发送邮件  
EXEC msdb.dbo.sp_send_dbmail 
     @profile_name = 'wxzhou',                    --配置文件名称
     @recipients = 'wxzhou@iflytek.com',          --收件email地址
     @subject = '第一次发SqlServer数据库邮件',       --邮件主题
     @body = @conetent                            --邮件正文内容

除了脚本的形式,还有一个简单的测试方法:

查看发送成功的邮件:


三、日志查看与常见问题

a、日志查看:


b、常见问题

1、发送邮件后,会有一段时间的延迟,可能需要等几分钟,邮件才能发送成功。

2、SqlServer服务器需要连接外网(邮件服务器在外网时),你可以用web访问以下邮箱的服务器,看看能不能通。

3、有些邮件服务器会关闭stmp访问,这时候需要开启才能发送邮件:

163mail-JPG.jpg

4、防火墙的开启可能或影响到邮件的发送。

5、在网上看到有些杀毒软件也会影响到邮件的发送。

总结一下,不过是两种问题

网络问题:可以通过其他的方式发邮件,发送成功,就说明是SqlServer服务器问题,在继续排查。






  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.使用 MSSQLServer 服务会用到的用户帐户登录到 Microsoft Windows NT? 4.0 或 Windows? 2000 上。该用户帐户必须是本地计算机的管理员和域帐户。 2.确认 Exchange Server 客户端 (Exchnge32.exe) 或 Microsoft Outlook? 客户端 (Outlook.exe) 能够连接到 Exchange Server 而且能够发送电子邮件。如果使用 Outlook,确保 Outlook 安装时选择了 "用于企业或工作组 "选项。 3.确认所用的 Exchange Server 配置文件中没有个人消息存储 (.pst)。Exchange Server 配置文件的名字不应超过 32 个字符。 4.在 "服务 "选项卡上,确认 Microsoft Exchange Server 和个人通讯簿是唯一可用的服务,然后单击 "发送 "选项卡。确认 "发送到 "框中选定的内容是 Exchange Server 中的邮箱,它应该有一个类似于 "邮箱 - <友好的用户名 > "的名字(其中 <友好的用户名 >是在第一步中登录到 Windows NT 4.0 或 Windows 2000 的用户名)。 5.要运行带有 Exchange Server 的 "SQL 邮件 ",MSSQLServer 服务必须在第一步中登录的同一个用户帐户下运行。在 "控制面板 "中,双击 "服务 ",选择 MSSQLServer 服务,然后单击 "启动 "。 6.确认 "SQL 邮件 "的配置文件是否正确。在 SQL Server 企业管理器中,展开服务器,展开 "支持服务 "文件夹,选择 "SQL 邮件 ",然后用右键单击。单击 "属性 ",然后在 "常规 "选项卡上,确保 "配置文件名 "框中指定的配置文件名正确。(事件探查器名必须与第三步中用到的配置文件名匹配。)单击 "测试 ",验证配置文件设置正确。 7.如果 "SQL 邮件 "无法启动(例如,显示错误信息指出配置文件不正确),请检查设置确保未将 Outlook Express 设置为默认的电子邮件客户程序。在 "控制面板 "中双击 "Internet "选项。在 "程序 "选项卡中,验证 Outlook Express 不在电子邮件组合框中。如果不得不将默认的电子邮件客户程序更改为 Outlook Express 以外的客户程序,那么,可能需要先验证 "SQL 邮件 "能够用邮件配置文件启动,然后再停止并重新启动 MSSQLServer 服务。 在有些情况下,邮件的配置文件可能会损坏而且 "SQL 邮件 "将无法使用它。要更正这个问题,需要把配置文件复制到另一个文件名下,或重新创建配置文件。 8.如果用来启动 Microsoft SQL Server? 的帐户没有权限访问 Exchange 服务器,那么就无法使用 "SQL 邮件 "。执行 xp_cmdshell 来测试 SQL Server 对 Exchange Server 的访问权限,它执行与 "SQL 邮件 "相同的权限。使用下面的命令测试对服务器的连接,假定 Exchange Server 位于名为 "MyServer "的计算机上。
SQL Server 中,可以使用 SQL Server Agent 和 Database Mail 功能来发送电子邮件。下面是一个简单的步骤指南: 1. 配置 SQL Server Agent: - 打开 SQL Server Management Studio (SSMS),连接到 SQL Server 实例。 - 在“对象资源管理器”窗口中,展开“SQL Server代理”节点,右键单击“邮件”,选择“管理辅助任务”。 - 在“SQL Server代理任务向导”中,选择“添加辅助任务”。 - 在“辅助任务”页面上,选择“发送电子邮件”辅助任务,并点击“下一步”。 - 在“发送电子邮件”页面上,输入任务名称和描述,并点击“完成”。 2. 配置 Database Mail: - 在 SSMS 中,展开“管理”节点,右键单击“Database Mail”,选择“配置 Database Mail”。 - 在“Database Mail 配置向导”中,选择“启用 Database Mail”并点击“下一步”。 - 在“配置新配置文件”页面上,输入配置文件名称和描述,并点击“添加”。 - 在“编辑配置文件”页面上,输入 SMTP 服务器的名称、端口和发件人地址。点击“确定”。 - 在“配置新配置文件”页面上,选择刚刚创建的配置文件,并点击“下一步”。 - 在“配置新配置文件”页面上,选择“公共配置文件”,并点击“下一步”。 - 在“配置 Database Mail”页面上,点击“下一步”,然后点击“完成”。 3. 创建一个作业: - 在 SSMS 中,展开“SQL Server 代理”节点,展开“作业”节点,右键单击“新建作业”。 - 在“新建作业”对话框中,输入作业名称和描述。 - 在“步骤”页面上,点击“新建”。 - 在“新建步骤”对话框中,输入步骤名称、选择数据库和输入 T-SQL 脚本来执行发送邮件的操作。例如: ```sql EXEC msdb.dbo.sp_send_dbmail @profile_name = 'YourDatabaseMailProfile', @recipients = 'recipient@example.com', @subject = 'Test Email', @body = 'This is a test email from SQL Server.' ``` 替换 `YourDatabaseMailProfile` 为你在第二步中创建的配置文件名称。 - 点击“确定”。 - 在“调度”页面上,选择你想要执行作业的时间表。如果需要立即执行,可以点击“立即”。 - 点击“确定”。 现在,当作业按计划运行时,它将发送一封电子邮件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值