Tôi đang gửi email bằng khuôn khổ dotnet. Đây là mẫu mà tôi đang sử dụng để tạo thông báo:
Date of Hire: %HireDate%
Annual Salary: %AnnualIncome%
Reason for Request: %ReasonForRequest%
Name of Voluntary Employee: %FirstName% %LastName%
Total Coverage Applied For: %EECoverageAmount%
Guaranteed Coverage Portion: %GICoveragePortion%
Amount Subject to Medical Evident: %GIOverage%
Khi nhận được tin nhắn trong outlook, outlook cho tôi biết "Các ngắt dòng bổ sung trong thư này đã bị xóa". Và thông báo hiển thị như sau:
Date of Hire: 9/28/2001
Annual Salary: $100,000
Reason for Request: New Hire
Name of Voluntary Employee: Ronald Weasley Total Coverage Applied For: $500,000 Guaranteed Coverage Portion: $300,000.00 Amount Subject to Medical Evident: $200,000
Lưu ý cách Outlook loại bỏ không chính xác các ngắt dòng cần thiết sau tên, EECoverageAmount, v.v.
Điều quan trọng là người nhận email phải nhận được email được định dạng chính xác và tôi phải giả định rằng một số người trong số họ sử dụng outlook 2003. Tôi cũng không thể cho rằng họ có đủ kiến thức để tắt tính năng autoclean để thư được định dạng đúng cách.
Tôi đã xem những thư này trong các ứng dụng thư khác và chúng hiển thị chính xác
một số thông tin thêm:
- Tôi đang sử dụng UTF-8 BodyEncoding (msg.BodyEncoding = System.Text.Encoding.UTF8)
- Msg.Body đang được đọc từ tệp văn bản được mã hóa UTF-8 và mỗi dòng được kết thúc bằng một crlf.
Câu hỏi: Làm cách nào để thay đổi định dạng của thư để tránh sự cố này?
\r\n
. Nó đã làm việc cho tôi.