我正在尝试使用电子邮件中的脚本任务发送电子邮件,但有一些问题。 电子邮件正文超过8000个字符(HTML电子邮件),并发送一封空白电子邮件。我从一个函数中获取Body,EmailFrom,EmailTo和Subject。 (这只是一行。电子邮件的正文使用一些视图和一些计算生成)我已经读过我需要使用foreach循环容器并编辑我的脚本,但对我来说没有任何工作。
我的SSIS控制流程如下:
1.执行SQL任务:从dbo.Email_fn()中选择Body,From,To,Subject
结果集:单行
和结果集以相同的顺序映射到变量,名称为(0,1,2,3)
2:脚本任务:只读变量:我从上面选择了所有变量。
我的代码如下:(请帮我编辑我的代码):
使用System.Net.Mail; //添加了
命名空间ST_df6618207373422d961b80ca8b6a56e2 {
{
public void Main()
{
variables with hardcoded values.
String SendMailFrom = Dts.Variables["SendMailFrom"].Value.ToString();
String SendMailTo = Dts.Variables["SendMailTo"].Value.ToString();
String SendMailSubject = Dts.Variables["SendMailSubject"].Value.ToString();
String SendMailBody = Dts.Variables["SendMailBody"].Value.ToString();
String SmtpServer = Dts.Variables["SmtpServer"].Value.ToString();
String SmtpServer = Dts.Connections["My SMTP Connection Manager"].Properties["SmtpServer"].GetValue(Dts.Connections["My SMTP Connection Manager"]).ToString();
MailMessage myHtmlFormattedMail = new MailMessage(SendMailFrom, SendMailTo, SendMailSubject, SendMailBody);
myHtmlFormattedMail.IsBodyHtml = true;
SmtpClient mySmtpClient = new SmtpClient(SmtpServer);
mySmtpClient.Port = 2525;
mySmtpClient.Send(myHtmlFormattedMail);
Dts.TaskResult = (int)ScriptResults.Success;
这会发送一封空白电子邮件,因为正文超过8000个字符并被截断。我该如何纠正这个????任何帮助将不胜感激。