Отправить вложения и AlternateView одним письмом
Я работаю над почтовой службой, в которой я пытаюсь отправить некоторые файлы изображений в виде вложений и приглашения календаря ics в качестве альтернативного представления. Когда я добавляю файлы во вложения, я не получаю приглашение календаря ics, но когда у меня нет вложений, я получаю приглашение календаря ics по почте. После отладки я вижу количество вложений и альтернативных представлений в объекте MailMessage. Я не получаю и вложения, и альтернативный вид в одном письме.
if (Convert.ToString(DR["ATTACHMENT"]) != "") //mail_att
{
if (DR["ATTACHMENT"].ToString().Contains("https://"))
{
var ArrAttach = DR["ATTACHMENT"].ToString().Split(';');
foreach (var MailAttach in ArrAttach)
{
// Service1.DownloadFileFromBlob(DR["IMAGE"].ToString());
var strarr = MailAttach.ToString().Split('/');
string fileName = strarr[strarr.Length - 1];
string LocalFile = ConfigurationSettings.AppSettings["MailAttachment"].ToString() + "\\" + fileName;
DownloadFileBlob(MailAttach.ToString(), LocalFile);
Att_File_Path = LocalFile;
if (File.Exists(Att_File_Path))
{
//FileStream fs1 = new FileStream(Att_File_Path, FileMode.Open, FileAccess.Read);
string filename = MailAttach.Split('/').Last();
message.Attachments.Add(new Attachment(Att_File_Path));
//message.Attachments.Add(new Attachment(fs1, filename, MediaTypeNames.Application.Octet));
FileWriter("Attachement found and attached '" + MailAttach.ToString() + "'");
}
else
{
FileWriter("Attachement not found at '" + MailAttach.ToString() + "'");
}
}
}
else
{
Att_File_Path = Convert.ToString(DR["ATTACHMENT"]);
if (File.Exists(Att_File_Path))
{
message.Attachments.Add(new Attachment(DR["ATTACHMENT"].ToString()));
}
else if (File.Exists(Att_File_Path.Replace("D:", "Z:")))
{
message.Attachments.Add(new Attachment(Att_File_Path.Replace("D:", "Z:")));
}
else
{
FileWriter("Attachement not found at '" + DR["ATTACHMENT"].ToString() + "'");
}
}
}
if (Convert.ToString(DR["SCRIPT"]) != "") //Mail_Sub
{
System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType("text/calendar");
ct.Parameters.Add("method", "REQUEST");
ct.Parameters.Add("name", "meeting.ics");
AlternateView avCal = AlternateView.CreateAlternateViewFromString(Convert.ToString(DR["SCRIPT"]), ct);
message.AlternateViews.Add(avCal);
}
Количество вложений и AlternateView в объекте MailMessage:
все еще не получил приглашение календаря ics по электронной почте:
и могу получать приглашения календаря ics, когда отправляю письмо без вложений:
Что можно сделать, чтобы получить вложения и приглашения календаря AlternateView для ics в одном письме?