Я пытаюсь отправить электронное письмо с использованием кода Java, но работает от GroovyConsole. Он отлично работает, когда я просто отправляю электронное письмо без вложений, но он терпит неудачу, как только я добавляю в многостраничную логику для вложений.Отправка сообщения электронной почты: нет объекта DCH для MIME-типа multipart/mixed
EDIT: Я использую JavaMail версии 1.4.7
Это ошибка, я получаю.
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed;
boundary="----=_Part_16_24710054.1375885523061"
at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:891)
, и это происходит на линии Transport.send (mimeMsg) ниже.
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
Properties properties = new Properties()
Session session
MimeMessage mimeMsg
properties.put("mail.smtp.host", "[my host ip]")
session = Session.getDefaultInstance(properties)
mimeMsg = new MimeMessage(session)
String recipient = "[to email address]"
mimeMsg.addRecipient(Message.RecipientType.TO, new InternetAddress(recipient))
mimeMsg.setSubject("This is the subject")
mimeMsg.setText("This is the message #1")
mimeMsg.setFrom(new InternetAddress("[from email address]"))
BodyPart messageBodyPart = new MimeBodyPart()
messageBodyPart.setText(mimeMsg.getContent())
Multipart multipart = new MimeMultipart()
String filePath = "[full & correct path to test.txt]"
DataSource source = new FileDataSource(filePath)
messageBodyPart.setDataHandler(new DataHandler(source))
String fileName = "test.txt"
messageBodyPart.setFileName("test.txt")
multipart.addBodyPart(messageBodyPart)
mimeMsg.setContent(multipart)
Transport.send(mimeMsg)
println "Message Sent!"
Какую версию JavaMail вы используете? –
Я использую версию 1.4.7 – twbbas
THink это проблема классаLoader с консолью, см. Ниже :-) –