Dấu chấm than được chèn vào Email ở khoảng 1000 ký tự


9

Có một chương trình .NET sử dụng không gian tên System.Net.Main để gửi email qua SMTP.

Nó trên một trang web của khách hàng vì vậy từ đó nó sẽ đi qua (một loạt các máy chủ chuyển tiếp SMTP trước khi đến đích.

Hiện tại tôi không có thông tin về cơ sở hạ tầng phát lại / email smtp này (và việc nhận được thông tin đó sẽ khó khăn).

Ở đâu đó dọc theo dòng dấu chấm than đang được chèn vào URL dài trong email khoảng 100 ký tự từ đầu dòng.

EDIT- Thực tế đã tìm thấy khoảng 1000 ký tự trong

Điều này không xảy ra trên một hệ thống thử nghiệm hoặc hàng trăm trang web khác.

Tôi cảm thấy chắc chắn rằng đây là một cái gì đó để làm với mã thoát để phá vỡ các hàng dài.

Bất cứ ai có ý tưởng?


Phát hiện ra không phải 100 ký tự vào một liên kết, khoảng 1000 ký tự của nó vào tin nhắn. Điều này cung cấp thêm thông tin nhưng vẫn còn bí ẩn tại sao chỉ được báo cáo bởi một khách hàng. Có lẽ một số máy chủ smtp khoan dung hơn những máy chủ khác? systemwebmail.com/faq/4.4.5.aspx
Ryan

Câu trả lời:


11

Đã đánh với điều này bản thân mình.

Nếu bạn đang xây dựng một thông điệp html mà không có bất kỳ sự vận chuyển nào trong đó, bạn có thể gặp lỗi ở đâu đó xung quanh dấu 1000 ký tự.

Giải pháp là thêm một vài ký tự \ r \ n sao cho mỗi dòng nhỏ hơn 1000 (hoặc 988 nếu bạn không đếm các ký tự \ r \ n).

Xem phần 2.1.1. Giới hạn độ dài dòng của RFC 2822 để biết thêm chi tiết:

2.1.1. Giới hạn độ dài dòng

Có hai giới hạn mà tiêu chuẩn này đặt vào số lượng ký tự trong một dòng. Mỗi dòng ký tự PHẢI không quá 998 ký tự và NÊN không quá 78 ký tự, ngoại trừ CRLF.


Cảm ơn - cũng xem các cuộc thảo luận về bài đăng này - systemwebmail.com/faq/4.4.5.aspx
Ryan

RFC-2822-2.1.1 dường như là hướng dẫn và lời khuyên nhiều hơn là một quy tắc bắt buộc. Outlook dường như bị ảnh hưởng. Một số khách hàng email khác không bị ảnh hưởng bởi điều này.
YoYo

@YoYo Tôi sẽ nói Mỗi dòng ký tự PHẢI không quá 998 ký tự sẽ là một quy tắc, và NÊN không quá 78 ký tự, sẽ là hướng dẫn và lời khuyên nhiều hơn là quy tắc.
sgmoore

Vâng, từ ngữ không cho phép sự linh hoạt đó. Tôi phải đồng ý.
YoYo

0

Gói ở một số lượng ký tự nhất định thường là một vấn đề của khách hàng. Nếu bạn không nhìn thấy nó tại các trang web khác của bạn hoặc trên máy kiểm tra, tôi không nghĩ đó là mã của bạn. Xem nếu bạn không thể tìm ra ứng dụng khách nào đang được sử dụng để nhận tin nhắn - đó có thể là một thứ cũ kỹ tồi tệ tự động bao bọc ở một số lượng ký tự nhất định.


0

Có vẻ như ứng dụng .Net đang gây ra sự cố nếu sự cố không xảy ra trên nhiều trang web khác có cùng mã đang chạy. Là trang web có vấn đề đằng sau một số loại tường lửa ứng dụng hoặc thiết bị chống thư rác có thể đang theo dõi luồng smtp? Nếu vậy, có thể có một quy tắc về việc cắt ngắn các URL dài đang được kích hoạt, điều này sẽ khiến các URL trong email bị rút ngắn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.