非常感谢火龙果,老紫竹和sunyujia

首先要引mail.jar和activation.jar包

下载地址为:
javamail:http://java.sun.com/products/javamail/downloads/index.html

JAF:http://java.sun.com/javase/technologies/desktop/javabeans/jaf/downloads/index.html

下载后把.zip解压,然后把mail.jar和activation.jar复制到项目下的web-info/lib下

值得一说的是java ee 5和这个mail.jar和activation.jar有冲突

这个类在j2ee1.4下运行完全没有问题,但是如果在java ee 5下运行会报类找不到的错误,解决办法就是把myeclipse下的java ee 5的mail.jar和activation.jar干掉

进到

E:\Program Files\MyEclipse 6.5\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_5

这个路径里,可以看到javaee.jar,用rar把这个文件打开,然后进到javax文件夹里,删除mail.jar和activation.jar,然后再运行这个类,一切正常

发邮件的类

package javamail;import java.util.Properties;import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;public class SendMail {private MimeMessage mimeMsg; // MIME邮件对象private Session session; // 邮件会话对象private Properties props; // 系统属性private boolean needAuth = false; // smtp是否需要认证private String username = ""; // smtp认证用户名和密码private String password = "";private Multipart mp; // Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象/*** * * */public SendMail() {//  setSmtpHost(getConfig.mailHost);// 如果没有指定邮件服务器,就从getConfig类中获取setSmtpHost("smtp.126.com");// 如果没有指定邮件服务器,就从getConfig类中获取createMimeMessage();}public SendMail(String smtp) {setSmtpHost(smtp);createMimeMessage();}/*** * @param hostName*            String* */public void setSmtpHost(String hostName) {System.out.println("设置系统属性:mail.smtp.host = " + hostName);if (props == null)props = System.getProperties(); // 获得系统属性对象props.put("mail.smtp.host", hostName); // 设置SMTP主机}/*** * @return boolean* */public boolean createMimeMessage(){try {System.out.println("准备获取邮件会话对象!");session = Session.getDefaultInstance(props, null); // 获得邮件会话对象}catch (Exception e) {System.err.println("获取邮件会话对象时发生错误!" + e);return false;}System.out.println("准备创建MIME邮件对象!");try {mimeMsg = new MimeMessage(session); // 创建MIME邮件对象mp = new MimeMultipart();return true;}catch (Exception e) {System.err.println("创建MIME邮件对象失败!" + e);return false;}}/*** * @param need*            boolean* */public void setNeedAuth(boolean need) {System.out.println("设置smtp身份认证:mail.smtp.auth = " + need);if (props == null)props = System.getProperties();if (need) {props.put("mail.smtp.auth", "true");} else {props.put("mail.smtp.auth", "false");}}/*** * @param name*            String* * @param pass*            String* */public void setNamePass(String name, String pass) {username = name;password = pass;}/*** * @param mailSubject*            String* * @return boolean* */public boolean setSubject(String mailSubject) {System.out.println("设置邮件主题!");try {mimeMsg.setSubject(mailSubject);return true;}catch (Exception e) {System.err.println("设置邮件主题发生错误!");return false;}}/*** * @param mailBody*            String* */public boolean setBody(String mailBody) {try {BodyPart bp = new MimeBodyPart();bp.setContent("<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+ mailBody, "text/html;charset=GB2312");mp.addBodyPart(bp);return true;}catch (Exception e) {System.err.println("设置邮件正文时发生错误!" + e);return false;}}/*** * @param name*            String* * @param pass*            String* */public boolean addFileAffix(String filename) {System.out.println("增加邮件附件:" + filename);try {BodyPart bp = new MimeBodyPart();FileDataSource fileds = new FileDataSource(filename);bp.setDataHandler(new DataHandler(fileds));bp.setFileName(fileds.getName());mp.addBodyPart(bp);return true;}catch (Exception e) {System.err.println("增加邮件附件:" + filename + "发生错误!" + e);return false;}}/*** * @param name*            String* * @param pass*            String* */public boolean setFrom(String from) {System.out.println("设置发信人!");try {mimeMsg.setFrom(new InternetAddress(from)); // 设置发信人return true;}catch (Exception e){return false;}}/*** * @param name*            String* * @param pass*            String* */public boolean setTo(String to) {if (to == null)return false;try {mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));return true;}catch (Exception e){return false;}}/*** * @param name*            String* * @param pass*            String* */public boolean setCopyTo(String copyto){if (copyto == null)return false;try {mimeMsg.setRecipients(Message.RecipientType.CC,(Address[]) InternetAddress.parse(copyto));return true;}catch (Exception e){return false;}}/*** * @param name*            String* * @param pass*            String* */public boolean sendout(){try {mimeMsg.setContent(mp);mimeMsg.saveChanges();System.out.println("正在发送邮件....");Session mailSession = Session.getInstance(props, null);Transport transport = mailSession.getTransport("smtp");transport.connect((String) props.get("mail.smtp.host"), username,password);transport.sendMessage(mimeMsg, mimeMsg.getRecipients(Message.RecipientType.TO));// transport.send(mimeMsg);System.out.println("发送邮件成功!");transport.close();return true;}catch (Exception e){System.err.println("邮件发送失败!" + e);return false;}}/*** * Just do it as this* */public static void main(String[] args) {String mailbody = "<meta http-equiv=Content-Type content=text/html; charset=gb2312>"+"<div align=center><a href=http://www.csdn.net> csdn </a></div>";SendMail themail = new SendMail("smtp.126.com");themail.setNeedAuth(true);if (themail.setSubject("Title") == false)return;if (themail.setBody(mailbody) == false)return;if (themail.setTo("toEmailUser") == false)return;if (themail.setFrom("yourEmailUser") == false)return;if (themail.addFileAffix("g:\\test.txt") == false)return;themail.setNamePass("mailUsername", "mailPassword");if (themail.sendout() == false)return;}}

黑色头发  http://heisetoufa.iteye.com

javamail,java发email,发邮件,jaf,activation,j2ee5冲突问题解决相关推荐

  1. Java Email 发HTML邮件工具 采用 freemarker模板引擎渲染

    Java Email 发HTML邮件工具 采用 freemarker模板引擎 1.常用方式对比 Java发送邮件有很多的实现方式 第一种:Java 原生发邮件mail.jar和activation.j ...

  2. javamail发送带附件的邮件,发件速度快

    使用javamail发送邮件,准备工作 1.如果使用的是qq邮箱,则需要登录QQ邮箱,找到"设置--账户"找到如下图,将POP3/SMTP服务和IMAP/SMTP服务开启,然后生成 ...

  3. Java实现发电子邮件,快去给你好基友发一封邮件~

    第一步   第二步   第三步   第四步(写上我框住的代码) 注意:   如果在看的各位是第一次使用 maven来制作.你就需要等等,因为它需要加载. 有可能你一写上去,我让你瞧代码可能会冒红,原因 ...

  4. python--smtplib加email发邮件给指定邮箱(一)

    python--smtplib加email发邮件给指定邮箱(一) 前言: 1.模块详解 2.授权码获取 2.2 如何获取授权码 2.2.1 设置 2.2.1 选择账户 2.2.1 打开SMTP服务 3 ...

  5. java 邮件 附件_java中javamail发送带附件的邮件实现方法

    本文实例讲述了java中javamail发送带附件的邮件实现方法.分享给大家供大家参考.具体分析如下: JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理em ...

  6. Android Java使用JavaMail API发送和接收邮件的代码示例

    JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的j ...

  7. 163邮箱收不到mdaemon 11发过来的邮件

    163邮箱收不到mdaemon 11发过来的邮件(已解决) Wed 2011-02-23 17:03:35: Parsing message <xxxxxxxxxxxxxxxxxxxxxxxx/ ...

  8. Java Email(实现邮件发送)

    Email就是电子邮件,在Java中如何实现邮件的发送: 电子邮件从用户电脑的邮件软件,例如Outlook,发送到邮件服务器上,可能经过若干个邮件服务器的中转,最终到达对方邮件服务器上,收件方就可以用 ...

  9. php邮件群发系统日发5000,最新qq邮件群发日发10000封邮件

    今天一米软件来给大家介绍一下最新qq邮件群发日发10000封邮件的方法: 1.我们通过"在线正则表达式测试",匹配到了腾讯QQ号,我们把匹配到的这些QQ号复制下来,然后打开QQ邮箱 ...

最新文章

  1. linux下编译php扩展
  2. WCF布署问题 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
  3. 二叉树的基本概念以及基本操作
  4. [APIO2016] 划艇(dp + 组合数 + 前缀和优化)
  5. Oracle Real Application Testing diagram
  6. Modifier ‘public‘ is redundant for interface methods错误
  7. 用 eric6 与 PyQt5 实现python的极速GUI编程(系列03)---- Drawing(绘图)(1)-- 绘写文字...
  8. js二(多)叉树算法
  9. Office 365强势来袭PART2:云中SharePoint
  10. 485通讯的校验和_三菱FX3U与变频器通讯程序如何编写
  11. 【python】微信朋友圈分析
  12. 【服务器】Facebook如何处理海量图片存储
  13. 对话时人品牌咨询首席咨询官:有多少企业倒在了自己的品牌故事上?
  14. html 给文字加图片背景,如何给文字添加背景图?给文字填充图片背景色的操作方法...
  15. IDM与其他下载器加速器优缺点介绍
  16. 如何开启Windows共享文件夹服务
  17. JavaScript---文件下载处理文件下载失败兼容IE11文件下载
  18. 温度传感器的分类及比较
  19. 46FPS+1080Px2超分+手机NPU,arm提出一种基于重参数化思想的超高效图像超分方案
  20. Call Indels/SV常用软件-搬运工

热门文章

  1. 0基础如何入门软件测试?10分钟从测试9个阶段带你快速入门【建议细品】
  2. 移动的3G/TD-SCDMA
  3. R语言将数值类型转换为字符串类型
  4. 能用好几年的苹果手机是如何清理垃圾的?这样居然能释放10G空间
  5. 晚上锻炼后夜宵吃什么
  6. 我的家庭私有云计划-21
  7. 笔记本电脑性价比排行2019_笔记本哪款好 2019年笔记本性价比排行
  8. 有关测试的思考(2):开始项目测试以前的准备
  9. RBA验厂辅导,RBA针对固体废弃物的管制要求方向不变,原污水管制的部分整并至C7水资源管理
  10. postgresql安装(docker安装)