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 = \'测试发邮件\';
总结:四种方法都可行,遇到问题,想想其它的方法,办法总是有的!如下图所示:
【出自博客园深潭的网上家园,转载请注明作者出处】