2016-10-13 5 views
0

Пожалуйста, помогите! Я пытался понять это в течение нескольких дней, и я не могу. Я пытаюсь отправить HTML-письма с помощью PHPMailer. Чтобы включить/вставить встроенные изображения, я использую плагин TinyMCE Responsive FileManager. Письмо отправляется успешно и отображает HTML, но проблема в том, что изображения в редакторе TinyMCE не отображаются.Отправка HTML-писем с использованием PHPMailer с встроенными изображениями TinyMCE

Ниже приведен скриншот тестового письма, которое я получил с встроенным изображением в редакторе TinyMCE.

enter image description here

Ниже приведен код формы:

<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 отображаются как сломанные.

ответ

1

Я нашел исправление для своей проблемы. Просто добавив этот 1-й код liner в tinymce.init, он исправляет его.

tinymce.init({ 
    convert_urls : false 
}); 
+0

какая версия TinyMCE вы используете? –