没什么可说的,直接上代码吧:

package com.wjl.mail.utils;import java.util.Properties;import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;/*** 邮件发送的工具类* 使用eyoumailserver,内部账户发邮件*/
/*
javax.mail.Session:上下文环境信息,如服务器的主机名、端口号、协议名称等
javax.mail.Message:邮件模型,发送邮件和接收邮件的媒介,封装了邮件的信息,如发件人、收件人、邮件标题、邮件内容等
javax.mail.Transport:连接邮件SMTP服务器,发送邮件
javax.mail.Store:连接邮件POP3、IMAP服务器,收取邮件
*/
public class MailUtils2 {private static String userName = "user03@wjl.com";//发送邮件的人private static String password = "123456";//发送邮件的账户的密码private static String userName2 = "user04@wjl.com";//接收邮件的人private static String port = "25";//465、587/*** 该方法用来发送邮件* @param to:给谁发邮件* **/public static void sendMain(String to) throws AddressException, MessagingException{//1、创建连接对象,连接到邮箱服务器Properties props = new Properties();//开启debug调试  props.setProperty("mail.debug", "true");  //stmp服务器需要进行身份验证,也就是有户名和密码的校验,这样才能通过验证props.setProperty("mail.smtp.auth", "true"); //发送邮件协议名称  props.setProperty("mail.transport.protocol", "smtp");  //设置邮件服务器主机名  props.setProperty("mail.host", "127.0.0.1");//本地//设端口号(该配置可写可不写)props.setProperty("mail.smtp.port", port);//Authenticator:认证信息Session session = Session.getInstance(props, new Authenticator(){@Overrideprotected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(userName,password);//使用它给其他账户发邮件}});//2、创建邮件对象Message message = new MimeMessage(session);//2.1设置发件人message.setFrom(new InternetAddress(userName));//2、2设置收件人message.setRecipient(RecipientType.TO, new InternetAddress(to));//2.3邮件的主题message.setSubject("测试发消息");//2.4邮件的正文(即邮件的内容)message.setContent("测试邮件:来自user03@wjl.com的邮件","text/html;charset=utf-8");//3.发送邮件Transport trans = session.getTransport();//连接邮件服务器trans.connect(userName, password);  //发送邮件trans.sendMessage(message, message.getAllRecipients());  //关闭连接trans.close();//Transport.send(message);(两种方式都可以)System.out.println("发送成功");}public static void main(String[] args) {try {sendMain(userName2);} catch (Exception e) {e.printStackTrace();} }
}

执行成功之后,使用Foxmail查看邮件。

说明邮件发送成功了。

可能遇到的问题

执行代码时报错:java.lang.NoClassDefFoundError: com/sun/mail/util/BEncoderStream

原因是jar包版本不统一,javaMail与Java EE 5 Libraries/javaee.jar/mail里的包有东西冲突。

解决办法:将Java EE 5 Libraries换成Java EE 6 Libraries

Libraries替换:

选中项目右击---->Properties---->Java Build Path---->Add Library,如图:

选默认的“MyEclipse Libraries” 。

勾选“Java EE 6 Libraries” 。然后Finish。

此时Libraries中有两个Libraries,一个5一个6,将Java EE 5 Libraries删除,然后确定。

再执行代码,就不会再报错啦。

javaMail学习(三)——使用javaMail给易邮邮账户发简单邮件相关推荐

  1. javaMail学习(四)——使用javaMail给网易账户发简单邮件

    代码跟上一篇的差不多,只需改变smpt的服务器地址和端口号. package com.wjl.mail.utils;import java.security.GeneralSecurityExcept ...

  2. javaMail学习(五)——使用javaMail给Q Q 邮 箱 账 户 发简单邮件

    代码跟网 易 邮 箱的那篇差不多,除了smtp服务器地址不同之外,还需要添加"开 启 S S L 加 密 "的代码. package com.wjl.mail.utils;impo ...

  3. JavaMail 学习讲解

    原博客地址:http://blog.csdn.net/perfect2011/article/details/19193841 [JavaMail]1 基础 A.简介 JavaMail,顾名思义,提供 ...

  4. JavaMail学习笔记(一)、理解邮件传输协议(SMTP、POP3、IMAP、MIME)

    电子邮件需要在邮件客户端和邮件服务器之间,以及两个邮件服务器之间进行传递,就必须遵循一定的规则,这些规则就是邮件传输协议.SMTP协议定了邮件客户端与SMTP服务之间,以及两台SMTP服务器之间发送邮 ...

  5. JavaMail学习之一-邮件传输协议

    协议:规定好的格式就是协议.就像http协议有请求协议和响应协议,邮件传输也分为发.收邮件的协议. 邮件协议分3种: 发邮件的:SMTP (Simple Mail Transport  Protoca ...

  6. java实现邮件发送_基于JavaMail的Java实现简单邮件发送功能

    电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等.但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送.本 ...

  7. java javamail,基于java使用JavaMail发送邮件

    一.邮件的相关概念 邮件协议.主要包括: SMTP协议:Simple Mail Transfer Protocol,即简单邮件传输协议,用于发送电子邮件 POP3协议:Post Office Prot ...

  8. 内网java发送邮件_基于JavaMail的Java邮件发送:简单邮件发送

    电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信息等.但这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送.本 ...

  9. OpenGL入门学习[三]

    OpenGL入门学习[三] http://xiaxveliang.blog.163.com/blog/static/2970803420126246501930/ OpenGL入门学习[十一] 我们在 ...

  10. mail java_基于JavaMail的Java邮件发送:简单邮件发送

    http://blog.csdn.net/xietansheng/article/details/51673073 http://www.cnblogs.com/codeplus/archive/20 ...

最新文章

  1. AdminLTE的使用
  2. seo发展基本趋势优化专员必须知道!
  3. android代码 根据黑名单拦截短信,滴滴将小范围测试短信报警 司、乘两端同步试运行“黑名单”...
  4. mac安装brew失败怎么办?
  5. iOS原生推送(APNS)进阶iOS10推送图片、视频、音乐
  6. python多线程队列两组数据_python 多线程2-队列同步
  7. Linux怎么删掉ftp服务器,Linux怎么删掉ftp服务器
  8. android 广播 源码,广播电台APP源代码 电台APP源代码 播客APP源代码 Android源代码...
  9. python使用opencv进行身份证信息识别_基于opencv和tesseract实现身份证扫描件的身份证号码提取试验...
  10. 技术揭秘QQ空间”自动转发不良信息
  11. HTTP性能测试工具siege
  12. epson机器人编程 范例_Epson机械手简单实例编程
  13. js 字符串删除首尾_js去除字符串首尾空格
  14. python编辑器windows_windows下sublime Text 3 做Python编辑器 详细配置
  15. H5+jQuery H5+JavaScript 体质指数BMI计算
  16. 古琴销售怎么做阳php学,古琴到底能否自学?如何才能学好古琴?
  17. linux od 命令16进制,Linux od命令
  18. hack the box 连接
  19. 毕业设计 单片机指纹识别门禁系统设计与实现 - 物联网 嵌入式
  20. 商务礼仪在市场经济中有哪些作用?

热门文章

  1. java 检测ip网速_使用Speedtest CLI测试你的网速
  2. flash mx拖拽实例_Flash MX 2004中的像素溶解效果
  3. VS2013 ConsoleApplication1.exe”(Win32):无法查找或打开 PDB 文件。
  4. python pop3_Python使用POP3和SMTP协议收发邮件
  5. STM32—驱动GY85-IMU模块
  6. 切图直接导出html,Dreamweaver切图到生成网页的方法
  7. 页面里引入电子表字体
  8. 05-信息管理系统--主页面显示当前用户实现退出功能实现
  9. 安装centos 6.5 在惠普 ...pro(有惠普增霸卡)上的诸些问题
  10. python登陆linkedin过程分析,及二次验证(一)