The method setContent(Multipart) in the type MimeMessage is not applicable for the arguments (MimeMultipart)

发布于 2021-11-17 03:03:11 字数 2785 浏览 12 评论 2

下面是我发送邮件的源代码:

        String to = request.getParameter("to");
        String subject = request.getParameter("subject");
        String emailContent = request.getParameter("emailContent");

        try
        {
            Properties props = new Properties();
            Session session = Session.getInstance(props);
            session.setDebug(false);
           
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            message.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
            message.setSubject(subject);
            message.setSentDate(new Date());
            MimeMultipart mp=new MimeMultipart();
           
            MimeBodyPart mdp = new MimeBodyPart();
            mdp.setContent(emailContent,"text/html;charset=GBK");
           
 
            mp.addBodyPart(mdp);
           
            message.setContent(mp);    //这里报错了,错误信息如题,求问这是怎么回事啊?坐等
            message.saveChanges();
           
            Transport transport = session.getTransport("smtp");
            transport.connect(host,from, password);
           
            transport.sendMessage(message,message.getAllRecipients());
            transport.close();

 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

路还长,别太狂 2021-11-17 22:25:00

如果将:

             MimeMultipart mp=new MimeMultipart();
           
            MimeBodyPart mdp = new MimeBodyPart();

 

改成:

 

            Multipart mp=new MimeMultipart();
           
            BodyPart mdp = new MimeBodyPart();

 

报错:

 

Type mismatch: cannot convert from MimeMultipart to Multipart

 

你曾走过我的故事 2021-11-17 04:58:38

如何我将

            MimeMultipart mp=new MimeMultipart();
           
            MimeBodyPart mdp = new MimeBodyPart();

 

改成:

            Multipart mp=new MimeMultipart();
           
            BodyPart mdp = new MimeBodyPart();

这一句话就不报错了:message.setContent(mp);  但是上面那两句就报错了,求问,是不是我的jar或者什么引用的不对啊?

 

下面是我的jar 引用:

import java.io.IOException;
import java.io.PrintWriter;

import javax.mail.Multipart;
import javax.mail.Session;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeBodyPart;
import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeMultipart;

import java.util.*;
import java.net.*;

 

 

 

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文