如何在java电子邮件类中发送html标记?
我想将下面提到的结果发送到电子邮件,并希望在电子邮件中仔细接收它们。因此,我决定使用html代码,但没有结果 caputure.png图像 代码: 公共静态void sendresult(ShowResultModel showuserresulttable){如何在java电子邮件类中发送html标记?,java,Java,我想将下面提到的结果发送到电子邮件,并希望在电子邮件中仔细接收它们。因此,我决定使用html代码,但没有结果 caputure.png图像 代码: 公共静态void sendresult(ShowResultModel showuserresulttable){ 最终字符串用户名=***** 最终字符串密码=*****; Properties props=新属性(); props.put(“mail.smtp.auth”,“true”); props.put(“mail.smtp.starttl
最终字符串用户名=*****
最终字符串密码=*****;
Properties props=新属性();
props.put(“mail.smtp.auth”,“true”);
props.put(“mail.smtp.starttls.enable”、“true”);
put(“mail.smtp.host”、“smtp.gmail.com”);
props.put(“mail.smtp.port”,“587”);
会话=会话.getInstance(props,
新的javax.mail.Authenticator(){
受保护的密码身份验证getPasswordAuthentication(){
返回新密码身份验证(用户名、密码);
}
});
试一试{
Message Message=新的mimessage(会话);
message.setFrom(新的InternetAddress(“mekteb48@gmail.com"));
message.setRecipients(message.RecipientType.TO,
InternetAddress.parse(“iismayilov028@gmail.com"));
message.setSubject(“Exammer结果:+showuserresulttable.getUsername());
DecimalFormat formatter=新的DecimalFormat(“0.00”);
字符串消息=”;
double-resultpercent=showuserresulttable.getScore()/(double)showuserresulttable.getTotalanswer()*100;
消息+=“用户名:”+showUserResultable.getUsername()+“
”;
消息+=“Subject”+showUserResultable.getSubject()+“
”;
消息+=“变量:”+showUserResultable.getVariant()+“
”;
消息+=“结果分数:”+showuserresulttable.getScore()+“
”;
消息+=“总问题:”+showUserResultable.getTotalanswer()+“
”;
消息+=“得分百分比:”+resultpercent+“
”;
消息+=“Spendtime:”+ShowUserResultable.getSpendtime()+“第二个”+“
”;
消息+=“Examdate:+ShowUserResultable.getExamdate();
message.setText(message);
传输。发送(消息);
System.out.println(“Mail gonderildi!”);
}捕获(消息异常e){
抛出新的运行时异常(e);
}
}
而不是message.setText(message)
应该使用message.setText(message,true)
此处true
表示html
(是否使用默认内容类型(“text/plain”)为html邮件应用内容类型“text/html”)
另外,如果您使用的是thymeleaf或freemarker,那么您可以在那里使用模板。而不是
message.setText(message)
应该使用message.setText(message,true)
此处true
表示html
(是否使用默认内容类型(“text/plain”)为html邮件应用内容类型“text/html”)
另外,如果您使用的是thymeleaf或freemarker,那么您可以在那里使用模板。可能重复的可能重复的可能重复的可能重复的我尝试您的建议,但当我在类中写true时,我得到红色下划线错误,“部分设置文本字符串无法应用”,怎么办?您使用spring javacv邮件依赖项还是其他?我不使用spring。我用ide intellejis编码,导入了下面提到的JAR:import java.text.DecimalFormat;导入java.util.List;导入java.util.Properties;导入javax.mail.Message;导入javax.mail.MessaginException;导入javax.mail.PasswordAuthentication;导入javax.mail.Session;导入javax.mail.Transport;导入javax.mail.internet.InternetAddress;导入javax.mail.internet.mimessage;请加上这一行message.setContent(message,“text/html;charset=utf-8”);'另外,请删除message.setText(message):;行请加上这行message.setContent(message,“text/html;charset=utf-8”);'另外,请删除message.setText(message):;Line我试着给出你的建议,但当我在课堂上写true时,我得到了红色下划线错误,“部分设置文本字符串无法应用”,怎么办?你使用spring javacv邮件依赖还是其他?我不使用spring。我用ide intellejis编码,导入了下面提到的JAR:import java.text.DecimalFormat;导入java.util.List;导入java.util.Properties;导入javax.mail.Message;导入javax.mail.MessaginException;导入javax.mail.PasswordAuthentication;导入javax.mail.Session;导入javax.mail.Transport;导入javax.mail.internet.InternetAddress;导入javax.mail.internet.mimessage;请加上这一行message.setContent(message,“text/html;charset=utf-8”);'另外,请删除message.setText(message):;行请加上这行message.setContent(message,“text/html;charset=utf-8”);'另外,请删除message.setText(message):;线
final String username = *****
final String password = ******;
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("mekteb48@gmail.com"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("iismayilov028@gmail.com"));
message.setSubject("Exammer result :" + showuserresulttable.getUsername() );
DecimalFormat formatter = new DecimalFormat("#0.00");
String MESSAGE = " ";
double resultpercent = showuserresulttable.getScore() /(double) showuserresulttable.getTotalanswer()*100;
MESSAGE+="<b>Username:</b> " + showuserresulttable.getUsername() + "<br><hr>";
MESSAGE+="<b>Subject</b>" + showuserresulttable.getSubject() + "<br><hr>";
MESSAGE+="<b>Variant :</b>" + showuserresulttable.getVariant() + "<br><hr>";
MESSAGE+="<b>Score of result:</b>" + showuserresulttable.getScore() + "<br><hr>";
MESSAGE+="<b>Total question :</b>" + showuserresulttable.getTotalanswer()+ "<br><hr>";
MESSAGE+="<b> Score percent:</b>" + resultpercent + "<br><hr>";
MESSAGE+="<b>Spendtime:</b>" + showuserresulttable.getSpendtime() + "second" + "<br><hr>";
MESSAGE+="<b>Examdate:</b>" + showuserresulttable.getExamdate() ;
message.setText(MESSAGE);
Transport.send(message);
System.out.println("Mail gonderildi!");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}