我有一个发送邮件的功能,但现在我需要附上一份文件,但我不知道该怎么做,或者我能做到,这里是代码
public void enviar(){
Properties props = System.getProperties();
props.put("mail.smtp.starttls.enable", true); // added this line
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.user", "xxxx@gmail.com");
props.put("mail.smtp.password", "xxxx");
props.put("mail.smtp.port", "587");
props.put("mail.smtp.auth", true);
Session session = Session.getInstance(props,null);
MimeMessage message = new MimeMessage(session);
// Create the email addresses involved
try {
InternetAddress from = new InternetAddress("xxxx@gmail.com");
message.setSubject("Informe fichadas");
message.setFrom(from);
message.addRecipients(Message.RecipientType.TO, InternetAddress.parse("xxxx@gmail.com"));
// Create a multi-part to combine the parts
Multipart multipart = new MimeMultipart("alternative");
// Create your text message part
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("some text to send");
// Add the text part to the multipart
multipart.addBodyPart(messageBodyPart);
// Create the html part
messageBodyPart = new MimeBodyPart();
String htmlMessage = "Informe fichadas";
messageBodyPart.setContent(htmlMessage, "text/html");
multipart.addBodyPart(messageBodyPart);
// Associate multi-part with message
message.setContent(multipart);
// Send message
Transport transport = session.getTransport("smtp");
transport.connect("smtp.gmail.com", "user", "pass");
System.out.println("Transport: "+transport.toString());
transport.sendMessage(message, message.getAllRecipients());
} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我如何附加文件?该文件位于此路径中(C:\ hola.txt)
答案 0 :(得分:2)
添加
// Part two as attachment
messageBodyPart = new MimeBodyPart();
String filename = "c:\hola.txt";
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
multipart.addBodyPart(messageBodyPart);
正上方
// Associate multi-part with message
message.setContent(multipart);
来源:http://www.tutorialspoint.com/javamail_api/javamail_api_send_email_with_attachment.htm