0

我有一个奇怪的问题,当我发送不带 < img > 标记的 html 电子邮件时,电子邮件会发送出去,但包含 < 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);
4

2 回答 2

1

$emailcontent尝试不使用直接写入内容file_get_contents

还要检查邮件是否不在,如果在spam or junk folder则使用 return-pathheaders

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

于 2013-05-23T04:49:10.220 回答
0

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

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

并将其与邮件功能一起使用

mail("email@domain.com", "$subject", $image, $headers);

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

$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
于 2013-05-23T05:37:20.007 回答