2014-12-11 3 views
0

У меня есть сценарий электронной почты, который отлично работает, но не может получить изображение, отображаемое в электронном письме с содержимым. Как я могу получить изображение, отображаемое в письме. Мне нужно, чтобы сообщение появилось в области $ template.Добавление изображения в сценарий электронной почты

<?php 
//Fetching Values from URL 
$name = $_POST['name1']; 
$email = $_POST['email1']; 
$message = $_POST['message1']; 
$contact = $_POST['contact1']; 
//sanitizing email 
$email = filter_var($email, FILTER_SANITIZE_EMAIL); 
//After sanitization Validation is performed 
if (filter_var($email, FILTER_VALIDATE_EMAIL)) { 
if (!preg_match("/^[0-9]{10}$/", $contact)) { 
echo "<span>* Please Fill Valid Contact No. *</span>"; 
} else { 
$subject = $name; 
// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'From:' . $email. "\r\n"; // Sender's Email 
$headers .= 'Cc:' . $email. "\r\n"; // Carbon copy to Sender 
$template = '<div style="padding:50px; color:white;">Hello ' . $name . ',<br/>' 
. '<br/>Thank you...! For leaving your information with us.<br/><br/>' 
. 'Name: ' . $name . '<br/>' 
. 'Email: ' . $email . '<br/>' 
. 'Contact No: ' . $contact . '<br/>' 
. 'Message: ' . $message . '<br/><br/>' 
. 'This is a Contact Confirmation mail.' 
. '<br/>' 
. 'We Will contact You as soon as possible . <br><br> Sincerely,<br>Prive Care Team.</div>'; 
$sendmessage = "<div style=\"background-color:#7E7E7E; color:white;\">" . $template . "</div>"; 
// message lines should not exceed 70 characters (PHP rule), so wrap it 
$sendmessage = wordwrap($sendmessage, 70); 

// Send mail by PHP Mail Function 
mail("[email protected]", $subject, $sendmessage, $headers); 
echo "Your Query has been received, We will contact you soon."; 
} 
} else { 
echo "<span>* invalid email *</span>"; 
} 

?> 
+1

просто добавьте ' и' src' должен быть полный адрес – roullie

+0

Просто используйте в содержании почты :) – Refilon

+0

Если вы действительно хотите, чтобы изображение было частью электронной почты, а не только скачал, когда пользователь открывает электронной почты, вы должны использовать формат с несколькими частями с вложениями. Смотрите: http://webcheatsheet.com/php/send_email_text_html_attachment.php. Еще лучше, используйте библиотеку, чтобы сделать это, они позаботятся обо всех неприятных битах, таких как интервалы и правильное количество возвратов строки (да, это может иметь значение). –

ответ

0

В электронной почте (как любая HTML страница) есть два способа отображения изображения, либо сделать это с изображением размещенного в интернете где-то <img src="src from the internet" /> Или вы можете кодировать данные изображения в base64 и вставьте его вот так <img src="data:image/png;base64,iVBORw0KGgoAAAANS..." />, таким образом, электронное письмо само по себе (не зависит от других источников в Интернете), но будет занимать гораздо больше места.

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