如何使用换行符发送电子邮件?

时间:2013-10-18 11:21:17

标签: javascript javamail

我正在使用JavaMail发送电子邮件。所以我有一个textArea,客户可以在其中撰写邮件并按下按钮发送给我。在我的测试过程中,我意识到当我在textArea中按“Enter”/“Return”键时,它会破坏我的文本但是当我检查邮箱时它只是一行文本!

怎么做?

请帮帮我们!

我现在正在使用此代码,似乎有效:

<textarea rows="10" id="Message" onkeypress="BreakLine();"></textarea>

<script type="text/javascript">
function BreakLine() {
    var key = window.event.keyCode;

    // If the user has pressed enter
    if (key == 13) {
    document.getElementById("Message").value = document.getElementById("Message").value + "<br/>";
    }
}
</script>

但是当我在textArea中录制内容时,它会打印"<br/>"以及其他文本,但是当我收到电子邮件时,我可以看到文本中的断点,就像它想象的那样!但是如何摆脱textArea中的"<br/>"

我找到了这个示例for outlook(我正在使用的那个),它使用"\r\n"代替"<br/>",但它对我不起作用!

P.S。我知道上面的例子只适用于IE,但现在不用担心...

4 个答案:

答案 0 :(得分:2)

试试这个:

<textarea rows="10" id="Message" onkeypress="BreakLine();"></textarea>
<script type="text/javascript">
    function BreakLine() {
        var key = window.event.keyCode;
        // If the user has pressed enter
        if (key == 13) {
            document.getElementById("Message").value = document.getElementById("Message").value +"\n";
            window.event.preventDefault();
        }
console.log(encodeURIComponent(document.getElementById("Message").value));
    }
</script>

答案 1 :(得分:1)

您是否调试过代码并查看从textArea传递给代码的字符串是什么? 顺便说一下,你可以使你的javascript跨浏览器兼容:

function BreakLine() {
    var key = event.which || event.charCode || event.keyCode;

    // If the user has pressed enter
    if (key == 13) {
    document.getElementById("Message").value = document.getElementById("Message").value + "<br/>";
    }
}

如果获取密钥的上述行无效,您可以随时使用jquery的“which”函数来获取密钥代码,无论它是什么浏览器。

修改 您可以将<br>和文本区域中的文本合并,并将此值保存在页面上的隐藏字段中,而不是在文本区域中附加和显示。然后,当要发送消息时,您可以从此隐藏字段中获取带有附加<br>的消息文本并发送它。通过这种方式,文本区域中不会出现烦人的<br>,而且您的邮件将是多行的。

答案 2 :(得分:0)

如果邮件为text/plain,则使用\r\n应该有效。相反,如果邮件类型为text\html,请使用<p/>

答案 3 :(得分:0)

我自己解决它,所以在“发送电子邮件”按钮上单击它首先检查文本是否包含/ n(中断)如果“是”它将行添加到数组单元格中()。所以每条线都是分开存放的。之后,我将每行添加到隐藏的textArea值,并在每行的末尾添加<br/>

文字区域:

<textarea rows="10" id="Message" name="Message"></textarea>
<textarea id="HiddenMessage" name="HiddenMessage" style="display:none;"></textarea>

按钮:

<input type="button" id="SendEmail" value="Send Email" onclick="BreakLine();">

JavaScript的:

<script type="text/javascript">
    function BreakLine() {
    var lines = $('#Message').val().split('\n');

    for(var i = 0;i < lines.length;i++){
        document.getElementById("HiddenMessage").value = document.getElementById("HiddenMessage").value + lines[i] + "<br/>";
        }   
    }
</script>