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 に答える