SSIS 利用發送郵件服務 Send Email Task
1. 在SSIS中如何發送郵件
1.1 利用發送郵件服務
詳細設置如上圖。可是郵件發送服務器只能爲公司內部郵箱或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 = '測試發郵件';
總結:四種方法均可行,遇到問題,想一想其它的方法,辦法老是有的!以下圖所示:
【出自博客園深潭的網上家園,轉載請註明做者出處】