私は、Java GUIを使用してマルチファイル添付ファイルを使用してメールを送信する方法を作成しました。メソッドがメールを送信すると、Microsoft Officeやpdfのような添付ファイルタイプがBitSarverとして受信メールに送信されます。他の自動システムでも添付ファイルを読み込んで印刷できるように、ファイルをタイプして送信する必要があります。JavaMailがBitSarverファイルを送信しましたが、PDFファイルではありません
これが方法です。
static public boolean sendMail(String to,String subject,String text_filed)
{
Properties props = new Properties();
props.put("mail.smtp.host","smtp.gmail.com");
props.put("mail.smtp.socketFactory.port ","465");
props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth","true");
props.put("mail.smtp.port","465");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator(){
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("eamil", pass);
}
}
);
try
{
Message m = new MimeMessage(session);
m.setFrom(new InternetAddress(userMAil));
System.out.println("from "+userMAil);
m.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
System.out.println("to "+to);
m.setSubject(subject);
System.out.println("the subject "+subject);
MimeBodyPart bodypart = new MimeBodyPart();
bodypart.setText(text_filed);
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(bodypart);
System.out.println("the content "+text_filed);
for(int i = 0;i< main_controller.attachments_path.size();i++)
{
bodypart = new MimeBodyPart();
DataSource source = new FileDataSource(main_controller.attachments_path.get(i));
System.out.println("the file location"+main_controller.attachments_path.get(i));
bodypart.setDataHandler(new DataHandler(source));
//bodypart.setFileName(main_controller.filesFrame.getFilename());
System.out.println("the file name"+main_controller.filesFrame.getFilename());
multipart.addBodyPart(bodypart);
}
m.setContent(multipart);
//m.setText(text_filed);
Transport.send(m);
JOptionPane.showMessageDialog(null, "done!");
return true;
}
catch(Exception e)
{
String m = e.getMessage();
JOptionPane.showMessageDialog(null, e);
System.out.println(m);
return false;
}
}
はあなたが私を助けることができると思います。問題はこれに関連している可能性が似D
私は試しましたが、私はまだ同じ結果を得ます。 'm.saveChanges(); m.setContent(multipart); Transport.send(m); ' –