Вопрос по php, email, zend-framework, sendmail, image – PHP отправить письмо с изображением

0

Я пытаюсь отправить электронное письмо с изображением; тело моего письма:

<code><?php 

$message = <<< email

<img src="http://planet-earth.bogus.us/icons/secret.pictures.gif">

Dear {$email},

email;

?>
</code>

Когда я получаю электронное письмо, я не вижу изображение. Вместо этого я увидеть<img src="http://planet-earth.bogus.us/icons/secret.pictures.gif">, Я знаю, что это из-за & lt; & lt; & lt; Эл. адрес; как я смогу отобразить картинку вместо кода, используя & lt; & lt; & lt; Эл. адрес?

ОБНОВИТЬ

Я использую Zend-Framework. Мой код выглядит так:

<code><?php
     $mail = new Zend_Mail();
     $mail->setFrom('[email protected]', 'My site');
     $mail->addTo($recoveryaccount->username);
     $mail->setSubject("Mysite");
     include "_email_recover_password.phtml";
     $mail->setBodyText($message);
     $mail->send();
?>

_include "_email_recover_password.pthml" 
<?php 

 $message = <<< email
 <img src="http://picturelocation.picture.gif">
 Dear {$account->getUsername()},

 Somebody has requested that the password associated with this account be
 reset. If you initiated this request, click the below link to complete the process:

 http://www.example.com/{$account->getRecovery()}

 Thank you!
 Mysite

 Questions? Contact us at [email protected]

 email;

 ?>
</code>
Нет, это на самом деле не имеет ничего общего с<<< email и многое другое, чтобы сделать с вашим типом контента. Можете ли вы показать код, куда вы отправляете электронную почту, пожалуйста? Ry-♦

Ваш Ответ

3   ответа
-1

$from="From: TEST\r\nMIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1"; 
mail("[email protected]", $title, $content, $from); 
Добро пожаловать в переполнение стека! Хотя этот код может ответить на вопрос, предоставляя дополнительный контекст относительноwhy и / илиhow этот код отвечает на вопрос, улучшает его долгосрочную ценность.
1

это не из-за наследственности. Вам необходимо отправить правильно отформатированное HTML-сообщение, которое вам не нужно. Существуют различные заголовки и MIME-скелет. структурные вещи, которые вы вообще не отправляете.

Не пытайтесь создать его самостоятельно. использованиеSwiftmailer или жеPHPMailer сделать это для вас.

6

вам нужно отправить заголовки содержимого, которые устанавливают тип содержимогоtext\html, Без этого ваше сообщение будет восприниматься принимающим клиентом как обычный текст. Следующий код правильно устанавливает заголовки содержимого и отправляет простое HTML-сообщение.

// message
$message = '
<html>
<body>
  <img src="http://planet-earth.bogus.us/icons/secret.pictures.gif">
</body>
</html>
';

// Add the content headers
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$headers .= 'To: David <[email protected]>' . "\r\n";
$headers .= 'From: Bot <[email protected]>' . "\r\n";

mail("[email protected]", "mysubject", $message, $headers);
обновил вопрос user1347693

Похожие вопросы