Мой метод отправляет электронное письмо с использованием SMTP Relay Server.C# Отправка электронной почты с прикрепленным файлом (изображение)
Все работает нормально (отправляется электронное письмо), за исключением того, что прикрепленный файл (изображение) каким-то образом сжат/не существует и не может извлечь из письма.
Метод выглядит следующим образом:
public static bool SendEmail(HttpPostedFileBase uploadedImage)
{
try
{
var message = new MailMessage() //To/From address
{
Subject = "This is subject."
Body = "This is text."
};
if (uploadedImage != null && uploadedImage.ContentLength > 0)
{
System.Net.Mail.Attachment attachment;
attachment = new System.Net.Mail.Attachment(uploadedImage.InputStream, uploadedImage.FileName);
message.Attachments.Add(attachment);
}
message.IsBodyHtml = true;
var smtpClient = new SmtpClient();
//SMTP Credentials
smtpClient.Send(message);
return true;
}
catch (Exception ex)
{
//Logg exception
return false;
}
}
- uploadedImage не равно нулю.
- ContentLength - 1038946 байт (правильный размер).
Однако отправленное электронное письмо содержит изображение в виде вложения с правильным именем файла, хотя размер его составляет 0 байт.
Что мне не хватает?
Во-первых: Спасибо за Ваше мнение. Второе: также не работало с параметром ContentType. – ChrisRun
@ChrisRun, я отредактировал свой предыдущий ответ с рабочим кодом. Дайте мне знать, если это сработает для вас. – Eulogy
извините, все еще не работает. Единственное решение, которое я нашел, это сначала сохранить файл на сервере, а затем установить путь к физическому расположению этого файла. – ChrisRun