Tôi đang cố gắng gửi email bằng cả văn bản và html, nhưng tôi không thể gửi đúng tiêu đề phù hợp. Đặc biệt, tôi muốn đặt tiêu đề Kiểu nội dung, nhưng tôi không thể tìm cách đặt tiêu đề riêng cho phần html và văn bản.Thư Lê, cách gửi văn bản thuần/văn bản + html trong UTF-8
Đây là mã của tôi:
$headers = array(
'From' => '[email protected]',
'Return-Path' => '[email protected]',
'Subject' => 'mysubject',
'text_encoding' => '7bit',
'text_charset' => 'UTF-8',
'html_charset' => 'UTF-8',
'head_charset' => 'UTF-8',
'Content-Type' => 'text/html; charset=UTF-8'
);
$mime = new Mail_mime();
$html = '<html><body><b>my body</b></body></html>';
$text = 'my body';
$mime->setTXTBody($text);
$mime->setHTMLBody($html);
$body = $mime->get();
$headers = $mime->headers($headers);
$mail_object =& Mail::factory('smtp', $GLOBALS['pear_mail_config']);
$mail_object->send('[email protected]', $headers, $body);
Đó là email tôi nhận được:
From: [email protected]
Subject: mysubject
text_encoding: 7bit
text_charset: UTF-8
html_charset: UTF-8
head_charset: UTF-8
Content-Type: multipart/alternative;
boundary="=_7adf2d854b1ad792c802a9db31084520"
Message-Id: <.....cut.....>
Date: Mon, 8 Oct 2012 15:40:54 +0200 (CEST)
To: undisclosed-recipients:;
--=_7adf2d854b1ad792c802a9db31084520
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="ISO-8859-1"
my body
--=_7adf2d854b1ad792c802a9db31084520
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="ISO-8859-1"
<html><body><b>my body</b></body></html>
--=_7adf2d854b1ad792c802a9db31084520--
Dường như Content-Type tiêu đề tôi đặt là hoàn toàn bị bỏ qua. Tôi đã mong đợi một số hàmHTMLHeaders và setTXTHeaders, nhưng có vẻ như không có gì giống như thế này. Tui bỏ lỡ điều gì vậy? Làm cách nào để tôi có thể đặt cả hai tiêu đề Loại Nội dung thành UTF-8?
Hãy nhớ thêm 'require_once 'Mail/mime.php'; '. – Knu
Cuối cùng, một câu trả lời ... –
chắc chắn loại mã hóa sẽ được chuyển qua Mime-> get(). bỏ phiếu. –