0

请帮忙!几天来我一直试图弄清楚这一点,但我无法做到。我正在尝试使用 PHPMailer 发送 HTML 电子邮件。要包含/插入内联图像,我使用 TinyMCE 的插件Responsive FileManager。电子邮件成功发送并显示 HTML,但问题是 TinyMCE 编辑器中的图像未显示。

下面是我在 TinyMCE 编辑器中收到的带有内联图像的测试电子邮件的屏幕截图。

在此处输入图像描述

下面是表单代码:

<head>
<script src="../js/tinymce/tinymce.min.js"></script>
<script language="javascript" type="text/javascript">
tinymce.init({ 
    selector:'textarea', 
    menubar: false,
    height: '300px',
    themes: 'modern',
    plugins: [
    'advlist autolink lists link image charmap print preview hr anchor pagebreak',
    'searchreplace wordcount visualblocks visualchars code fullscreen',
    'insertdatetime media nonbreaking save table contextmenu directionality',
    'emoticons template paste textcolor colorpicker textpattern imagetools responsivefilemanager'],
    toolbar: ['undo redo | styleselect | bold italic | forecolor backcolor | imageupload responsivefilemanager',
    'alignleft aligncenter alignright | bullist numlist | outdent indent | table | preview'],     

    external_filemanager_path:'/responsivefilemanager/filemanager/',
    filemanager_title:'Responsive Filemanager',
    external_plugins: { 'filemanager' : '/responsivefilemanager/filemanager/plugin.min.js'}
}); 
</script>
</head>
<body>
    <form action="CascadeFunction.php" method="post" name="cascader" id="cascader" enctype="multipart/form-data">
         <label for="details"><span class="required">*</span>DETAILS</label>
            <textarea name="details" cols="70%" rows="10" id="details"></textarea>
         <input class="btn btn-primary" name="Submit" type="submit" id="submit" value="POST &amp; CASCADE" />
    </form>
</body>

下面是我处理电子邮件的代码(CascadeFunction.php)。

require_once('../PHPMailer_5.2.1/class.phpmailer.php');
$mail = new PHPMailer();
$subject = "CASCADE: Test Subject Cascade"; 
$msgbody = $upload_name;        
$mail->Subject = "$subject";
$mail->IsHTML(true); // This tells the PhPMailer that the messages uses HTML.
$mail->MsgHTML(str_replace(
    array(
        '%Audience%',
        '%Category%',
        '%Title%',
        '%Type%',
        '%quickDescr%',
        '%details%'
    ), 
    array(
        $Audience,
        $Category,
        $Title,
        $Type,
        $QuickDescr,
        $CascadeDetails
    ), file_get_contents('emailtemplates/email.php')), dirname(__FILE__));
$mail->AddEmbeddedImage('images/LogoWhiteBG.png', 'logo');

注意: ,$mail->AddEmbeddedImage图像在电子邮件中正确显示。只有 TinyMCE 编辑器中的那些图像显示为损坏。

4

1 回答 1

1

我找到了解决我的问题的方法。只需在 tinymce.init 中添加这 1 行代码,即可修复它。

tinymce.init({ 
    convert_urls : false
});
于 2016-10-13T19:45:28.893 回答