在SSIS中如何发送邮件

本文介绍了四种使用SQL Server Integration Services (SSIS)发送邮件的方法,包括通过邮件服务器、脚本任务及SQL任务等不同途径实现邮件通知功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 利用发送邮件服务

 

详细设置如上图。但是邮件发送服务器只能为公司内部邮箱或

SSIS服务器上安装一个SMTP服务。如网易163由于不提供填写用户名和密码信息,不能使用。

 

2 利用脚本任务发送公司内部邮箱

以下代码用的是公司内部邮箱,认证方式为CredentialCache.DefaultNetworkCredentials

Imports System

Imports System.Data

Imports System.Math

Imports System.Net.Mail

Imports System.Net

Imports Microsoft.SqlServer.Dts.Runtime

 

Public Class ScriptMain

 

     Public Sub Main()

         '

         ' Add your code here

        '

        Dim myHtmlMessage As MailMessage

        Dim mySmtpClient As SmtpClient

 

 

        myHtmlMessage = New MailMessage("qiangguo@test.com", "qiangguo@test.com", "Subject", "body")

        mySmtpClient = New SmtpClient("mail.test.com")

        mySmtpClient.Credentials = CredentialCache.DefaultNetworkCredentials

        mySmtpClient.Send(myHtmlMessage)

 

         Dts.TaskResult = Dts.Results.Success

     End Sub

 

End Class

 

3 利用脚本任务发送网易163邮箱

以下代码用的是网易163邮箱,认证方式为System.Net.NetworkCredential("用户名", "密码")

 

Imports System

Imports System.Data

Imports System.Math

Imports System.Net.Mail

Imports System.Net

Imports Microsoft.SqlServer.Dts.Runtime

 

Public Class ScriptMain

 

     Public Sub Main()

         '

         ' Add your code here

        '

        Dim myHtmlMessage As MailMessage

        Dim mySmtpClient As SmtpClient

 

 

        myHtmlMessage = New MailMessage("xxx@163.com", " qiangguo@test.com", "Subject", "body")

        mySmtpClient = New SmtpClient("smtp.163.com")

        'mySmtpClient.Credentials = CredentialCache.DefaultNetworkCredentials

        mySmtpClient.Credentials = New System.Net.NetworkCredential("用户名", "密码")

        mySmtpClient.Send(myHtmlMessage)

 

         Dts.TaskResult = Dts.Results.Success

     End Sub

 

End Class

 

 

4执行 SQL 任务 发送163邮件

首先要配置sql server 2005 数据库邮件,如利用配置文件为:数据库邮件配置文件(网易163

如何配置请参加我的另一篇文章:

http://blog.youkuaiyun.com/guoqiang1983/archive/2008/05/30/2497547.aspx

sql脚本为:

msdb.dbo.sp_send_dbmail存储过程发送

EXEC msdb.dbo.sp_send_dbmail

    @profile_name = '数据库邮件配置文件(网易163',

    @recipients = 'xxx@163.com',

    @body = 'ssis msdb.dbo.sp_send_dbmail测试发邮件',

@subject = '测试发邮件';

 

 

总结:四种方法都可行,遇到问题,想想其它的方法,办法总是有的!如下图所示:

 

 

参考文章:
http://www.sqlservercentral.com/articles/SSIS/62678/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值