【问题标题】:Email a HTML table通过电子邮件发送 HTML 表格
【发布时间】:2013-01-20 09:16:17
【问题描述】:

我是 Web 开发的新手。我有一个使用 jQuery 生成的动态 HTML 表。我想通过单击按钮邮寄表格。我能够使用 JavaScript 读取表格,但在那之后我很震惊。我不知道如何使用 PHP ( mailto ) 函数通过电子邮件发送。

按钮代码:

<button name="doModify" onclick="OQ()">Mail</button> 

Javascript:

 function mail_content()    
 {    
   var tableContent = document.getElementById("cartcontent").innerHTML;    
   var mBody = "<html><body><table>" + tableContent + "</table></body></html>";    
   alert(mBody);    
 }

如何邮寄我用 Javascript 构建的字符串。

【问题讨论】:

  • 您可以使用@Annoj 建议的方法。我强烈建议您重建购物车和 HTML 服务器端。服务器必须知道购物车中的东西。让服务器从存储的数据中重新生成电子邮件更安全。这有两个原因: 1:恶意用户可以在发送请求以免费获取某些东西之前将东西添加到他的购物车中。 2:您的服务器很可能被滥用为垃圾邮件中继,因为它会将您提供的所有内容都作为电子邮件发送。

标签: javascript php jquery html-table


【解决方案1】:
<button name="doModify" onclick="mail_content()">Mail</button> 
<script>
     function mail_content()    
     {    
       var tableContent = document.getElementById("cartcontent").innerHTML;    
       $.post('mail.php',{content:tablecontent},function(data) {
    });
     }
</script>

在mail.php中

<?php
$to = "somebody@example.com";
$subject = "ur subject";
$txt = $_POST['content'];
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";

mail($to,$subject,$txt,$headers);
?>

【讨论】:

    【解决方案2】:

    您需要在函数中添加一个 ajax 并通过 ajax 发送内容。然后在接收通过ajax发送的内容后使用邮件功能

    【讨论】:

      【解决方案3】:
      1. 使用 ajax 将此字符串发送到 php 文件,或将内容复制到表单的隐藏字段,然后使用 javascript 提交该表单。

      2. 在那个 php 文件中,获取内容并使用 PHP 发送邮件。

      【讨论】:

        【解决方案4】:

        mail() 函数只存在于 php.ini 中。您需要向发送此变量的 php 文件发出 ajax 请求,并让 php 文件在 mail() 函数中使用该变量。

        【讨论】:

          【解决方案5】:

          邮寄地址:

          function mail_content() {
            var tableContent = document.getElementById("cartcontent").innerHTML;
            var mBody = "" + tableContent + "";
            document.location.href = "mailto:test@domain.com?subject=Titel&body=" + mBody;  
          }
          

          没有 jQuery 的 HTTP 请求:

          function myHttp(){
              var tableContent = document.getElementById("cartcontent").innerHTML;    
              var mBody = "<html><body><table>" + tableContent + "</table></body></html>";
          
              var url = "mail.php";
              var http = new XMLHttpRequest();
              http.open("POST", url, true);
              http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
          
              http.onreadystatechange = function() {
                  if(http.readyState == 4 && http.status == 200) {
                      alert(http.responseText);
                  }
              }
              http.send('data=' + mBody);
          }
          

          【讨论】:

          • HTTP 请求将 HTML 数据(客户端)发送到 PHP 脚本(服务器)。 PHP-Script 获取带有参数“data”的 HTML 代码
          • 忽略了一些东西。 SRY。
          猜你喜欢
          • 2012-02-07
          • 2018-08-18
          • 2016-03-10
          • 2022-10-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多