Отправить вложения и 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 в одном письме?

0 ответов

Другие вопросы по тегам