【问题标题】:Php mail doesn't display imagesphp邮件不显示图片
【发布时间】:2023-03-20 07:04:02
【问题描述】:

有一个 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>";
  }
 }
}
?>

【问题讨论】:

  • 不如,您与我们分享一个更具体的问题,解释您的尝试,也许在这里发布代码或设置一个小提琴?
  • 大约一个小时前有一个类似的问题。如果是您并且您删除了您的问题,那么您需要对图像使用完整的http:// 调用,而不是您服务器上的路径。
  • 每个电子邮件客户端都有自己接受的css规则,请查看this link
  • 我看到&lt;img src="\&amp;quot;http://www.watchbotcamera.com/newsletter/watchbot/wb-button-upgrade.png\&amp;quot;" alt="\&amp;quot;\&amp;quot;"&gt;。用斜杠引用字符串
  • @fred -ii-。这是我与此问题相关的第一个问题。

标签: php html email


【解决方案1】:

这是你的问题:

src="images/widget-logo4.png"

您需要在其中包含整个 URL。相对 URL 在电子邮件中不起作用。

【讨论】:

  • 我看到&lt;img src="\&amp;quot;http://www.watchbotcamera.com/newsletter/watchbot/wb-button-upgrade.‌​png\&amp;quot;" alt="\&amp;quot;\&amp;quot;"&gt;
  • 如果是这种情况,那么您有某种服务器端脚本正在为您添加该路径。但这只有在服务器上时才有效。一旦进入电子邮件,它就会独立存在。
  • 这是您在呈现页面并查看源代码时看到的内容吗?还是当您查看原始资源时所看到的?因为您提供的链接是一个 PHP 页面。那不能通过电子邮件发送。它需要是呈现的原始 HTML。
  • 我不提供任何链接。我在我的 Gmail 中看到 \&amp;Quot; 以获取图像和样式。我认为这是个问题。
  • 我已经使用了完整的网址。
【解决方案2】:

我在我的电子邮件客户端中看到 - &lt;img src="\&amp;quot;http://www.watchbotcamera.com/newsletter/watchbot/wb-button-upgrade.‌​png\&amp;quot;" alt="\&amp;quot;\&amp;quot;"&gt;。样式也一样。

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

来自 - http://www.tinymce.com/forum/viewtopic.php?id=10064

尝试使用-get_magic_quotes_gpc

【讨论】:

  • 感谢您通知我这个问题。
【解决方案3】:

我发现了问题所在。它不是仅仅因为魔术引号而显示图像和 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 邮件也可以正常工作。感谢小伙伴们的支持

【讨论】:

    【解决方案4】:

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

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

    最后一个问题还取决于您尝试发送电子邮件的方式。

    【讨论】:

    • @stefferd 我用 php 邮件代码更新了问题。我使用 php mail 发送电子邮件。
    • 在您的 tinymce.init 中添加以下属性:relative_urls: false
    • 要添加更多的收件人,只需用 分隔它们即可。
    • 我刚刚在 tinymce 中添加了该代码。但是,结果还是一样。
    • 那是正确的,图像不会加载,因为图像的所有 url 在你的 html 中都是相对的。如果您想在邮件客户端中查看图像,则 url 应该是绝对的图像,如下所示
    【解决方案5】:

    你要么必须使用绝对网址

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

    而不是相对路径

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

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

    【讨论】:

    • 问题是关于电子邮件,而不是关于 Tinymce 的网页。
    • 我所描述的两种方式都是指电子邮件的使用。我不明白你的担忧。
    • “我收到的邮件没有我在 textarea 中看到的图像和样式。”。该操作询问结果,而不是关于此页面 - electrobox.co.uk/partnersnetwork/affiliates/emailmarketing/…
    【解决方案6】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-08
      • 2017-10-26
      • 2019-04-06
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 2021-09-13
      • 1970-01-01
      相关资源
      最近更新 更多