0
別のメールに添付される前に受け取ったメールを圧縮しようとしています。だから私はジップ部分にこだわっている。 zipしようとしているオブジェクトはCOMオブジェクトであり、シリアル化をサポートしていません。これで進歩を助けることができるアイデアは大歓迎です!VSTO Outlookアドイン:Zip COMオブジェクト
そして、これまでのコード(selObjectは、COMオブジェクトです):MSGファイルとして
private void Report_Malicious_Email_Click(object sender, RibbonControlEventArgs e)
{
// selObject este mailul selectat
Object selObject = this.Application.ActiveExplorer().Selection[1];
if (selObject is Outlook.MailItem) // de aici incepe logica pentru forward cu atasament!
{
using (MemoryStream msCompressed = new MemoryStream())
using (GZipStream gZipStream = new GZipStream(msCompressed, CompressionMode.Compress))
using (MemoryStream msDecompressed = new MemoryStream())
{
new BinaryFormatter().Serialize(msDecompressed, selObject);
byte[] byteArray = msDecompressed.ToArray();
gZipStream.Write(byteArray, 0, byteArray.Length);
gZipStream.Close();
msCompressed.ToArray();
}
Outlook.MailItem eMail =
(Outlook.MailItem)this.Application.CreateItem(Outlook.OlItemType.olMailItem);
eMail.Subject = subjectEmail;
eMail.To = toEmail;
eMail.Body = bodyEmail;
eMail.Attachments.Add(selObject);
eMail.Send();
}
}