【问题标题】:image in email just printing url电子邮件中的图像只是打印 url
【发布时间】:2012-09-12 17:41:41
【问题描述】:

我有一个简单的 php 电子邮件脚本,我希望在底部包含一个图像。当我添加像下面这样的图像标签时,电子邮件只显示<img src="http://domain.com/images/logo.png" /> 而不是实际图像。任何想法为什么?

<?PHP
$email = $_POST["emailaddress"];

$to = "you@youremail.com";
$subject = "New Email Address for Mailing List";
$headers = "From: $email\n";
$headers .= "Content-type: text/html\r\n";

$message = "A visitor to your site has sent the following email address to be added to your mailing list.\n

Email Address: $email";

$user = "$email";
$usersubject = "Thank You";
$userheaders = "From: info@domain.com\n";

$usermessage = 

"
Thank you for joining our mailing list.

We hope to see you very soon!

Address 1 
Address 2
<img src=\"http://domain.com/images/logo.png\" />
";

mail($to,$subject,$message,$headers);

mail($user,$usersubject,$usermessage,$userheaders);

$fh = fopen("email.xml", "a");
fwrite($fh, "$email\r\n");
fclose($fh);

?>

【问题讨论】:

  • 我注意到您在 $usermessage 中声明了实际的 HTML。你有没有尝试过(我不确定代码是什么,自从我接触 php 以来已经很久了)类似于 $usermessage = "Thank you ... " & domain.com/images/logo.png" /> 的东西
  • 代码中有大量错误。首先,您需要在消息中添加一些
    。其次,如果您希望图像显示您至少需要一个标题:Content-Transfer-Encoding P.S. mail() 是发送电子邮件的最糟糕的方法。试试 SMTP。
  • @tntu 我尝试了添加 $headers .= "Content-Transfer-Encoding: 8bit\n"; 的建议但它不起作用。 8bit 是不是用错了?
  • 尝试添加以下标题:$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

标签: php html image email variables


【解决方案1】:

您没有通过正确的消息传递 Content-Type 标头。 $headers 确实包含正确的标头,但它是与纯文本消息一起发送的,而 $userheaders 不包含 Content-Type 标头,但与之关联的消息确实包含一些 HTML

替换

$userheaders = "From: info@domain.com\n";

$userheaders = "From: info@domain.com\r\n";
$userheaders = "Content-type: text/html\r\n";

它应该可以完美运行

【讨论】:

    【解决方案2】:

    这是一个 wordpress 插件,但如果你删除了除 XmailBaby 类之外的所有内容,它应该很适合你。 该代码是一个很好的工作,可以很好地发送电子邮件。 它只是一个基本版本,但对你来说应该足够了。 看看代码,你可能会觉得很有趣。

    http://plugins.svn.wordpress.org/xmail-the-right-way/trunk/xmail.php

    【讨论】:

      【解决方案3】:

      您需要指定 html 标头。您可以使用支持发送 HTML 电子邮件的成熟方法,例如 PHPMailer:

      http://phpmailer.worxware.com/

      【讨论】:

      • 张贴一些证据来支持你的主张,或者不要费心张贴,谢谢
      • 撇开它不太尊重 RFC 规定,但是没有人尊重他们的信。它在发送电子邮件时遇到了一些困难,因为它的复杂性至少应该确保内容的格式正确,至少可以通过垃圾邮件刺客等内容过滤器。有大量关于它没有发送给 Hotmail 和其他提供商的报告。如果有一份报告,您可能会说他有一个列入黑名单的 IP,但有很多。我遇到过很多次,然后把它踢了出来,只是通过 SMTP 手动发送,并修复了一些内容。
      • “Jim Jagielski 正在接管该项目。Jim 拥有杰出的背景,包括作为 Apache 基金会的创始成员和 Zend Technologies 的前首席技术官。” --- 似乎不合法。
      • 那我希望未来能带来比现在更好的结果。目前我所知道的还不够好。
      猜你喜欢
      • 1970-01-01
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-26
      • 2012-06-13
      • 2016-05-12
      相关资源
      最近更新 更多