`
niunan
  • 浏览: 721351 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

JAVA发送Email

    博客分类:
  • JAVA
阅读更多
       今天老师讲完第四章了,JAVAMAIL的,主要就是用JAVA来发送邮件了,嘿嘿,这样看来,后天的上机课是能够开网了,呵呵,好爽,今天讲课主要就是用JAVAMAIL发送邮件的,下面是发送邮件的代码:
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
 
public class SendMail {
    public static void main(String[] args) {
        try {
           Properties p = new Properties(); //Properties p = System.getProperties();
            p.put("mail.smtp.auth", "true");
            p.put("mail.transport.protocol", "smtp");
            p.put("mail.smtp.host", "smtp.163.com");
            p.put("mail.smtp.port", "25");
            //建立会话
            Session session = Session.getInstance(p);
            Message msg = new MimeMessage(session); //建立信息
 
            msg.setFrom(new InternetAddress("bluebit_cn@163.com")); //发件人
            msg.setRecipient(Message.RecipientType.TO,
                             new InternetAddress("javaonline@163.com")); //收件人
 
            msg.setSentDate(new Date()); // 发送日期
            msg.setSubject("答话稀有"); // 主题
            msg.setText("快点下在"); //内容
            // 邮件服务器进行验证
            Transport tran = session.getTransport("smtp");
            tran.connect("smtp.163.com", "bluebit_cn", "xiaohao");
            // bluebit_cn是用户名,xiaohao是密码
            tran.sendMessage(msg, msg.getAllRecipients()); // 发送
            System.out.println("邮件发送成功");
 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

     上面的代码是一个简单的用JAVA发送邮件的例子,其中我们是用163的邮箱来发送邮件的,所以服务器是smtp.163.com,然后发件人是bluebit_cn@163.com,注意,因为我们是用163的服务器来发送邮件的,所以我们的发件人就必须是163的邮箱,至于收件人的话可以是任意的邮箱。
       整个发邮件的思想:导入相关的包→生成属性对象→创建javamail会话→编写javamail消息→发送javamail消息。
       导入包用不着多说,生成属性对象的话就是开关部分,这个的话全世界都是一样的,只是注意那个邮件服务器的设置就行,对了,额外说句,发送邮件是用SMTP协议,接收邮件才是POP3协议或者其他的。。。
下面的话还是发送邮件的,不过是通过HTML网页来发送的,网页制作我就不多说了,下面是源码,而且是带有附件的源码:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;


public class sendMailMul extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=GBK";

    //Initialize global variables
    public void init() throws ServletException {
    }

    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        request.setCharacterEncoding("gbk");
        response.setCharacterEncoding("gbk");

        String mailServer = request.getParameter("txtServer").trim();
        String mailFrom = request.getParameter("txtFrom").trim();
        String mailTo = request.getParameter("txtTo").trim();
        String mailSubject = request.getParameter("txtSubject").trim();
        String mailMessage = request.getParameter("txtMessage").trim();
        String file = request.getParameter("txtAttachment").trim();

        mailSubject = new String(mailSubject.getBytes("ISO-8859-1"), "gbk");
        mailMessage = new String(mailMessage.getBytes("ISO-8859-1"), "gbk");
        file = new String(file.getBytes("ISO-8859-1"), "gbk");

        System.out.println("页面数据:");
        System.out.println("mailServer:" + mailServer);
        System.out.println("mailFrom:" + mailFrom);
        System.out.println("mailTo:" + mailTo);
        System.out.println("mailSubject:" + mailSubject);
        System.out.println("mailMessage:" + mailMessage);
        System.out.println("file:" + file);

        Properties p = new Properties();
        p.put("mail.smtp.auth", "true");
        p.put("mail.transport.protocol", "smtp");
        p.put("mail.smtp.host", mailServer);
        p.put("mail.smtp.port", "25");

        Session mailsession = Session.getInstance(p);

        MimeMessage msg = new MimeMessage(mailsession);

        try {
            msg.setFrom(new InternetAddress(mailFrom));
            msg.setRecipients(Message.RecipientType.TO,
                              InternetAddress.parse(mailTo));
            msg.setSentDate(new Date());
            msg.setSubject(mailSubject);

            //设置邮件内容,作为Multipart对象的一部分
            MimeBodyPart mbp = new MimeBodyPart();
            mbp.setText(mailMessage);
            Multipart mulp = new MimeMultipart();
            mulp.addBodyPart(mbp);
            //设置附件,作为Multipart对象的一部分
            mbp = new MimeBodyPart();
            DataSource source = new FileDataSource(file);
            mbp.setDataHandler(new DataHandler(source));
            mbp.setFileName(file);
            mulp.addBodyPart(mbp);
            //设置信息内容,将Multipart 对象加入信息中
            msg.setContent(mulp);

            Transport tran = mailsession.getTransport("smtp");
            tran.connect(mailServer, "bluebit_cn", "xiaohao");
            tran.sendMessage(msg, msg.getAllRecipients());

            msg.writeTo(System.out);
            out.println("邮件已经发送到<br>" + mailTo);

        } catch (Exception e) {
            e.printStackTrace();
        }

        out.close();
    }

    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
        doGet(request, response);
    }

    //Clean up resources
    public void destroy() {
    }
}
分享到:
评论
4 楼 OnJavaRoad 2008-11-07  
就是,培训有什么大不了。我是本科的,我班上很多同学毕业后都干不了软件开发,
如果他们想去搞软件开发估计也的去培训了。新注册的163邮箱好想不支持SMTP功能。
3 楼 yanghaiskys 2008-10-27  
上了就上了,有什么大不了,你们这些人,我公司有一个青鸟出来的,感觉还蛮牛的,比那些本科出来的,强多了.还好我是比他强
2 楼 niunan 2008-10-14  
   上完大专接着上青鸟,不过只上了二期!!!
1 楼 windowshead 2008-10-13  
LZ好象是培训学校出来的?

相关推荐

    java发送email超级大封装

    我发现网络中的关于java发送email的文章很多没有给全包,我下了三次才下全,现在我整理全了发给大家。所以我的项目所用的包都很常见。如果你在拷包时,发现报告重复,那么就不要拷了,说明你的系统中有此包。

    Java发送email:spring email、微软ews

    本篇文章将深入探讨如何使用Java结合Spring框架和微软的Exchange Web Services (EWS)来发送电子邮件。 首先,让我们从Spring Email说起。Spring Framework提供了`spring-context-support`模块,其中包含了一个Email...

    java发送email邮件.

    demo介绍:http://blog.csdn.net/love_xiolan/article/details/56016576 java发送email邮件 1.发送普通email邮件 2.发送带附件的email邮件 3.邮件抄送和密送 4.发送html邮件 5.发送模板文件

    java发送Email_群发email.rar

    这个名为"java发送Email_群发email.rar"的压缩包文件很可能包含了关于如何使用Java进行邮件发送,特别是群发邮件的相关教程或代码示例。 在Java中,发送电子邮件主要依赖于JavaMail API。这是一个强大的库,它提供...

    java 发送Email 需要的包

    总的来说,`activation-1.1.jar`、`mail-1.4.jar`和`commons-email-1.2.jar`这三个库是Java应用程序发送电子邮件的基础。它们提供了处理MIME类型、连接邮件服务器以及构建和发送邮件所需的所有功能,极大地简化了...

    使用java发送Email

    ### 使用Java发送Email 在Java开发中,电子邮件(Email)是一种常见的通信手段,尤其是在系统通知、用户注册验证等场景中非常实用。本文将详细介绍如何利用Java编写程序来发送Email。 #### 一、所需库及配置 为了...

    java发送email

    Java提供了多种库来实现这一功能,最常用的莫过于JavaMail API。本文将深入探讨如何使用Java发送电子邮件,包括基本原理、所需的组件、代码...通过阅读提供的"java发送Email文档",你可以获取更详细的指导和解决方案。

    [总结]Java发送Email

    本文将深入探讨如何使用Java发送Email,并基于给出的标签和压缩包文件来解析相关知识点。 首先,标题 "[总结]Java发送Email" 暗示我们将讨论Java中的邮件API以及其使用方法。在Java中,发送邮件主要依赖于JavaMail ...

    java发送Email邮件

    本文将详细讲解如何使用Java发送Email邮件,包括必要的库、步骤和关键概念。 首先,发送电子邮件需要用到JavaMail API,这是一个Java库,提供了一组接口和类来处理SMTP(简单邮件传输协议)和其他邮件协议。...

    通过Java发送Email ,简单入门。

    本篇文章将引导你入门如何使用Java发送Email,通过一个简单的实例来展示具体步骤。 首先,我们需要导入JavaMail API库,它提供了发送邮件所需的所有功能。在你的`pom.xml`(如果你使用的是Maven)或者`build.gradle...

    Java 发送 Email

    Java发送Email是一个常见的任务,尤其在企业级应用中,用于通知、验证或提供服务更新。在Struts2这个流行的Java Web框架中集成邮件发送功能,可以让应用程序自动化处理这些通信需求。下面将详细介绍如何在Struts2...

    java发送email依赖jar包

    以下是一个简单的Java发送邮件的示例,演示如何使用这三个jar包: ```java import org.apache.commons.mail.*; public class EmailSender { public static void main(String[] args) { SimpleEmail email = new ...

    java 发送email demo

    本文将详细讲解如何使用Java发送带有附件、抄送和密送功能的电子邮件,基于提供的"sendMail"文件名,我们可以推测这是一个包含示例代码的程序。 首先,Java Mail API是实现邮件发送功能的核心库。你需要引入以下...

    java发送email(HOT)本人测试过了, 带原码

    本人写的java发送Email类 可发三类Email: 1. 含有文本的 2. 含有HTML标签的 3. 带有附件的 如有问题Q我或Email QQ:13697654 Email:jiaoer840214@163.com ######### 一起学习,一起成长 ############

    java发送Email

    java发送Email的小程序,已经测试,简单实用,希望对大家有帮助。

    java发送Email示例.rar

    Java发送电子邮件是一个常见的任务,尤其在自动化通知、系统间通信或者用户验证等场景下。本示例代码将向您展示如何使用Java实现这一功能。在Java中,我们主要依赖JavaMail API来处理邮件的发送。 JavaMail API是...

    java发送Email的成功例子

    NULL 博文链接:https://zhaoshijie.iteye.com/blog/804332

    java发送email举例

    Java发送电子邮件是一个常见的任务,尤其在自动化通知、订阅服务或者数据传输等方面。在这个例子中,我们看到一个关于如何使用Java发送电子邮件的实例。关键依赖是一个名为`mail-1.4.7.jar`的库,它是JavaMail API的...

    java 发送email 邮件

    本教程将深入探讨如何使用Java发送带有附件、支持多接收者且解决乱码问题的电子邮件。 首先,我们需要导入JavaMail API,这是一个用于处理电子邮件的开放源代码库。在Java项目中,可以通过以下Maven依赖引入: ```...

Global site tag (gtag.js) - Google Analytics