`

Javamail 两种不同方式分析

阅读更多
Javamail 两种不同方式分析
第一种: 登陆个人邮箱,以此邮箱为基础发送邮件:
 public static void sendTxtMail()
    {
        Properties props = new Properties();

        Session session = Session.getInstance(props, null);
        session.setDebug(true);// 打开debug模式,会打印发送细节到console
        Message message = new MimeMessage(session); // 实例化一个MimeMessage集成自abstract Message
                                                    // 。参数为session
        try
        {
            message.setFrom(new InternetAddress("xxxxxx")); // 设置发出方,使用setXXX设置单用户,使用addXXX添加InternetAddress[]

            message.setText("Test!"); // 设置文本内容 单一文本使用setText,Multipart复杂对象使用setContent

            message.setSubject("Test!"); // 设置标题

            message.setRecipient(Message.RecipientType.TO, new InternetAddress("mx91953@imcap.ap.ssmb.com")); // 设置接收方

            /**
             * 使用静态方法每次发送需要建立一个到smtp服务器的链接,你可以手动控制连接状态
             * ,通过session获得tansport,连接到mailserver,而session就可以使用Session
             * .getDefaultInstance(props,null);获得
             */
            Transport transport = session.getTransport("smtp");
            transport.connect("smtp.126.com", "xxxx, "xxxx");//用户名,密码
            message.saveChanges();
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
            
        }
        catch (Exception e)
        {
            // 此处处理AddressException异常 [The exception thrown when a wrongly formatted address is
            // encountered.]

        } 

    }

第二种 本地有邮件服务已经启动。 linux 或者window 都应该有。具体不清楚 例子为linux:
try
{
    String from = "XXXX" + InetAddress.getLocalHost().getHostName();//?????????
    String host = "localhost";
    Properties props = new Properties();

    props.put("mail.smtp.host", host);
    props.put("mail.debug", "true");//debug
    Session mailSession = Session.getInstance(props);

    Message msg = new MimeMessage(mailSession);

    msg.setFrom(new InternetAddress(from));
    InternetAddress[] address = { new InternetAddress(XXXXXXX) };//?????
    msg.setRecipients(Message.RecipientType.TO, address);
    msg.setSubject("Test"); // ????
    msg.setSentDate(new Date()); //??

    // Set message content
    msg.setText("Test"); // ????

    // Send the message
    Transport.send(msg); //??

}
catch (Exception mex)
{
    // Prints all nested (chained) exceptions as well
    mex.printStackTrace();
}






 
分享到:
评论

相关推荐

    javamail收取邮件(包括附件)

    它支持多种协议,如POP3(Post Office Protocol version 3)和IMAP(Internet Message Access Protocol),这两种协议常用于从邮件服务器检索邮件。在JavaMail中,我们可以利用其API来实现邮件的收发功能,包括处理...

    Android用JavaMail发送邮件

    ### Android使用JavaMail发送邮件详解 #### 背景与需求 在开发Android应用时,开发者经常需要一种机制来...这种方式不仅提高了应用的健壮性和可用性,还能够帮助开发者更高效地收集和分析问题反馈,从而提升用户体验。

    javamail 源码

    通过分析这些文件,你可以了解到 JavaMail 如何使用 Ant 和 Maven 进行构建,如何组织和测试代码,以及项目的一些元数据信息。对于学习 JavaMail 的源码,可以先从 `pom.xml` 开始了解项目结构和依赖,然后通过 `...

    基于JavaMail开发的Android邮箱项目源码.zip

    IMAP相比POP3更先进,支持离线阅读和管理邮件,JavaMail同样支持这两种协议。 二、Android环境下的JavaMail实现 1. **依赖引入**:在Android项目中,由于安全性和权限限制,不能直接使用JavaMail。通常需要通过第...

    JavaMail帐号激活与忘记密码实例源码

    JavaMail是一种在Java应用程序中处理电子邮件的标准API,它允许开发者发送和接收邮件,包括通过SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP(因特网消息访问协议)等协议。在JavaMail中,我们可以通过...

    基于Javamail的邮件收发系统(系统 论文 开题报告 任务书 外文翻译 文献综述 答辩PPT).rar

    JavaMail API支持这两种协议,使得用户可以在不同设备上同步和访问邮件。 4. **系统设计**: 邮件收发系统的设计应包括用户界面、邮件服务器连接模块、身份验证机制、错误处理和日志记录等功能。用户界面需要友好,...

    jsp/servlet javamail 发送邮件 可发送多个附件

    在Java Web开发中,JSP(JavaServer Pages)和Servlet是两种常见的技术,它们常用于构建动态网页和处理HTTP请求。在这个场景下,我们讨论的是一个使用JSP和Servlet实现的邮件发送系统,该系统具备发送带有多个附件的...

    javamail 邮件发送

    JavaMail API提供了一种标准的方式来处理电子邮件,包括发送、接收和管理邮件。下面将详细介绍JavaMail邮件发送的相关知识点。 首先,JavaMail的核心组件是`javax.mail`和`javax.mail.internet`这两个包。它们提供...

    基于Javamail的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT).rar

    JavaMail API 支持这两种协议,可以方便地实现邮件的收取。 4. **邮件格式与MIME**:邮件通常包含文本、附件等多种内容,MIME(多用途Internet邮件扩展)是一种标准,用于定义非ASCII字符和多种类型的数据(如图片...

    基于Javamail的邮件收发系统(系统+LW+开题报告+任务书+外文翻译+文献综述+答辩PPT).rar

    4. **安全性与认证**:为了确保邮件传输的安全,项目可能使用了SSL(Secure Sockets Layer)或TLS(Transport Layer Security)加密,这两种协议可以保护邮件在传输过程中的隐私。JavaMail API提供了相应配置,以...

    基于Javamail的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT).zip

    学习如何使用JavaMail API与这两种协议交互,以实现邮件的接收和管理功能。 4. **邮件格式与MIME**: 邮件内容可能包含文本、图片、附件等多种类型,这就涉及到MIME(Multipurpose Internet Mail Extensions)标准。...

    基于贝叶斯算法的JavaMail垃圾邮件过滤实现

    本文介绍了一种基于贝叶斯算法的JavaMail垃圾邮件过滤实现方法。这种方法利用贝叶斯定理对邮件中的词汇进行概率分析,以此判断邮件是否为垃圾邮件。相比于传统的黑白名单和基于规则的方法,贝叶斯过滤算法具有更高的...

    基于Javamail的邮件收发系统(系统+LW+开题报告+任务书+外文翻译+文献综述+答辩PPT).zip

    JavaMail 是一个强大的开源库,用于在 Java ...通过学习和分析这个项目,你不仅可以掌握JavaMail的使用,还能提升在实际项目中解决问题的能力。对于准备从事Java开发的毕业生来说,这样的实战经验将是一份宝贵的财富。

    Java邮件开发demo

    通常可以通过以下两种方式来添加JavaMail库: 1. **Maven**: 如果项目使用Maven管理依赖,则可以在`pom.xml`文件中添加JavaMail依赖。 ```xml <groupId>com.sun.mail</groupId> <artifactId>javax.mail ...

    通过OutlookExpress发邮件

    **通过OutlookExpress发邮件:一种利用JavaMail实现的非传统邮件发送方式** **标题解读:** "通过OutlookExpress发邮件"这个标题暗示了我们讨论的主题是将OutlookExpress,一个传统的电子邮件客户端软件,与...

    java.lang.NoClassDefFoundError

    它提供了一种抽象的方式来处理不同类型的邮件服务(如SMTP、POP3等)。在这个例子中,`javax.mail.Message`类是JavaMail API的一部分,用于表示邮件消息本身。 ##### 常见问题原因 1. **库未添加到类路径**:这是...

    基于JAVA GUI的电子邮件客户端软件的设计与实现.docx

    Java GUI主要通过Swing和JavaFX两种方式实现。Swing是一个轻量级组件工具包,它提供了一套用于创建用户界面的组件,这些组件在不同的操作系统上看起来和感觉是一致的。JavaFX则是一个更现代的选择,提供了丰富的媒体...

    邮件收发系统+java代码+学习

    在JavaMail API中,`com.sun.mail.pop3`和`com.sun.mail.imap`包分别提供了处理这两种协议的类和接口。 四、JavaMail API的基本使用 使用JavaMail API时,首先需要创建`Session`对象,配置邮件服务器的相关信息,如...

Global site tag (gtag.js) - Google Analytics