I was able to get the stream to close using one of the other .send methods, which uses an actual Stream instead of the file path in a string (and then putting that Stream in another using statement). Crisis averted.
using( Ice.Mail.SmtpMailer mailer = new Ice.Mail.SmtpMailer(this.Session))
{
using( FileStream attachmentStream = File.Open(attachmentPath, FileMode.Open))
{
var message = new Ice.Mail.SmtpMail();
message.SetFrom( GetCompanyAddressAction(ttDMRCorAct_Row.Company) );
message.SetTo(EmailTO);
message.SetCC(EmailCC);
message.SetBcc(EmailBCC);
message.SetSubject(EmailSubject);
message.SetBody(EmailBody);
message.IsBodyHtml = true;
//Add Attachments
Dictionary<string, Stream> attachments = new Dictionary<string, Stream>();
attachments.Add("CorrectiveAction" + ttDMRCorAct_Row.ActionID.ToString() + ".sysconfig" , attachmentStream);
//Send
mailer.Send(message, attachments);
}
}
File.Delete(attachmentPath);