Phương thức của tôi sẽ gửi email bằng Máy chủ chuyển tiếp SMTP.C# Gửi email có tệp đính kèm (hình ảnh)
Mọi thứ hoạt động tốt (email được gửi), ngoại trừ tệp đính kèm (hình ảnh) bằng cách nào đó được nén/không tồn tại và không thể truy xuất từ email.
Phương pháp này trông như thế này:
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;
}
}
- Các uploadedImage không phải là null.
- Độ dài nội dung là 1038946 byte (kích thước chính xác).
Tuy nhiên, email được gửi chứa hình ảnh dưới dạng tệp đính kèm với tên tệp chính xác, mặc dù kích thước của nó là 0 byte.
Tôi đang thiếu gì?
Đầu tiên: Cảm ơn bạn cho ý kiến của bạn. Thứ hai: Không hoạt động với tham số ContentType làm tham số. – ChrisRun
@ChrisRun, tôi đã chỉnh sửa câu trả lời trước đó của tôi bằng mã làm việc. Hãy cho tôi biết nếu nó làm việc cho bạn. – Eulogy
xin lỗi, vẫn không hoạt động. Giải pháp duy nhất tôi tìm thấy trước tiên là lưu tệp trên máy chủ và sau đó đặt đường dẫn đến vị trí thực của tệp đó. – ChrisRun