我正在尝试使用 gmail 帐户通过雅加达邮件发送警报,为此我想发送有关该主题的 🚨 表情符号。
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(usr, pass);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
Address[] toUser = InternetAddress
.parse(toEmail);
message.setRecipients(Message.RecipientType.TO, toUser);
message.setSubject("\uD83D\uDEA8"+" This is an alert "+"\uD83D\uDEA8");
message.setContent(messageText, "text/html; charset=utf-8");
Transport.send(message);
}
我已经尝试了有关此问题的所有答案,但我收到了?每次我尝试通过 tomcat 服务器发送它时,使用 psvm 可以使用类似“\uD83D\uDEA8”+”的内容,这是一个警报“+”\uD83D\uDEA8”。
不要将 MimeMessage 向上转换为 Message。 MimeMessage 有一个方法
MimeMessage.setSubject(String subject, String charset)
它将字符集作为附加参数。
Session session = Session.getInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(usr, pass);
}
});
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
Address[] toUser = InternetAddress
.parse(toEmail);
message.setRecipients(Message.RecipientType.TO, toUser);
message.setSubject("\uD83D\uDEA8"+" This is an alert "+"\uD83D\uDEA8", "UTF-8");
message.setContent(messageText, "text/html; charset=utf-8");
Transport.send(message);
}