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