如何发送动态内容

时间:2014-09-17 18:18:08

标签: javascript jquery email

我正在寻找通过电子邮件发送动态添加的div内容的方法。这个想法是一个时事通讯,包括当用户点击标题时逐个显示的标题和文本列表。

当显示文本时,用户可以点击"发送电子邮件"按钮,然后他或她的邮件客户端打开一个新的电子邮件,其中文本(有问题的div的内容)作为电子邮件正文加载(理想情况下,标题也应显示在电子邮件标题字段中)。当点击另一个标题并显示另一个文本时,当然会将这个文本发送到电子邮件。

我的JavaScript知识有限,而且我甚至比jQuery更新。我的草案依赖于这个重要的解决方案:How to display a second JSON element in JavaScript?,但我认为,它也与Create a function to send mail from a div密切相关。重要的是,解决方案是轻量级的,只有JavaScript的一个 - 服务器端脚本不是一个选项。

我非常感谢演示,JavaScript或jQuery,如何解决这个问题(我想它是函数snd()中的body = [...]问题)并提前原谅,如果它太天真 - 或者说太简单 - 问题。

我的脚本如下所示:

<body>

<script src="jquery.js"></script>
<script type="text/javascript">
var article = [
    {
        "title": "This is title no. 1",
        "text": "Here is the text of the first article"
    },
    {
        "title": "This is title no. 2",
        "text": "Here is the text of the second article"
    },
    {
        "title": "This is title no. 3",
        "text": "Here is the text of the third article"
    }
]

function getData() {
    var html = '';
    for(i = 0; i < article.length; i++) {
        html += "<li data-text='" + "'>" + article[i].title.link(article[i].text) + "</li>";
    }
    $('#showData').html('<ul>' + html + '</ul>');
    $('#showData').on('click', 'a', function(e) 
        $('#showData .text').remove(); 
        $(this).after('<div class="text">' + $(this).attr('href') + '<p><button onclick="snd(); return false">Send email</button></div>');
        e.preventDefault();            
    });

}
function snd() {
    location.href = "mailto:"+"?subject=Article to read&body="+document.getElementsByClassName('description').innerHTML;
}

$(document).ready(function() {
    getData();
});

</script>
    <div id="showData"></div>
</body>

2 个答案:

答案 0 :(得分:0)

我不认为有可能只发送带有Java的电子邮件,因为它是客户端。你需要使用PHP。在PHP中有一个简单的方法来发送电子邮件,检查出来。

您可以通过AJAX将文本发布到PHP文件中并让它发送。

答案 1 :(得分:0)

我会在你的snd()函数中尝试下面的代码,并以某种方式将其合并到你的代码中

$("#div-id .steps").each(function(){
 remoteAjax[$(this).attr("id")] = {
  url : "email-content.php", // the url where you're sending data to be mailed
  dataType : 'json',
  beforeSubmit: function(data){$("#data-div").html("data sent to the server: " +  $.param(data))}, //this would be something for debugging your data or use firebug
  success : function(data){
   if(data){ //data is either true or false (returned from email-content.php) 
   simulating successful / failing           
     $("#data").append("    .... data sent successfully. Some type of message on your UI.");
   }else{
     alert("Some type of error that the data wasn't sent successfully and something went wrong.");
   }

在email-content.php文件中,您可以通过域名检查形成主题,来往,发送消息并获得真正的幻想,以确保您是否可以在必要时将邮件发送到该域。

您希望在代码中创建具有该复杂程度的步骤。