教育目的で、ファイルとして保存せずに、Jav Mail を使用して、byte[] を直接送信しようとしています。
私はこれを持っています:
Properties props = new Properties();
props.put("mail.debug", "true");
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.host", SMTP_HOST_NAME);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.port", "587");
Authenticator auth = new SMTPAuthenticator();
Session mailSession = Session.getDefaultInstance(props, auth);
Transport transport = mailSession.getTransport();
MimeMessage message = new MimeMessage(mailSession);
message.setSubject (asunto, "text/plain");
message.setContent(mensaje, "text/plain");
message.setSentDate (new java.util.Date());
message.setFrom(new InternetAddress(SMTP_AUTH_USER));
InternetAddress address[] = new InternetAddress[destino.length];
for( int i = 0; i < destino.length; i++ ) {
address[i] = new InternetAddress ( destino[i] );
}
message.setRecipients (Message.RecipientType.TO, address);
if (adjuntos){
MimeBodyPart mbp = new MimeBodyPart();
mbp.setFileName("AttachedFile");
DataSource ds = new ByteArrayDataSource(archive, MIME);
mbp.setDataHandler(new DataHandler(ds));
}
transport.connect();
transport.sendMessage(message,message.getRecipients(Message.RecipientType.TO));
transport.close();
しかし、私がメールを受け取ったとき、添付ファイルはありません。私は専門家ではありませんが、MimeBodyPart はメッセージに「添付」されていないと思います。
前もって感謝します!