2012-04-21 194 views
0

我想用圖片發送電子郵件;我的電子郵件的正文是:php用圖像發送電子郵件

<?php 

$message = <<< email 

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

Dear {$email}, 

email; 

?> 

當我收到電子郵件時,看不到圖片。相反,我 見<img src="http://planet-earth.bogus.us/icons/secret.pictures.gif">。我知道這是因爲電子郵件地址爲< < <;我將如何能夠顯示圖片而不是使用< < <電子郵件的代碼?

UPDATE

我正在使用zend-framework。我的代碼如下所示:

<?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; 

?> 
+1

不,它實際上沒有任何與'<<< email',更與您的內容類型做。你可以在哪裏發送電子郵件的代碼? – Ryan 2012-04-21 00:53:40

回答

1

不,這不是因爲heredoc。你需要發送一個格式正確的HTML郵件,而你不是。有各種各樣的標題和MIME「骨架」結構的東西,你根本沒有發送。

不要試圖自己創建一個。使用SwiftmailerPHPMailer爲你做。

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); 
+0

更新了問題 – user1347693 2012-04-21 18:51:10

-1

我所用,

$from="From: TEST\r\nMIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-1"; 
mail("[email protected]", $title, $content, $from); 
+0

歡迎來到Stack Overflow!雖然這段代碼可能會回答這個問題,但提供關於* why和/或* how *這個代碼如何回答這個問題的附加上下文會提高它的長期價值。 – 2016-03-29 03:32:40