没有发送带有img标签的Html电子邮件

时间:2013-05-23 04:34:52

标签: php html

我有一个奇怪的问题,当我发送没有<的HTML电子邮件时img>标签,电子邮件发送出来,但与< img>标签包括没有发送电子邮件。以下是我正在使用的html与用于发送电子邮件的PHP代码:

HTML:

<head>
</head>

<body >

<img src="http://www.somesite.com/somefolder/someimage.jpg" />

</body>
</html>

PHP代码:

$from = "myemail@gmail.com";
$subject = "Some Subject";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Test <'. $from .'>' . "\r\n";

// get emailcontent.html content
$emailcontent = file_get_contents('emailcontent.html');

// send the actual message
$extraHeaders = 'To: ' . $name . ' <'. $to .'>' . "\r\n";
mail($to, $subject, $emailcontent, $headers . $extraHeaders);

2 个答案:

答案 0 :(得分:1)

尝试直接在$emailcontent内撰写内容而不使用file_get_contents

同时检查邮件是否在spam or junk folder,如果是,则使用 return-path

中的headers

另请阅读http://css-tricks.com/sending-nice-html-email-with-php/

答案 1 :(得分:0)

如果您愿意发送带有HTML的电子邮件,那么您可以尝试:/

$image= '
<html>
<body>
  <img src="http://www.example.com/image/images.jpg">
</body>
</html>
';

并将其与mail function

一起使用
mail("email@domain.com", "$subject", $image, $headers);

,您的$headers将内容类型设置为text\html。没有它,接收者会将您的消息视为纯文本。 为:

$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";