利用SSIS发送邮件

 

SSIS 利用发送邮件服务 Send Email Task

 

1. 在SSIS中如何发送邮件

1.1 利用发送邮件服务

截图02.jpg

 

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

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

 

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

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

Imports System服务器

Imports System.Datapost

Imports System.Math测试

Imports System.Net.Mailurl

Imports System.Netspa

Imports Microsoft.SqlServer.Dts.Runtime.net

 

Public Class ScriptMaincode

 

     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

 

1.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

 

 

1.4 执行 SQL 任务 发送163邮件

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

如何配置请参加个人另外一篇文章:

http://blog.csdn.net/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 = '测试发邮件';

 

截图03.jpg

 

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

截图05.jpg

 【出自博客园深潭的网上家园,转载请注明做者出处】

做者: 古井 出处: http://www.cnblogs.com/dbasys/ 本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。
相关文章
相关标签/搜索