gpt4 book ai didi

java - 在 groovy 中发送邮件

转载 作者:行者123 更新时间:2023-11-30 08:06:43 27 4
gpt4 key购买 nike

我已经在我的程序中编写了这段代码,当我在附件中传递文件路径时它成功发送了邮件(例如:attachment = "/home/Aman/file.txt")* 但它在发送邮件时抛出 IOException 当我不需要附加任何文件时。* 我已经尝试在 messageBodyPart.attachFile(attachment) 之前应用条件但是它也抛出相同的异常。

def sendMail(String message, String attachment, String subject) {
Properties properties = System.getProperties()
properties.setProperty("mail.smtp.host", eMailSMTPHost)
properties.setProperty("mail.smtp.port", eMailSMTPIPPort)
Session session = Session.getDefaultInstance(properties)
try{
// Create a default MimeMessage object.
MimeMessage msg = new MimeMessage(session)
msg.setFrom(new InternetAddress(eMailSendFrom))
eMailSendTo.split(',').each(){ item -> msg.addRecipient(Message.RecipientType.TO,
new InternetAddress(item) )
}
eMailSendCc.split(',').each(){ item -> msg.addRecipient(Message.RecipientType.CC,
new InternetAddress(item) )
}
msg.setSubject(subject)
BodyPart messageBodyPart = new MimeBodyPart()
messageBodyPart.setContent(message,"text/html")
Multipart multipart = new MimeMultipart()
multipart.addBodyPart(messageBodyPart)

messageBodyPart = new MimeBodyPart()
messageBodyPart.attachFile(attachment)
multipart.addBodyPart(messageBodyPart)

// Send the complete message parts
msg.setContent(multipart)
Transport.send(msg)
System.exit(0)
} catch(RuntimeException e) {
println e.getMessage()
}
}

最佳答案

if(!attachment.equals("") && !attachment.isEmpty()) {
BodyPart messageBodyPart = new MimeBodyPart()
messageBodyPart.setContent(message,"text/html")
Multipart multipart = new MimeMultipart()
multipart.addBodyPart(messageBodyPart)

messageBodyPart = new MimeBodyPart()
messageBodyPart.attachFile(attachment)
multipart.addBodyPart(messageBodyPart)
// Send the complete message parts
msg.setContent(multipart)
}
else {
msg.setContent(message, "text/html")
}

在代码片段中进行上述更改。它会起作用的。
由于 messageBodyPart.attachFile(attachment) 总是尝试访问该文件,因此,如果您不提供任何附件或任何无效文件作为附件,那么它将尝试访问不可用的文件并抛出IO异常。

关于java - 在 groovy 中发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34151492/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com