-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Description
Step to reproduce:
- create a MailMessage with an attachment
- serialize to FileStream using BinaryFormatter
- deserialize using BinaryFormatter
- serialize to a new different file
- deserialize and then you got the exception
Code example:
public static void Serialize(MailMessage message, string file)
{
using (var stream = new FileStream(file, FileMode.Create))
{
new BinaryFormatter().Serialize(stream, (SerializableMailMessage)message);
}
}
public static MailMessage Deserialize(string file)
{
using (var stream = File.OpenRead(file))
{
return (SerializableMailMessage)new BinaryFormatter().Deserialize(stream);
}
}
static void Main(string[] args)
{
using (var mail = new MailMessage())
{
mail.Attachments.Add(new Attachment(@"c:\temp\attachment.pdf"));
mail.From = new MailAddress("from@domain.com");
mail.To.Add("to@domain.com");
mail.Subject = "subject";
mail.Body = "body";
Serialize(mail, @"c:\temp\mail.bin");
}
MailMessage tmp = Deserialize(@"c:\temp\mail.bin");
Serialize(tmp, @"c:\temp\tmp.bin");
Deserialize(@"c:\temp\tmp.bin"); // <-- System.FormatException
}Exception details:
System.FormatException was unhandled
HResult=-2146233033
IsTransient=false
Message=The date is in an invalid format.
Source=System
StackTrace:
at System.Net.Mime.SmtpDateTime.ParseValue(String data, String& timeZone)
at System.Net.Mime.SmtpDateTime..ctor(String value)
at System.Net.Mime.ContentDisposition.<.cctor>b__0(Object value)
at System.Net.TrackingValidationObjectDictionary.PersistValue(String key, String value, Boolean addValue)
at System.Net.TrackingValidationObjectDictionary.Add(String key, String value)
at S22.Mail.SerializableAttachment.op_Implicit(SerializableAttachment attachment)
at S22.Mail.SerializableMailMessage.op_Implicit(SerializableMailMessage message)
at ConsoleApplication3.Program.Deserialize(String file) in c:\..\Program.cs:line 34
at ConsoleApplication3.Program.Main(String[] args) in c:\..\Program.cs:line 53
InnerException:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels