グループ内で電子メールを送信するために Java メール API を使用しました。FileDataSource を使用してファイルを取得し、マルチパート ファイルとして添付する DataHandler オブジェクトを認識しています。ただし、scala では使用できません。誰でもこれについて私を助けることができますか?
私のコードは次のとおりです。
def createMessage: Message = {
val properties = new Properties()
properties.put("mail.smtp.host", smtpHost)
properties.put("mail.smtp.port",smtpPort)
val session = Session.getDefaultInstance(properties, null)
return new MimeMessage(session)
}
var message: Message = null
message = createMessage
message.setFrom(new InternetAddress(from))
message.setSentDate(new Date())
message.setSubject(subject)
message.setText(content)
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to))
def sendMessage {
Transport.send(message)
}
message.sefileName を使用して添付ファイルのファイル名を設定できますが、実際のファイルを添付するにはどうすればよいですか。たとえば、Java では、次のような同様の結果を得ることができます。
MimeBodyPart messageBodyPart1 = new MimeBodyPart();
messageBodyPart1.setText(messageText);
MimeBodyPart messageBodyPart2 = new MimeBodyPart();
FileDataSource fdatasource = new FileDataSource(file);
messageBodyPart2.setDataHandler(new DataHandler(fdatasource));
messageBodyPart2.setFileName(fdatasource.getName)
Multipart mpart = new MimeMultipart();
mpart.addBodyPart(messageBodyPart1);
mpart.addBodyPart(messageBodyPart2);
message.setContent(mpart);