【发布时间】:2016-10-27 14:34:42
【问题描述】:
我正在使用 spring 实现电子邮件服务,用户可以在表单中输入电子邮件主题和电子邮件正文,并可以发送电子邮件。在这里,我能够成功发送电子邮件..但我需要翻译用户在电子邮件正文表单中输入的换行符/制表符,并且需要在将要发送的实际电子邮件中翻译成相同的内容......就像现在一样它不会翻译换行符并将用户输入的所有文本都发送到一行中..需要帮助格式化此..
img 链接是我的电子邮件中带有换行符的用例之一.... http://imgur.com/RMCOjyz
下面是我的代码...
<div class="email-sm-textDiv">
<textarea name="emailBodyTxtArea" id="emailBodyTxtArea"
placeholder="Email Body"></textarea>
</div>
ajax 调用:
submitHandler:function(form){
var jsonObj = getData();
if(confirm("You are about to send Email Communication, Are you sure..?")){
$.ajax({
type: "POST",
url: $("#applicationUrl").val() +"/web/utilities/sendEmailMessage",
dataType: 'json',
cache:false,
headers: {
'Content-Type': 'application/json'
},
data:JSON.stringify(jsonObj),
});
}
return false;
}
function getData(){
var object ={
emailSubject : $("#emailSubTxtArea").val(),
emailMsg : $("#emailBodyTxtArea").val()
};
return object;
}
弹簧代码:
private boolean executeSendingEmail(String[] emailAddrs, String emailSubject, String emailMsg) throws MessagingException,MailException, Exception {
MimeMessage message = null;
try{
message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(emailFrom);
helper.setTo(emailAddrs);
helper.setSubject(emailSubject);
helper.setText(emailMsg, true);
mailSender.send(message);
return true;
}
catch(MessagingException mesx){
mesx.printStackTrace();
return false;
}
catch(MailException mx){
mx.printStackTrace();
return false;
}
catch(Exception ex){
ex.printStackTrace();
return false;
}
}
}
我能够成功发送电子邮件..但它不是用户在表单中输入的格式..下面是我的 o/p 电子邮件..
输出:
HI Team, this is Test mail sending form Admin Application.... Sending this email for testing purpose... Ignore this mail.. regards, Admin.
因此需要帮助格式化用户输入的电子邮件消息 - 这应该与用户输入的相同.. 谢谢
【问题讨论】:
-
您需要发送带有 HTML 正文的电子邮件,还是只是纯文本?如果只是纯文本就可以了,则将
helper.setText(emailMsg, true);更改为helper.setText(emailMsg);。否则,您可以搜索“stackoverflow convert textarea value to html”并找到答案。 -
嗨,约翰,我需要以 HTML 正文/样式发送它...将对此进行探索..如果可以的话,您能帮我吗..?
-
由于您需要发送 HTML,我认为您必须执行 @Mudassar 建议的操作,或者将文本放入
<pre>元素中。如果您在 Google 上搜索“stackoverflow 将 textarea 值转换为 html”,您会发现其他建议。这是a question 的一些可能的答案。
标签: java jquery html spring spring-mvc