Пожалуйста помоги! Я пытался понять это в течение нескольких дней, и я не могу. Я пытаюсь отправлять электронные письма в формате HTML, используя PHPMailer. Чтобы включить / вставить встроенные изображения, я использую плагин TinyMCE Отзывчивый FileManager. Письмо успешно отправлено и отображает HTML, но проблема в том, что изображения в TinyMCE Editor не отображаются.
Ниже приведен снимок экрана с тестовым письмом, которое я получил со встроенным изображением в TinyMCE Editor.
Ниже приведен код формы:
<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 & 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-строчный код в tinymce.init, это исправит.
tinymce.init({
convert_urls : false
});
Других решений пока нет …