Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php邮件不';t显示图像_Php_Html_Email - Fatal编程技术网

Php邮件不';t显示图像

Php邮件不';t显示图像,php,html,email,Php,Html,Email,有一个PHP邮件表单。当我试图将textarea中显示的HTML页面发送到我的邮件时,收到的邮件中没有我在textarea中看到的图像和样式 如果有人能告诉我,我怎样才能把这封电子邮件发送给多个收件人,在收件人文本框中用逗号分隔符,我将不胜感激 使用PHP邮件函数 <?php } else { // the user has submitted the form // Check if the "from" input field is filled out if (isset($_PO

有一个PHP邮件表单。当我试图将textarea中显示的HTML页面发送到我的邮件时,收到的邮件中没有我在textarea中看到的图像和样式

如果有人能告诉我,我怎样才能把这封电子邮件发送给多个收件人,在收件人文本框中用逗号分隔符,我将不胜感激

使用PHP邮件函数

<?php
} else {  // the user has submitted the form
// Check if the "from" input field is filled out
if (isset($_POST["sender"])) {
// Check if "from" email address is valid
$mailcheck = spamcheck($_POST["receiver"]);
if ($mailcheck==FALSE) {
  echo "Invalid input\n <button onclick=\"goBack()\">Go Back</button>";
} else {
  $headers = 'MIME-Version: 1.0' . "\r\n";
  $headers.= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
  $headers.= "From: " . strip_tags($_POST['sender']) . "\r\n";
  $headers.= "Reply-To: ". strip_tags($_POST['sender']) . "\r\n";
  $receiver = $_POST["receiver"]; 
  $sender = $_POST["sender"];// sender
  $subject = $_POST["subject"];
  $message = $_POST["message"];

  // message lines should not exceed 70 characters (PHP rule), so wrap it
  //$message = wordwrap($message, 1000);
  // send mail
  mail("$receiver",$subject,$message,$headers);
  echo "Mail(s) has been sent successfully!\n <button onclick=\"goBack()\">Go Back</button>";
  }
 }
}
?>

这是您的问题:

src="images/widget-logo4.png"
你需要有整个网址在那里。相对URL在电子邮件中不起作用。

这是您的问题:

src="images/widget-logo4.png"

你需要有整个网址在那里。相对URL在电子邮件中不起作用。

您使用哪个函数和标题发送电子邮件

tinymce设置为绝对路径还是相对路径


最后一个问题还取决于您如何发送电子邮件。

您使用哪个函数和标题发送电子邮件

tinymce设置为绝对路径还是相对路径


最后一个问题还取决于您如何发送电子邮件。

您必须使用绝对URL

<img src="http://www.mydomain.tld/images/widget-logo4.png" />

而不是相对路径

<img src="images/widget-logo4.png" />


或者,您可以将图像嵌入为base64编码的内容,请参见如何做到这一点。

您或者必须使用绝对URL

<img src="http://www.mydomain.tld/images/widget-logo4.png" />

而不是相对路径

<img src="images/widget-logo4.png" />


或者您可以将图像作为base64编码的内容嵌入,请参见如何操作。

我在我的电子邮件客户端中看到-
。样式也一样

首先检查“php.ini”中以“magic_quotes_”开头的参数

从-


尝试使用-

我在电子邮件客户端中看到的-
。样式也一样

首先检查“php.ini”中以“magic_quotes_”开头的参数

从-


尝试使用-

而不是使用php邮件,我已改为phpmailer。使用它,我可以轻松地在邮件中发送html页面

$body = file_get_contents('template-1.html');            
$mail->MsgHTML($body);

我改为使用phpmailer,而不是使用php邮件。使用它,我可以轻松地在邮件中发送html页面

$body = file_get_contents('template-1.html');            
$mail->MsgHTML($body);

我发现了问题所在。它不显示图像和url链接,只是因为神奇的引号。我只是添加了一些php代码来关闭运行时的魔法代码

现在,我可以在电子邮件中看到图像和链接

代码如下:

 <?php
 if (get_magic_quotes_gpc()) {
 $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
 while (list($key, $val) = each($process)) {
    foreach ($val as $k => $v) {
        unset($process[$key][$k]);
        if (is_array($v)) {
            $process[$key][stripslashes($k)] = $v;
            $process[] = &$process[$key][stripslashes($k)];
        } else {
            $process[$key][stripslashes($k)] = stripslashes($v);
        }
    }
  }
  unset($process);
 }
 ?>


因此,普通的php邮件也可以工作。感谢大家的支持

我发现了问题所在。它不显示图像和url链接,只是因为神奇的引号。我只是添加了一些php代码来关闭运行时的魔法代码

现在,我可以在电子邮件中看到图像和链接

代码如下:

 <?php
 if (get_magic_quotes_gpc()) {
 $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
 while (list($key, $val) = each($process)) {
    foreach ($val as $k => $v) {
        unset($process[$key][$k]);
        if (is_array($v)) {
            $process[$key][stripslashes($k)] = $v;
            $process[] = &$process[$key][stripslashes($k)];
        } else {
            $process[$key][stripslashes($k)] = stripslashes($v);
        }
    }
  }
  unset($process);
 }
 ?>



因此,普通的php邮件也可以工作。感谢大家的支持

不如与我们分享一个更具体的问题,解释一下您尝试了什么,或者在这里发布代码或设置小提琴?大约一个小时前有一个类似的问题。如果是您并且您删除了您的问题,那么您需要对图像使用完整的
http://
调用,而不是服务器上的路径。每个电子邮件客户端都有自己接受的css规则,请检查。我看到
。带引号的字符串slashes@fred-二-。这是我关于这个问题的第一个问题。相反,你可以和我们分享一个更具体的问题,解释一下你尝试了什么,或者在这里发布代码或设置小提琴?大约一个小时前有一个类似的问题。如果是您并且您删除了您的问题,那么您需要对图像使用完整的
http://
调用,而不是服务器上的路径。每个电子邮件客户端都有自己接受的css规则,请检查。我看到
。带引号的字符串slashes@fred-二-。这是我关于这个问题的第一个问题。我看到了
。如果是这样的话,那么您有一些服务器端脚本正在为您添加到该路径中。但这只有在服务器上才起作用。一旦出现在电子邮件中,它就独立存在了。当呈现页面并查看源代码时,您会看到这样的情况吗?或者,当你看原始资料时,你看到的就是这个?因为您提供的链接是一个PHP页面。无法通过电子邮件发送的。它需要是呈现的原始HTML。我不提供任何链接。我明白了在我的Gmail中查看图片和样式。我认为这是个问题。我使用了完整的url。我看到了
。如果是这样,那么您就有某种服务器端脚本正在为您添加到该路径中。但这只有在服务器上才起作用。一旦出现在电子邮件中,它就独立存在了。当呈现页面并查看源代码时,您会看到这样的情况吗?或者,当你看原始资料时,你看到的就是这个?因为您提供的链接是一个PHP页面。无法通过电子邮件发送的。它需要是呈现的原始HTML。我不提供任何链接。我明白了在我的Gmail中查看图片和样式。我想这是个问题。我已经使用了完整的url。@stefferd我已经用php邮件代码更新了这个问题。我使用php mail发送电子邮件。在你的tinymce.init中添加以下属性:relative_url:falsand要添加更多收件人,只需将它们拆分为一个即可。我刚刚在tinymce中添加了该代码。但结果仍然是一样的。这是正确的,图像不会加载,因为图像的所有URL在html中都是相对的。如果您想在mailclient中查看图像,则URL对于给定的图像应该是绝对的bellow@stefferd我用php邮件代码更新了这个问题。我使用php mail发送电子邮件。在你的tinymce.init中添加以下属性:relative_url:falsand要添加更多收件人,只需将它们拆分为一个即可。我刚刚在tinymce中添加了该代码。但结果仍然是一样的。这是正确的,图像不会加载,因为图像的所有URL在html中都是相对的。如果你想在mailclient中看到图像,URL应该是绝对的,如下所示。问题是关于电子邮件,而不是关于带有T的网页