Я пытаюсь прикрепить изображение к моей электронной почте.Я делаю это так.
SmtpClient smtpClient = new SmtpClient();
MailMessage mailDSS = new MailMessage();
//Setting From , To and CC
mailDSS.From = new MailAddress(billModel.Email, "from: " + billModel.Email);
mailDSS.To.Add(new MailAddress("username@email.com"));
mailDSS.Subject = "This is my subject";
mailDSS.Attachments.Add(new Attachment(billModel.UploadedBill.Path + billModel.UploadedBill.Filename));
mailDSS.Attachments.Add(aAttachment);
mailDSS.Body = "This is the content :" + billModel.Name;
smtpClient.Send(mailDSS);
И это работает, но когда я пытаюсь изменить его на поток памяти, это не работает.вот что я пытаюсь заставить работать:
mailDSS.From = new MailAddress(billModel.Email, "from: " + billModel.Email);
mailDSS.To.Add(new MailAddress("username@email.com"));
mailDSS.Subject = "This is my subject";
billModel.UploadedBill.FileDataStream.Seek(0,SeekOrigin.Begin);
Attachment aAttachment = new Attachment(billModel.UploadedBill.FileDataStream, billModel.UploadedBill.Filename);
aAttachment.ContentDisposition.FileName = billModel.UploadedBill.Filename;
mailDSS.Attachments.Add(aAttachment);
mailDSS.Body = "This is the content :" + billModel.Name;
smtpClient.Send(mailDSS);
что я делаю не так?единственное различие между ними состоит в том, что один - это ссылка на файл на диске, а другой - это ссылка на файл из потока =?
BillModel - это просто класс модели домена, сделанный сериализуемым.
public class BillModel
{
public string Name { get; set; }
public string CivilRegistrationNo { get; set; }
public string Email { get; set; }
public int Phone { get; set; }
public int RegNo { get; set; }
public int AccountNo { get; set; }
public string PaymentGuarentee { get; set; }
[XmlIgnore]
public MemoryFileStream UploadedBill { get; set; }
}
Редактировать: сообщений об ошибках нет, электронное письмо отправляется нормально во вложении, однако по прибытии оно занимает всего 227 байт, где вложения должны были занимать 20 килобайт.Поэтому я не знаю, как я могу описать свою проблему более ясно.Моя отладка сводится к тому, что я пробовал разные подходы, некоторые из них не работали, некоторые - небольшое изменение вышеупомянутогоУ всех одна и та же проблема с повреждением файла.
Если есть что-то конкретное, что вам нужно, чтобы я показал, чтобы помочь мне, я буду рад предоставить, но я не вижу, что еще я могу показать?Это просто не работает, как я хотел.