gpt4 book ai didi

Java电子邮件内容为空

转载 作者:行者123 更新时间:2023-12-02 04:41:43 25 4
gpt4 key购买 nike

我有一些代码片段,可以用来发送带有 Excel 文件附件的电子邮件。一切正常,我可以看到标题,甚至文件附件。唯一没有出现的是电子邮件内容。我已经测试过我的 emailContent 变量不为空。我还能做什么来让它出现?我什至启用了这行代码 messageBodyPart.setText(emailContent);但还是一样。但如果启用此部分 multipart1.addBodyPart(emailContent);我收到错误

 error: no suitable method found for addBodyPart(String)
multipart1.addBodyPart(emailContent);

try
{

Message emailMessage = new MimeMessage(mailSession);
emailMessage.setFrom(new InternetAddress(origin1));
emailMessage.addRecipient(Message.RecipientType.TO,new InternetAddress(receiptnt1));
emailMessage.addRecipient(Message.RecipientType.TO,new InternetAddress(receiptnt2));
emailMessage.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc1));
emailMessage.setSubject(emailTitle);
emailMessage.setText(emailContent);

BodyPart messageBodyPart = new MimeBodyPart();

// Fill the message
//messageBodyPart.setText(emailContent);*/

Multipart multipart1 = new MimeMultipart();
// Part two is attachment
messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
multipart1.addBodyPart(messageBodyPart);

// Put parts in message
emailMessage.setContent(multipart1);
//System.out.println("\n\nSend email :"+eMArray[0]);

transport.sendMessage(emailMessage, emailMessage.getAllRecipients());


}
catch (Exception e)
{
System.out.println("Transport Problem");
e.printStackTrace();
}

最佳答案

您已初始化

BodyPart messageBodyPart = new MimeBodyPart();

两次。在第二次初始化之前,您将添加正文内容。所以删除该行

messageBodyPart = new MimeBodyPary();

线路,它会正常工作。

使用以下代码。

Message emailMessage = new MimeMessage(mailSession);
emailMessage.setFrom(new InternetAddress(origin1));
emailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(receiptnt1));
emailMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(receiptnt2));
emailMessage.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc1));
emailMessage.setSubject(emailTitle);
// emailMessage.setText(emailContent);

Multipart multipart1 = new MimeMultipart();
BodyPart messageBodyPart = new MimeBodyPart();
// Fill the message
messageBodyPart.setText(emailContent);
// Part two is attachment
BodyPart attachment = new MimeBodyPart();
DataSource source = new FileDataSource(filename);
attachment.setDataHandler(new DataHandler(source));
attachment.setFileName(filename);
multipart1.addBodyPart(attachment);
multipart1.addBodyPart(messageBodyPart);
// Put parts in message
emailMessage.setContent(multipart1);
//System.out.println("\n\nSend email :"+eMArray[0]);
transport.sendMessage(emailMessage, emailMessage.getAllRecipients());

关于Java电子邮件内容为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30107807/

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