`
fantlam
  • 浏览: 99360 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

java邮件开发(1、用javamail发送简单的邮件)

阅读更多

引自http://fantlam.blogbus.com

 

 

从今天开始研究关于java邮件开发以及关于邮件服务器的相关讨论,内容不会很深,只是简单的运用,不过我会写的比较特别,当中会涉及linux平台的服务器设置,以及一些直接命令模式发送邮件的一些东西

首先和邮件相关的重要东西就是2个协议,2个比较常见的协议--SMTP和POP3,不知道可以自己上网搜索,我这里不重复。一个发一个取,TCP/IP里有讲到。这突然让我想到我学的专业课,老师讲的很细,只是我都没时间去听,当时也只是看过课本,通过这几天的研究,也终于悟出了一些道理来,算是初步了解吧,我将要说的代码在实际运用中也可以参考到的。

接下来先来看看利用javamail来发送一封邮件的代码(这里代码我不写全了,因为贴起来总是太长,超过文章长度限制了,可以复制到eclipse这些工具,然后导入相应的包)

注意用javamai开发要引入相应的包。

public class JavaMail1 {

   public static void main(String args[]) throws Exception{

      String tto="fantlam@163.com";//收件人地址

      String ttitle="这是邮件的标题";

      String tcontent="这是邮件的内容";

      Properties props=new Properties();

      props.setProperty("mail.smtp.auth","true");//声明要通过身份验证

         /** 这一句要加 需要通过验证 不然会抛异常

      553 authentication is required,smtp2,DMmowLC7dlALdstJLBc2Hw--.24884S21238070795

      com.sun.mail.smtp.SMTPSendFailedException: 553 authentication isrequired,smtp2,DMmowLC7dlALdstJLBc2Hw--.24884S2 1238070795

            /** 简单看一下Properties类

        java.util 类 Properties

        java.lang.Object    --java.util.Dictionary<K,V>

                               --java.util.Hashtable<Object,Object>

                                    --java.util.Properties

 类Properties   setProperty(String key, String value)调用 Hashtable 的方法 put。  */

      Session s=Session.getInstance(props);//根据属性新建一个邮件会话

      s.setDebug(true);//可以看到后台信息

       MimeMessage message=new MimeMessage(s);//由邮件会话新建一个消息对象

 

      //设置邮件

      InternetAddress from=new InternetAddress("fantlam@126.com ");

      message.setFrom(from);//设置发件人

      InternetAddress to=new InternetAddress(tto);

      message.setRecipient(Message.RecipientType.TO,to);//设置收件人

 message.setRecipients(RecipientType.TO,InternetAddress.parse("fantlam@163.com,fantlam@126.com"));//    如果是多个收信人

      message.setSubject(ttitle);//设置主题

      message.setText(tcontent);//设置信件内容

      message.setSentDate(new Date());//设置发信时间

 //发送邮件

      message.saveChanges();//存储邮件信息

      Transport transport=s.getTransport("smtp");

      transport.connect("smtp.126.com","fantlam@126.com","123456");//以smtp方式登录邮箱  注意这一步需要你的用户名和密码,务必正确,才能正常发送

      transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有已设好的收件人地址

      transport.close();

           /**有时候会发送不成,有时候是用户名密码都没错,但用户被锁定了,大概都是新注册的用户才会出现,网易的邮箱比较严格,可以用新浪或搜狐的测试

    DEBUG: setDebug: JavaMail version 1.4ea
  DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
  DEBUG SMTP: useEhlo true, useAuth true
  DEBUG SMTP: trying to connect to host "smtp.126.com", port 25, isSSL false
  220 126.com Anti-spam GT for Coremail System (126com[20081010])
  DEBUG SMTP: connected to host "smtp.126.com", port: 25

  EHLO 20090124-hasee
  250-mail
  250-PIPELINING
  250-AUTH LOGIN PLAIN
  250-AUTH=LOGIN PLAIN
  250 8BITMIME
  DEBUG SMTP: Found extension "PIPELINING", arg ""
  DEBUG SMTP: Found extension "AUTH", arg "LOGIN PLAIN"
  DEBUG SMTP: Found extension "AUTH=LOGIN", arg "PLAIN"
  DEBUG SMTP: Found extension "8BITMIME", arg ""
  DEBUG SMTP: Attempt to authenticate
  AUTH LOGIN
  334 dXNlcm5hbWU6
  ZmFudGxhbUAxMjYuY29t
  334 UGFzc3dvcmQ6
  ZmFudGxhbTEyMw==
  550 用户被锁定
  Exception in thread "main" javax.mail.AuthenticationFailedException
   at javax.mail.Service.connect(Service.java:306)
   at javax.mail.Service.connect(Service.java:156)
   at org.fantlam.JavaMail1.main(JavaMail1.java:53)

 代码中设置了s.setDebug(true);可以看到后台输出的信息。这些跟邮件操作命令有关,接下来的文章将会涉及到。

分享到:
评论

相关推荐

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

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

    06_传智播客张孝祥java邮件开发_编写一个JavaMail发送邮件的程序.rar

    在这个"06_传智播客张孝祥java邮件开发_编写一个JavaMail发送邮件的程序"教程中,我们将深入学习如何利用JavaMail API创建一个能够发送邮件的Java程序。 首先,要发送邮件,我们需要设置一些基本的配置,例如SMTP...

    用javaMail发送邮件

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

    javamail 回执邮件资料

    1. **发送邮件**: - 配置 JavaMail Session:这通常涉及到设置 SMTP 服务器的属性,如主机名、端口号、用户名和密码。 - 创建 MimeMessage 对象:这是邮件的核心,包含所有邮件内容,如主题、正文和附件。 - ...

    JavaMail发送邮件的例子

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

    张孝祥Java邮件开发详解110M

    学习如何使用JavaMail API是Java邮件开发的核心部分,包括设置邮件服务器参数、创建和配置Message对象、发送和接收邮件等。 3. **MIME类型**:MIME(多用途互联网邮件扩展)定义了邮件可以携带的多种类型的数据,如...

    用Java类实现JavaMail发送邮件的例子

    在这个例子中,我们将详细探讨如何使用JavaMail发送邮件,包括SMTP认证、添加附件以及发送HTML内容的邮件。 首先,为了使用JavaMail API,我们需要引入相应的库。在这个例子中,`javamail`和`JAF`(JavaBeans ...

    java邮件开发_Java邮件开发源代码

    本文将深入探讨Java邮件开发的相关知识点,包括JavaMail API的基本概念、核心组件、配置过程以及源代码分析。 JavaMail API是Java平台上的一个标准API,它允许开发者通过编程方式发送和接收电子邮件。这个API包含了...

    javamail发送邮件小程序,类以及写好,只要放包,下载一个就可以

    JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个小程序可能包含了一套完整的类,可以帮助开发者快速构建邮件发送功能,无需从头开始编写所有必需的代码。 JavaMail 提供了对...

    基于JavaMail的Java邮件发送-附源码

    通过以上步骤,你就可以使用JavaMail API在Java应用程序中发送邮件了。提供的源码应该包含了完整的实现,你可以根据自己的需求进行修改和调试。记得在实际应用中,为了安全起见,应避免在代码中硬编码敏感信息,如...

    java实现邮件发送(三种发送方式都有)

    Java发送邮件是软件开发中常见的需求,特别是在自动化通知、用户验证和客户服务等方面。在这个主题下,我们将探讨三种Java实现邮件发送的方式,以及如何通过提供的代码和参考资料进行实践。 首先,让我们了解一下...

    javamail"java发送邮件所需要的包

    描述中提到的“java发送邮件所需要的包”即是指JavaMail API,它包含了一系列的类和接口,例如`javax.mail.Session`,它是邮件会话对象,用于配置邮件服务器的连接参数;`javax.mail.Transport`,用于发送邮件;`...

    传智播客张孝祥java邮件开发_Java邮件开发源代码.rar

    首先,JavaMail API是Java邮件开发的基础,它提供了一系列的接口和类来处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件服务。JavaMail API的主要组件包括`javax.mail.Session`、...

    JavaMail(JAVA邮件服务) API详解

    JavaMail API是Java平台上用于处理电子邮件的一套强大的库,它为开发者提供了丰富的功能,使得在应用程序中发送和接收邮件变得简单。本文将深入探讨JavaMail API的各个方面,帮助你理解和掌握这一关键工具。 首先,...

    java 邮件开发 邮件的发送 邮件的接受 和带附件的邮件发送

    首先,Java邮件开发主要依赖于JavaMail API,这是一个开源库,提供了与各种邮件服务器交互的接口。要发送邮件,你需要导入`javax.mail`和`javax.mail.internet`这两个核心包。以下是一个简单的邮件发送示例: ```...

    JavaMail邮件开发详解

    ### JavaMail邮件开发详解 #### 一、JavaMail API简介 JavaMail API 是一个用于读取、撰写和发送电子邮件的强大工具包。它主要用于构建邮件用户代理程序(Mail User Agent,简称 MUA),这类程序通常包括像 Eudora...

    张孝祥Java邮件开发详解(最全的文档记录)

    总之,Java邮件开发涉及邮件协议、服务器交互、身份验证以及JavaMail API的使用等多个方面,理解和掌握这些知识对于开发能够发送和接收邮件的应用至关重要。通过张孝祥的教程,开发者可以更深入地学习这些技术细节,...

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

    1. **JavaMail API简介**:JavaMail API是Java平台上的标准邮件服务接口,它提供了一系列类和接口,允许开发人员与各种邮件系统进行交互,包括SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP(因特网消息...

    JavaMail(JAVA邮件服务器)API详解 chm.rar

    总之,"JavaMail(JAVA邮件服务器)API详解"这个资源将提供一个全面的指南,帮助Java开发者充分利用JavaMail API来构建高效、可靠的邮件系统,无论是简单的日志报告还是复杂的邮件应用,都能得心应手。通过深入学习和...

Global site tag (gtag.js) - Google Analytics