【问题标题】:Sending HTML emails using PHPMailer with TinyMCE inline images使用带有 TinyMCE 内联图像的 PHPMailer 发送 HTML 电子邮件
【发布时间】:2017-02-23 00:57:26
【问题描述】:

请帮忙!几天来我一直试图弄清楚这一点,但我无法做到。我正在尝试使用 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-&gt;AddEmbeddedImage,图像在电子邮件中正确显示。只有 TinyMCE 编辑器中的那些图像显示为损坏。

【问题讨论】:

    标签: php phpmailer tinymce-4 responsive-filemanager


    【解决方案1】:

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

    tinymce.init({ 
        convert_urls : false
    });
    

    【讨论】:

    • 您使用的是哪个版本的 TinyMCE?
    猜你喜欢
    • 2018-09-26
    • 2014-12-24
    • 2011-11-09
    • 1970-01-01
    • 2013-10-10
    • 2014-05-31
    • 2011-11-22
    相关资源
    最近更新 更多