【发布时间】:2016-04-18 22:28:55
【问题描述】:
我已经编写了一个通过 java 邮件 API 发送的代码。一切正常,但是我发送的纯文本被收件人以可下载附件而不是纯文本消息的形式接收。
我不知道为什么会这样。 下面给出的是我运行它时的代码及其输出。
String toEmail=request.getParameter("email");
String subject=request.getParameter("subject");
String message=request.getParameter("message");
String fromEmail="suyash.tilhari12@gmail.com";
String username="suyash.tilhari12";
String password="********";
mailSender.sendEmail(fromEmail, username, password, toEmail, subject, message);
public void sendEmail(String fromEmail,String username,String password,
String toEmail,String subject,String message)
{
try
{
Properties props= System.getProperties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.fallback", "false");
Session mailSession = Session.getDefaultInstance(props, null);
mailSession.setDebug(true);
Message mailMessage=new MimeMessage(mailSession);
mailMessage.setFrom(new InternetAddress(fromEmail));
mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(toEmail));
mailMessage.setContent(message, "html/text");
mailMessage.setSubject(subject);
Transport transport=mailSession.getTransport("smtp");
transport.connect("smtp.gmail.com",username,password);
transport.sendMessage(mailMessage, mailMessage.getAllRecipients());
}
catch (Exception ex) {
Logger.getLogger(MailSenderBean.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
我使用过 Java Mail API、NetBeans IDE、Glassfish Server、Enterprise JAVA Bean。
结果如下:
邮件收件人- 看,简单的短信是附件的形式。
邮件在此附件中,现在已下载并打开-
这是怎么引起的,我该如何解决?
【问题讨论】:
标签: java jakarta-mail plaintext