`
lzstone
  • 浏览: 94051 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

JavaMail发送邮件具有附件功能

    博客分类:
  • java
阅读更多

         protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        String sendMan = request.getParameter("sendMan");//发送人
        String haveMan = request.getParameter("haveMan");//接收人,多者用,分割
        String haveTitle = request.getParameter("haveTitle");//标题
        String havecontext = request.getParameter("havecontext");//内容
        String haveimg = request.getParameter("haveimg");//附件图片
        String havefj = request.getParameter("havefj");//附件文本
        Properties props = new Properties();
        props.setProperty("mail.transport.protocol", "smtp");
        props.setProperty("mail.smtp.auth", "true");
        props.setProperty("mail.host", "smtp.gmail.com");//邮件服务器为GMail
        props.setProperty("mail.smtp.socketFactory.class",
                "javax.net.ssl.SSLSocketFactory");
        props.setProperty("mail.smtp.socketFactory.fallback", "false");
        props.setProperty("mail.smtp.port", "465");
        props.setProperty("mail.smtp.socketFactory.port", "465");
        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication("username",
                        "password");
            }
        });
        Message message = new MimeMessage(session);
        try {
            message.setFrom(new InternetAddress(sendMan));
            message.setSubject(haveTitle);
            message.setRecipients(RecipientType.TO, InternetAddress
                    .parse(haveMan));//群发
            MimeMultipart msgMultipart = new MimeMultipart("mixed");//mixed是一种形式,包含附件与邮件本体的并行结构
            message.setContent(msgMultipart);

            MimeBodyPart havefjPart = new MimeBodyPart();       
            MimeBodyPart haveimgPart = new MimeBodyPart();
            msgMultipart.addBodyPart(havefjPart);       
            msgMultipart.addBodyPart(haveimgPart);

            DataSource ds1 = new FileDataSource(havefj);
            DataHandler dh1 = new DataHandler(ds1 );
  //需要引入activation.jar
            havefjPart.setDataHandler(dh1);
            havefjPart.setFileName(
                    MimeUtility.encodeText("fijian1.txt") //设置附件文件名称
                    );
           
            DataSource ds2 = new FileDataSource(
                    haveimg   
                );
            DataHandler dh2 = new DataHandler(ds2 );
            haveimgPart.setDataHandler(dh2);       
            haveimgPart.setFileName("logo.gif");
           
            MimeMultipart bodyMultipart = new MimeMultipart("related");
           
            MimeBodyPart htmlPart = new MimeBodyPart();
            bodyMultipart.addBodyPart(htmlPart);
            htmlPart.setContent(havecontext,
            "text/html;charset=gbk");
            message.saveChanges();//生成邮件
            Transport.send(message);//发送
            request.getRequestDispatcher("/success.jsp").forward(request,
                    response);
        } catch (AddressException e) {
            e.printStackTrace();
            request.getRequestDispatcher("/failed.jsp").forward(request,
                    response);
        } catch (MessagingException e) {
            e.printStackTrace();
            request.getRequestDispatcher("/failed.jsp").forward(request,
                    response);
        }
    }

分享到:
评论

相关推荐

    使用JAVAMail代发邮件

    这个类称为 MailInfo,包含了邮件的各种信息,例如邮件服务器的主机名和端口号、邮件发送者的地址、邮件接收者的地址、邮件主题、邮件内容、邮件附件等。 在 MailInfo 类中,我们定义了多个成员变量,用于存储邮件...

    JavaMail发送邮件(文本、html、附件)

    这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、HTML和包含附件的邮件,以及在实际应用中需要注意的配置步骤。 1. *...

    javamail收取邮件(包括附件)

    在JavaMail中,我们可以利用其API来实现邮件的收发功能,包括处理附件。下面我们将详细探讨如何使用JavaMail API实现邮件的收取,特别是如何通过POP3和IMAP协议获取邮件信息。 首先,确保你的项目中已经引入了...

    javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码

    ### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...

    用javaMail发送邮件

    下面是一个简单的JavaMail发送邮件的步骤: 1. **导入必要的库**:首先,在项目中导入`mail.jar`和`activation.jar`,确保编译和运行时能够访问到这些库。 2. **配置邮件会话**:创建一个`Properties`对象,设置...

    JavaMail发送邮件的例子

    下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...

    james和javamail实现邮件收发(带发送附件)

    下面是一个简化的JavaMail发送邮件的过程: 1. **配置邮件会话**:首先,我们需要创建一个`Properties`对象,并设置SMTP服务器的相关参数,如主机名和端口号。然后,通过`Session.getInstance()`方法初始化一个邮件...

    JavaMail(3)——发送带附件的邮件.docx

    下面将详细解释如何利用JavaMail发送带有附件的邮件。 首先,你需要导入以下关键的JavaMail和Java Activation Framework (JAF) 类: ```java import javax.mail.*; import javax.mail.internet.*; import javax....

    javaMail 发邮件

    这个例子展示了如何使用JavaMail发送带附件的邮件。需要注意的是,实际应用中应处理各种异常,确保邮件发送的健壮性。此外,如果你的邮件服务器需要身份验证,还需要提供一个Authenticator来处理登录信息。 总的来...

    JavaMail 具备垃圾邮件过滤功能的邮箱

    JavaMail 是一个强大的Java库,它允许开发人员在Java应用程序中实现邮件的发送、接收以及管理功能。这个项目不仅提供了SMTP、POP3和IMAP协议的支持,还包含了丰富的API,可以方便地处理邮件的MIME编码、附件、HTML...

    利用JavaMail发送邮件的实例,可以直接运行

    8. **使用JavaMail发送HTML邮件**:通过设置`MimeMessage`的`setContent()`方法,可以发送包含HTML的邮件。 ```java message.setContent("<h1>HTML邮件标题</h1><p>这是HTML邮件正文。</p>", "text/html;charset=...

    javamail发送邮件(带附件)

    这个资源提供了一个具体的示例,展示了如何使用JavaMail API 来发送带有附件的邮件。以下是对这个主题的详细解释: 首先,你需要理解JavaMail的核心组件。`javax.mail` 和 `javax.mail.internet` 包含了发送邮件所...

    javamail发送邮件和附件一个例子,直接eclipse运行

    以上代码片段展示了如何使用JavaMail发送带有附件的邮件。在Eclipse中运行时,记得替换相应的参数,如邮件服务器的地址、端口、用户名和密码,以及发件人和收件人的邮箱地址。如果有任何疑问,你可以联系Q 397764284...

    javamail发送邮件.zip

    这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...

    javamail实现邮件发送(支持多接收人、多附件)

    本教程将详细讲解如何使用 JavaMail 实现邮件发送功能,包括支持多个接收人、抄送人以及添加多个附件。 首先,确保你已经添加了 JavaMail 的依赖库到你的项目中。如果是 Maven 项目,可以在 pom.xml 文件中添加以下...

    javamail发邮件(带附件)

    JavaMail API提供了非常强大的功能来支持这些需求,包括发送纯文本邮件、HTML格式邮件以及带有附件的邮件等。本文将详细介绍如何使用JavaMail API发送带有附件的电子邮件。 #### 邮件验证 邮件发送前的一个重要...

    JavaMail实现邮件发送功能,可发送、抄送、密送多人,支持多附件的发送

    通过以上步骤,你就可以利用 JavaMail 实现功能完备的邮件发送了,包括向多个人发送邮件、设置抄送和密送,以及添加多个附件。注意,实际使用时,你需要根据你的邮件服务提供商调整相应的配置参数,例如对于其他邮箱...

    用JAVAMAIL发邮件(含附件),.TXT

    用JAVAMAIL发邮件(含附件),. TXT用JAVAMAIL发邮件(含附件),.TXT

    javamail发邮件(带附件功能)

    根据提供的文件信息,本文将详细解释如何使用JavaMail在Java应用程序中发送...以上是关于如何使用JavaMail发送普通邮件以及带有附件的邮件的主要知识点。这些技术可以帮助开发者轻松地在Java应用程序中集成邮件功能。

    Gmail邮件通过JavaMail发送(不带附件与带一个附件)

    在使用JavaMail发送邮件前,你需要在项目中引入相关的依赖包。在描述中提到的"javamail"可能是指JavaMail的jar包,这是进行邮件操作的基础。确保你的项目已包含以下两个关键的JavaMail库: 1. `javax.mail-api.jar`...

Global site tag (gtag.js) - Google Analytics