SSIS 利用發送郵件服務 Send Email Task
1. 在SSIS中如何發送郵件
1.1 利用發送郵件服務
詳細設置如上圖。但是郵件發送服務器只能為公司內部郵箱或
在SSIS服務器上安裝一個SMTP服務。如網易163由於不提供填寫用戶名和密碼信息,不能使用。
1.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
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 = '測試發郵件';
總結:四種方法都可行,遇到問題,想想其它的方法,辦法總是有的!如下圖所示:
【出自博客園深潭的網上家園,轉載請注明作者出處】