2012-01-20 18 views
7

Tôi gặp sự cố với Swift_Mailer trong Symfony. Tôi đang gửi thư điện tử bằng tiếng Pháp có chứa rất nhiều ký tự "à é è". Lúc đầu, khi tôi cố gắng gửi những nhân vật này xuất hiện tốt trong ứng dụng email của tôi, nhưng trong email-khách hàng của đồng nghiệp của tôi thì họ không làm như vậy.Swift_Mailer + symfony UTF-8

Vì vậy, tôi đặt văn bản cho thư qua hàm utf8_encode và thử lại. Bây giờ nó là vica-versa. Nó cho thấy tốt trong email-khách hàng của tôi, nhưng hơi say lên trong đồng nghiệp của tôi.

Cách tốt nhất để giải quyết các vấn đề e-mail UTF-8 này với Swift_Mailer trong Symfony là gì?

Trả lời

5

Sử dụng $message->toString(); để xem liệu e-mail của bạn có được định dạng tốt hay không, nghĩa là mọi thứ đều là UTF-8 hoặc sử dụng bộ ký tự ISO Châu Âu thích hợp iso-8859-15. Bạn có thể sử dụng setCharset để cho biết những gì bạn đang thực sự sử dụng.

Bộ ký tự của thư (và các phần MIME) được đặt bằng phương pháp setCharset(). Bạn cũng có thể thay đổi mặc định toàn cầu của UTF-8 bằng cách làm việc với lớp Swift_Preferences.

Trình gửi thư nhanh sẽ mặc định thành bộ ký tự UTF-8 trừ khi có cách khác ghi đè. UTF-8 sẽ hoạt động trong hầu hết các trường hợp vì nó bao gồm tất cả các ký tự bàn phím tiêu chuẩn của Hoa Kỳ cùng với hầu hết các ký tự quốc tế .

Tuy nhiên, điều quan trọng là bạn biết ký tự nào đặt thông báo của bạn (hoặc là các phần MIME) được viết nếu không, tin nhắn của bạn có thể bị cắt hoàn toàn .

http://swiftmailer.org/docs/messages.html#setting-the-character-set

+0

Nó làm việc. Cảm ơn. – Pino