`

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

分享到:
评论

相关推荐

    Spring javaMail发送文本邮件实例

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

    javamail发送邮件实例(导入MyEclipse即可运行)

    初学javamail的时候,弄了好久都没成功的例子,现在成功了和大家分享下,希望对刚入门的...本例是用qq邮箱运行的,所以发送端的邮箱smtp服务必须开启,接受端无需任何设置!导入成功后,直接运行SendAccountFileTask类

    javamail实例

    javamail pop smtp 收发邮件 2008-07-08 16:51:20

    JAVAMAIL实例

    此篇仅介绍用javamail实现发送邮件功能,其中涉及smtp认证,邮件附件发送,及HTML内容邮件等。

    JAVA编程百例(照着例子更容易!)

    实例45 使用SMTP协议发送邮件 实例46 使用SMTP协议接收邮件 实例47 使用JAVAMAIL发送邮件 实例48 使用JAVAMAIL接收邮件 实例49 获取URL文本 实例5 哈希表和枚举器 实例50 一个简单的WEB服务器 实例51 数据报通讯:...

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

    该源码中提供找回密码与帐户激活的两个示例源代码,使用了Javamail技术,详细说明请参考http://blog.csdn.net/xyang81/article/details/7727141

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

    ① 创建一个Properties 对象,Session 对象通过...发送电子邮件消息涉及到获取会话、创建和填充消息并发送消息这些操作。在获取Session 时,通过为要传递的Properties 对象设置mail.smtp.host属性来指定所用的SMTP

    基于安卓的音频播放器基于安卓的音频播放器javafx2.0官方例子JavaMAIL1.6JavaMAIL1.6anylogic

    JavaFX Script编程语言(以下称为JavaFX)是Sun微...JavaMail是实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的...

    简易实用的JavaMail邮箱程序

    * ValidateAuther 邮件验证类,验证邮件发送者信息 */ class ValidateAuther extends Authenticator { /** 邮件发送者 */ private String sender; /** 邮件接受者 */ private String password; /** * ...

    复杂邮件程序完整Java源码,支持添加附件,图片,HTML格式文本,支持远程WebService调用

    * MailServices 邮件接收发送接口定义类 * * @author 380595305@qq.com * Date 2010-05-11 * @version 1.0 */ public interface HexiangMailService { /** * sendMail 发送邮件函数 * * @param sender 是String...

    JSP中使用JavaMail

    本文中还包括了在JSP中使用JavaMail的实例。JavaMail是JSP应用软件中相当强大的API。 阅读这篇文章需要对JSP、JavaBeans和JavaMail有一定的初步了解。当然,有关于JavaMail的知识你可以通过阅读这篇文章来获得。...

    JAVA使用EWS发送Exchange Mail 实例

    由于公司Exhange不让使用pop3和smtp,JAVAMAIL就不能用了,找了一下午还是测试成功了。 使用Eclipse3.6 JDK1.6开发,一个简单可运行的例子,包括了jar包。 更多详情请自行下载EWSJavaAPI研究

    Java数据库编程宝典2

    16.3 使用JDBC驱动的JavaMail发送电子邮件信息 16.3.1 使用JSP页面和JavaMail发送电子邮件 16.3.2 使用有SendMailBean的JSP页面 16.3.3 部署 16.4 使用JavaMail API接收电子邮件 16.5 小结 第4部分 数据库、...

    Java数据库编程宝典4

    16.3 使用JDBC驱动的JavaMail发送电子邮件信息 16.3.1 使用JSP页面和JavaMail发送电子邮件 16.3.2 使用有SendMailBean的JSP页面 16.3.3 部署 16.4 使用JavaMail API接收电子邮件 16.5 小结 第4部分 数据库、...

    Java数据库编程宝典1

    16.3 使用JDBC驱动的JavaMail发送电子邮件信息 16.3.1 使用JSP页面和JavaMail发送电子邮件 16.3.2 使用有SendMailBean的JSP页面 16.3.3 部署 16.4 使用JavaMail API接收电子邮件 16.5 小结 第4部分 数据库、...

    Java数据库编程宝典3

    16.3 使用JDBC驱动的JavaMail发送电子邮件信息 16.3.1 使用JSP页面和JavaMail发送电子邮件 16.3.2 使用有SendMailBean的JSP页面 16.3.3 部署 16.4 使用JavaMail API接收电子邮件 16.5 小结 第4部分 数据库、...

    Java编程艺术 PDF

    5.1.4 发送和接收E-mail的一般过程 118 5.2 JavaMail API 118 5.3 一个简单的E-mail客户端 120 5.3.1 ConnectDialog类 121 5.3.2 DownloadingDialog类 126 5.3.3 MessageDialog类 128 5.3.4 MessagesTableModel类 ...

Global site tag (gtag.js) - Google Analytics