2013-09-26 2 views
1

Я пишу программу для отправки html встроенной почты. Для этого я использовал NicEdit - WYSIWYG editor. Когда я отправляю почту, изображения пропадают по почте.html mailer в php - NicEdit изображения исчезают с почты

В PHP mail() я использовал headers как:

$header="From: [email protected]\r\nX-Mailer: PHP/".phpversion()."\r\n". 
     "MIME-Version: 1.0\r\nContent-type: text/html; charset: utf8\r\n". 
     "Reply-To: [email protected]\r\nBcc: ".$recipients."\r\n"; 

где $recipients содержит адреса электронной почты получателей.

Любое решение этой проблемы?

Код

NicEdit Конфигурация

<script src="js/nicedit.js"></script> 
<script> 
    $(document).ready(function() { 
     new nicEditor().panelInstance('message'); 
    }); 
</script> 

HTML форма почтовик

<form method="post" action="mailProcess.php"> 
    To <input type="text" name="recipients"> 
    Subject <input type="text" name="subject"> 
    Message 
    <textarea cols="70" rows="15" name="message" id="message"></textarea> 
</form> 

mailProcess.php

$recipients = $_POST['recipients']; 
$subject = $_POST['subject']; 
$message = $_POST['message']; 
$header = "From: [email protected]\r\nX-Mailer: PHP/" . phpversion() . "\r\n" . 
     "MIME-Version: 1.0\r\nContent-type: text/html; charset: utf8\r\n" . 
     "Reply-To: [email protected]\r\nBcc: " . $recipients . "\r\n"; 

Если я загрузить изображение, то NicEdit дает ссылку, как <img width="524" src="http://i.imgur.com/ycyrMau.jpg"></img> и когда я отправить форму для отправки по почте изображение исчезает из почты message

+0

Как вы вставляете изображения в электронную почту? Встраиваете ли вы изображения в электронную почту или используете ссылки? можете ли вы предоставить весь код, создающий электронную почту? – lot

+0

'NicEdit' автоматически вставляет ссылку и' html' в сообщение. 'NicEdit' является редактором' WYSIWYG'. –

+0

Проверьте HTML, сгенерированный NicEdit, чтобы увидеть, на что указывают ссылки на изображения. Прежде всего, вы должны знать, хотите ли вы отправлять изображения, прикрепленные по электронной почте, или вы хотите разместить их на своем веб-сайте, а затем просто связать их с html в теле письма. – lot

ответ

0

С помощью gmail Я могу решить эту проблему.

В gmail (стандартный вид) Я нашел Message text garbled?, который показал мне фактическое содержание почты, которое было в моем случае: <img src=\"http://i.imgur.com/CvToS30.jpg\" width=\"176\">. Он содержит \ сек перед каждым ", который я удалил из stripslashes() как:

$message = stripslashes($_POST['message']); 

и теперь он работает.

+0

Я не понимаю, зачем вам нужен gmail для проверки кода html :-) – lot

+0

Это может помочь другим людям решить ту же проблему, если вы узнаете, почему обратные косые черты были там, а затем помещены в ответ, помеченный как правильный и окончательный. Cheers – lot

+0

@lot: Я попытался проверить исходный код отправляемого сообщения, но вместо этого показал мне 'Array()', и если бы я попробовал 'print_r ($ _ POST)', тогда он показал мне правильный html-контент, который я хочу Отправить. Итак, с текстом сообщения 'gmail' * исказился? * Я нашел точный код, который был получен. –

0

Проверяли ли вы mail logs? Есть ли какая-либо ссылка на изображение или ошибку?

+0

Я пишу приложение 'html mailer', через которое я должен отправлять письма –

+0

@MohammadFaisal: Да, я говорю: если вы отправляете почту, на вашем сервере должен быть какой-то почтовый журнал , где отображается HTML отправленного сообщения вместе с заголовками. Я лично использую 'mutt' – aaron

+0

, вы также можете попытаться добавить следующую строку в заголовок: ' header ('Content-Disposition: inline'); header ('Content-type: image/png'); ' – aaron

Смежные вопросы