Tôi đang cố gắng để gửi một email bằng Zend_Mail
sử dụng đoạn mã sau:Zend_Mail với các nhân vật tiếng Pháp trong thư thân
function sendMail() {
$config = array('auth' => 'login',
'username' => 'UserName',
'password' => 'Password',
'port'=>'27');
$mail = new Zend_Mail();
$mail->setBodyText($mailBody);
$mail->setFrom('[email protected]', 'The Company Name');
$mail->addTo('[email protected]', 'Recipient Name');
$mail->setSubject('Mail subject');
$mail->send(new Zend_Mail_Transport_Smtp('[email protected]', $config));
}
Bây giờ vấn đề là $mailBody
có ký tự tiếng Pháp. ví dụ:
Merci d'avoir passé commande avec Lovre. Voici le récapitulatif de votre commande
Khi thư được gửi sau đó được xem cùng một dòng xuất hiện như thế này:
Merci d'avoir pass? commande avec Lovre. Voici le r?capitulatif de votre commande
Các điểm nhấn được thay thế bằng một dấu chấm hỏi! Tôi đã cố gắng mã hóa nội dung thư bằng cách sử dụng utf8_encode
, nhưng sự cố vẫn tiếp tục tồn tại.
Lưu ý: Nội dung nội dung được đọc từ tệp văn bản sử dụng file_get_contents
.
Bạn có đảm bảo tệp văn bản có mã hóa đúng không? Bạn có thể kiểm tra nó trong một trình soạn thảo văn bản. Làm điều đó và xây dựng 'Zend_Mail' với tùy chọn' UTF-8' (như gợi ý bên dưới) là đủ. – bububaba