0

邮件内容:

<html><head></head><body><p> Message : 鏽嫌╒杜米土 杯屎</p>Share Link : <a href = "http://203.80.1.28/FlippingBook/development/flipV5.html?page=70"> Press here to enter </a><br><img src ='http://203.80.1.28/FlippingBook/development/demo/medium/Web081112_P070_medium.jpg' /></body></html>

PHP:

if (isset($_POST["data"])){
    $info = explode("&", $_POST["data"]);
    $headers  = 'MIME-Version: 1.0\r\n';
    $headers .= "Content-Type: text/html; charset = \"UTF-8\";\n";
    $headers = "From: =?UTF-8?B?" . base64_encode(substr($info[0],strpos($info[0],'=')+1, strlen($info[0]))) . "?=";
    $to = substr($info[1],strpos($info[1],'=')+1, strlen($info[1]));
    $subject = "=?UTF-8?B?" . base64_encode('日報分享') . "?=";
    $message = trim(substr($info[2],strpos($info[2],'=')+1, strlen($info[2])));
    $message = '<html><head></head><body><p> Message : '.$message;
    $url = substr($info[3],strpos($info[3],'=')+1, strlen($info[3]));
    $message = $message. '</p>Share Link : <a href = "'.$url.'"> Press here to enter </a>'; 

    if (isset($info[4])){
    $firstImg = substr($info[4],strpos($info[4],'=')+1, strlen($info[4]));
    $message = $message."<br><img src ='".$firstImg."' />";
    }

    if (isset($info[5])){
    $secondImg = substr($info[5],strpos($info[5],'=')+1, strlen($info[5]));
    $message = $message."<br><img src ='".$secondImg."' />";
    }
    $message = $message.'</body></html>';

    if (mail($to, $subject, $message, $headers))
    die ('Mail sent');
    else
    die ('Fail');
}else{
    die ('Fail');
}

我正在编写一个简单的程序来发送电子邮件。但是,我的邮件内容不是基于英文的,所以我使用 utf-8 进行编码。

当我更改编码方法时,它无法发送处理后的html代码,而是邮件内容是上面显示的原始html代码,如何解决这个问题?

4

1 回答 1

1

如果使用 PEAR 库没有问题,那么您可以寻找 Pear Mail-Mime 库来发送邮件或 HTML 内容。您可以从这里获得更多详细信息 - http://pear.php.net/manual/en/package.mail.mail-mime.example.php

于 2013-01-02T08:20:08.030 回答