c#-ssis任务-发送邮件失败
我有一个ssis包,我试图通过脚本任务向用户列表发送电子邮件。 我能够成功地向1000个用户发送邮件,但其中10个用户出现了错误。我正试图调试这个问题。不过,电子邮件ID没有任何问题。请在下面找到代码片段。任何指针都会非常有用c#-ssis任务-发送邮件失败,c#,.net,ssis,.net-4.0,smtp,C#,.net,Ssis,.net 4.0,Smtp,我有一个ssis包,我试图通过脚本任务向用户列表发送电子邮件。 我能够成功地向1000个用户发送邮件,但其中10个用户出现了错误。我正试图调试这个问题。不过,电子邮件ID没有任何问题。请在下面找到代码片段。任何指针都会非常有用 private void SendMailMessage(string SendTo, string SendCC, string SendBCC, string From, string Subject, string Body, bool IsBodyHtml, s
private void SendMailMessage(string SendTo, string SendCC, string SendBCC, string From, string Subject, string Body, bool IsBodyHtml, string Server, string FileAttachment)
//private void SendMailMessage(string SendTo, string From, string Subject, string Body, bool IsBodyHtml, string Server)
{
SmtpClient mySmtpClient;
String[] splittedAddresses;
MailMessage htmlMessage;
StringBuilder sbAddresses = new StringBuilder();
//emails in a batch.
int numberOfEmails = 10;
int totalEmails = 0;
//take all the addressess and append them into one whole object.
if (!String.IsNullOrEmpty(SendTo))
{
sbAddresses.Append(SendTo);
}
if (!String.IsNullOrEmpty(SendCC))
{
if (sbAddresses.Length > 0)
{
sbAddresses.Append(String.Format(",{0}", SendCC));
}
else
{
sbAddresses.Append(SendCC);
}
}
if(!String.IsNullOrEmpty(SendBCC))
{
if (sbAddresses.Length > 0)
{
sbAddresses.Append(String.Format(",{0}", SendBCC));
}
else
{
sbAddresses.Append(SendBCC);
}
}
mySmtpClient = new SmtpClient(Server);
splittedAddresses = sbAddresses.ToString().Split(new char [] {','}, StringSplitOptions.RemoveEmptyEntries);
//Send the email in batches of #numberOfEmails
while (totalEmails < splittedAddresses.Length)
{
IEnumerable<String> emailRecipients = splittedAddresses.Skip(totalEmails).Take(numberOfEmails);
CreateMailMessage(From, Subject, Body, IsBodyHtml, FileAttachment, out htmlMessage);
foreach(string email in emailRecipients)
{
htmlMessage.Bcc.Add(new MailAddress(email));
}
mySmtpClient.Send(htmlMessage);
totalEmails += emailRecipients.Count();
}
//mySmtpClient.Credentials = CredentialCache.DefaultNetworkCredentials;
}
private static void CreateMailMessage(string From, string Subject, string Body, bool IsBodyHtml, string FileAttachment, out MailMessage htmlMessage)
{
htmlMessage = new MailMessage();
htmlMessage.From = new MailAddress(From);
htmlMessage.Subject = Subject;
htmlMessage.Body = Body;
htmlMessage.IsBodyHtml = IsBodyHtml;
htmlMessage.Attachments.Add(new Attachment(FileAttachment));
}
private void SendMailMessage(string SendTo、string SendCC、string SendBCC、string From、string Subject、string Body、bool IsBodyHtml、string Server、string FileAttachment)
//私有void SendMailMessage(字符串SendTo、字符串From、字符串主题、字符串正文、bool IsBodyHtml、字符串服务器)
{
SmtpClient mySmtpClient;
字符串[]拆分地址;
邮件信息;
StringBuilder sbAddresses=新的StringBuilder();
//成批发送电子邮件。
int numberofemail=10;
整数=0;
//获取所有的addressess并将它们附加到一个完整的对象中。
如果(!String.IsNullOrEmpty(SendTo))
{
sbAddresses.Append(SendTo);
}
如果(!String.IsNullOrEmpty(SendCC))
{
如果(sbAddresses.Length>0)
{
追加(String.Format(“,{0}”,SendCC));
}
其他的
{
sbAddresses.Append(SendCC);
}
}
如果(!String.IsNullOrEmpty(SendBCC))
{
如果(sbAddresses.Length>0)
{
追加(String.Format(“,{0}”,SendBCC));
}
其他的
{
sbAddresses.Append(SendBCC);
}
}
mySmtpClient=新的SmtpClient(服务器);
splittedAddresses=sbAddresses.ToString().Split(新字符[]{',},StringSplitOptions.RemoveEmptyEntries);
//以#个电子邮件的数量批量发送电子邮件
while(totalEmails
我看到你是以10封邮件的形式发送的。你能检查一下这10个错误是否与上一封邮件有关吗?谢谢你的回复。这10个错误不在同一批中。我可以通过日志时间来确认这一点。