c#-ssis任务-发送邮件失败

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

我有一个ssis包,我试图通过脚本任务向用户列表发送电子邮件。 我能够成功地向1000个用户发送邮件,但其中10个用户出现了错误。我正试图调试这个问题。不过,电子邮件ID没有任何问题。请在下面找到代码片段。任何指针都会非常有用

 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个错误不在同一批中。我可以通过日志时间来确认这一点。