`

javamail的smtp方式发送邮件实例

阅读更多
  1. 本实例为javamail发送smtp邮件实例和常见问题解决
  2. package mail;  
  3.   
  4. import java.util.Date;  
  5. import java.util.Properties;  
  6. import javax.mail.Address;  
  7. import javax.mail.Authenticator;  
  8. import javax.mail.Message;  
  9. import javax.mail.PasswordAuthentication;  
  10. import javax.mail.Session;  
  11. import javax.mail.Transport;  
  12. import javax.mail.internet.InternetAddress;  
  13. import javax.mail.internet.MimeMessage;  
  14.   
  15. /** *//** 
  16.  * 发送普通邮件,接受普通邮件 发送带有附件的邮件,接收带有附件的邮件 发送html形式的邮件,接受html形式的邮件 发送带有图片的邮件等做了一个总结。 
  17.  */  
  18. public class Test  
  19. {  
  20.     // 邮箱服务器  
  21.     private String host = "smtp.163.com";  
  22.     // 这个是你的邮箱用户名   用户名一般为xxx@163.com中的xxx 但当确认无误时依然是认证错误可以修改为xxx@163.com全名测试
  23.     private String username = "******";  
  24.     // 你的邮箱密码  
  25.     private String password = "******";  
  26.       
  27.     private String mail_head_name = "this is head of this mail";  
  28.   
  29.     private String mail_head_value = "this is head of this mail";  
  30.   
  31.     private String mail_to = "zdw@live.cn";  
  32.   
  33.     private String mail_from = "*****@163.com";  
  34.   
  35.     private String mail_subject = "this is the subject of this test mail";  
  36.   
  37.     private String mail_body = "this is the mail_body of this test mail";  
  38.   
  39.     private String personalName = "我的邮件";  
  40.   
  41.     public Test()  
  42.     {  
  43.     }  
  44.   
  45.     /** *//** 
  46.      * 此段代码用来发送普通电子邮件 
  47.      */  
  48.     public void send() throws Exception  
  49.     {  
  50.         try  
  51.         {  
  52.             Properties props = new Properties(); // 获取系统环境  
  53.             Authenticator auth = new Email_Autherticator(); // 进行邮件服务器用户认证  
  54.             props.put("mail.smtp.host", host);  
  55.             props.put("mail.smtp.auth""true");  
  56.             Session session = Session.getDefaultInstance(props, auth);  
  57.             // 设置session,和邮件服务器进行通讯。  
  58.             MimeMessage message = new MimeMessage(session);  
  59.             // message.setContent("foobar, "application/x-foobar"); // 设置邮件格式  
  60.             message.setSubject(mail_subject); // 设置邮件主题  
  61.             message.setText(mail_body); // 设置邮件正文  
  62.             message.setHeader(mail_head_name, mail_head_value); // 设置邮件标题  
  63.             message.setSentDate(new Date()); // 设置邮件发送日期  
  64.             Address address = new InternetAddress(mail_from, personalName);  
  65.             message.setFrom(address); // 设置邮件发送者的地址  
  66.             Address toAddress = new InternetAddress(mail_to); // 设置邮件接收方的地址  
  67.             message.addRecipient(Message.RecipientType.TO, toAddress);  
  68.             Transport.send(message); // 发送邮件  
  69.             System.out.println("send ok!");  
  70.         } catch (Exception ex)  
  71.         {  
  72.             ex.printStackTrace();  
  73.             throw new Exception(ex.getMessage());  
  74.         }  
  75.     }  
  76.   
  77.     /** *//** 
  78.      * 用来进行服务器对用户的认证 
  79.      */  
  80.     public class Email_Autherticator extends Authenticator  
  81.     {  
  82.         public Email_Autherticator()  
  83.         {  
  84.             super();  
  85.         }  
  86.   
  87.         public Email_Autherticator(String user, String pwd)  
  88.         {  
  89.             super();  
  90.             username = user;  
  91.             password = pwd;  
  92.         }  
  93.   
  94.         public PasswordAuthentication getPasswordAuthentication()  
  95.         {  
  96.             return new PasswordAuthentication(username, password);  
  97.         }  
  98.     }  
  99.   
  100.     public static void main(String[] args)  
  101.     {  
  102.         Test sendmail = new Test();  
  103.         try  
  104.         {  
  105.             sendmail.send();  
  106.         } catch (Exception ex)  
  107.         {  
  108.         }  
  109.     }  
  110.   

常见错误

错误一:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
解决方法:到D:\MyEclipse 6.5

\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806

\data\libraryset\EE_5目录下找到javaee.jar删除其中到mail文件夹。

错误二:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/BEncoderStream
解决方法:
下载mail.jar和activation.jar文件加入到工程中。

下载地址:http://lym6520.iteye.com/blog/655373

分享到:
评论

相关推荐

    基于SMTP协议的邮件发送系统

    基于SMTP的邮件发送系统允许用户通过编程方式发送电子邮件,而无需手动操作。在这个系统中,Java Servlet作为客户端,通过SMTP协议与邮件服务器进行交互,实现邮件的自动化发送。 1. SMTP协议基础: SMTP是一个...

    javamail发送邮件实例

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送...以上就是使用JavaMail发送邮件的详细过程,以及与文本编辑器KindEditor的集成方式。在开发过程中,记得根据具体需求调整和优化代码,以满足不同的业务场景。

    『JAVA基础』使用JavaMail发邮件的实例

    本教程将通过一个实例详细介绍如何使用JavaMail API发送邮件。首先,我们需要了解JavaMail API的基本概念和它的核心组件。 JavaMail API是一个用于处理邮件的开源Java库,它允许开发者在Java应用中创建、发送、接收...

    基于javamail的发送邮件示例文档

    在Java中,`javamail`库提供了一种标准的方式来发送和接收电子邮件。上述代码展示了如何使用`javamail`发送邮件的基本步骤: 1. **MailSenderInfo类**:这个类封装了发送邮件所需的所有信息,如邮件服务器的主机名...

    javamail 发送邮件 实例

    下面,我们将深入探讨使用JavaMail发送邮件的实例。 首先,确保你的项目中已经包含了JavaMail的相关依赖。通常,这可以通过在Maven或Gradle的构建文件中添加对应的依赖完成。例如,对于Maven,可以在pom.xml文件中...

    java中利用smtp服务器发送邮件实例

    在Java编程中,利用SMTP(Simple Mail Transfer Protocol)服务器发送邮件是一项常见的任务,尤其是在系统集成、通知服务或者自动化脚本中。SMTP是互联网标准,用于发送电子邮件。下面将详细讲解如何在Java中实现这...

    JAVA100例之实例45 使用SMTP协议发送邮件

    下面将详细阐述如何在Java中使用SMTP发送邮件。 首先,你需要包含必要的库。JavaMail API是一个广泛使用的库,提供了处理邮件所需的功能。为了使用它,你需要添加以下依赖到你的项目中: ```xml <groupId>...

    javamail发送注册验证邮件实例-内包含mail.jar包

    JavaMail是一种广泛使用的Java库,用于在应用程序中发送和接收电子邮件。这个实例是关于如何使用JavaMail在javaweb项目中实现注册验证邮件的功能。在实际的web开发中,当用户进行注册时,通过发送一封带有验证链接或...

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

    这个实例将向我们展示如何使用JavaMail API在Java中实现邮件发送功能。以下是详细的步骤和相关知识点: 1. **JavaMail API简介**:JavaMail API是Java平台上的标准邮件服务接口,它提供了一系列类和接口,允许开发...

    javamail邮件发送实例

    JavaMail邮件发送实例是Java开发中常见的一个应用场景,主要用于实现程序自动发送电子邮件的功能。这个实例可以帮助开发者理解如何使用JavaMail API来构建邮件服务。在JavaMail API中,我们可以使用MimeMessage类...

    javaMail发送邮件的实例与资料大全

    下面将详细介绍JavaMail的基本使用、核心概念以及如何通过实例进行邮件发送。 一、JavaMail简介 JavaMail API 是一组 Java 接口,它提供了标准的邮件服务,包括创建、发送、接收和处理邮件。这个API支持SMTP(简单...

    JavaMail的邮件实例

    本篇将深入探讨 JavaMail 的邮件实例,以及如何利用它来创建、发送和接收邮件。 在 JavaMail 中,主要涉及的核心接口和类包括 `Session`、`Message`、`MimeMessage`、`Transport` 和 `Store`。`Session` 是整个邮件...

    java发送邮件所需jar包.zip

    2. **SMTP协议**:简单邮件传输协议(SMTP)是JavaMail API用于发送邮件的标准协议。SMTP服务器是接收和转发邮件的服务器,JavaMail API通过SMTP协议与这些服务器通信。 3. **POP3/IMAP协议**:虽然主要讨论的是...

    Spring javaMail发送文本邮件实例

    导入到Myeclipse 即可运行 测试使用的是QQ邮箱 在application.xml中配置的发送邮箱 要到邮箱中设置 POP3/SMTP服务为开。项目不部署到tomcat后启动服务,然后运行test.java 就发送了,。绝对可以发送

    javamail发送、接收邮件

    这种处理方式在实际应用中非常常见,尤其是在使用SMTP协议进行邮件发送时,需要对登录凭证进行加密传输。 ### 结论 JavaMail API为Java开发者提供了丰富的邮件处理功能,无论是发送邮件还是接收邮件,都可以通过...

    JavaMail发送邮件的例子

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

    java发送邮件实例

    在这个实例中,我们将探讨如何使用Java来发送电子邮件,重点在于SMTP(Simple Mail Transfer Protocol)服务的使用。 首先,我们需要理解JavaMail API,这是一个Java库,允许开发者创建、发送和接收电子邮件。...

    javamail实现邮箱与邮箱发送邮件

    在提供的压缩包文件"javamail实例"中,可能包含了上述代码的完整实现以及其他相关的示例,这些示例可以帮助你更好地理解和使用JavaMail API,比如添加附件、设置HTML格式的邮件内容等。通过深入研究和实践这些示例,...

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

    - JavaMail API提供了一系列接口和类,允许开发者通过SMTP(Simple Mail Transfer Protocol)协议发送邮件。 - 主要涉及的接口和类包括:`Session`(邮件会话)、`Message`(邮件对象)、`Transport`(传输服务)...

Global site tag (gtag.js) - Google Analytics