2011-11-22 40 views
6

Chúng tôi cần có thể gửi email bằng cfmail tới địa chỉ email có chứa số a latin với ký tự cấp tính. Tôi cho rằng cuối cùng chúng tôi sẽ phải cho phép các ký tự Unicode khác - một địa chỉ email mẫu là foobá[email protected]. ColdFusion đưa ra một lỗi trên địa chỉ email này, có giá trị về mặt kỹ thuật. Vì số a cấp tính là ký tự UTF-8 và mã hóa mặc định cho cfmail là UTF-8, tôi không chắc chắn các cài đặt khác tôi cần phải bật để thực hiện tác vụ này. Điều này có thể không?Có thể gửi email đến địa chỉ chứa ký tự unicode latin bằng cfmail không?

Lỗi tôi nhận được là Lỗi xác thực thuộc tính cho thẻ CFMAIL.

Chi tiết: Giá trị của thuộc tính, hiện là foobá[email protected], không hợp lệ.

+0

Lỗi chính xác là gì? – ale

+0

@AlEverett xác nhận thuộc tính. Chỉ cần cập nhật câu hỏi. Cảm ơn! – RaeLehman

+0

Nếu tôi không nhầm, các ký tự unicode vẫn không hợp lệ đối với email. Tuy nhiên, với [RFC5322] (http://tools.ietf.org/html/rfc5322), họ đang cố gắng thay đổi điều đó. – JonLim

Trả lời

4

Tôi không phải là chuyên gia email cũng như I18N nhưng hiểu biết của tôi FWIW là các hệ thống hiện tại thường không hỗ trợ unicode trong địa chỉ email địa phương, tức là tên hộp thư trước @. Các máy chủ thư cục bộ có thể hỗ trợ và cho phép tên như foobár nội bộ, nhưng nếu người đó muốn nhận thư từ thế giới bên ngoài, họ cũng sẽ cần một bí danh ASCII chẳng hạn như foobar.

Có tuy nhiên là một cơ chế để hỗ trợ unicode trong miền phần của địa chỉ, trong đó bao gồm chuyển đổi sang một đại diện ASCII gọi punycode. Điều này có nghĩa là địa chỉ như [email protected]ár.com sẽ được chuyển thành [email protected] hệ thống thư và DNS hiện tại sẽ chấp nhận.

Có thể thực hiện chuyển đổi này trong ColdFusion bằng cách sử dụng các thư viện Java hiện có. Để biết thêm chi tiết, xem this question.

Các vấn đề liên quan