1、导入javaMail.jar包
生成邮件内部调用了其它的API,所以要用JAF,javaBeans激活框架,是一个专用 的数据处理框架,它用于封装数据,并为应用程序提供访问和操作的数据接口。javaMailAPI可以利用JAF从某种数据源中读取数据和数据的MIME类型,并用这些数据生成MIME消息体和消息类型
2、导入JAF.jar包,JDK6不用
3、写如下代码(一种方法)
public class demo {
public static void main(String[] args)throws Exception {
Properties props = new Properties();
//两个属性必须配置
props.setProperty("mail.transport.protocol", "smtp");
//设置需要验证(给提供用户名、密码)
props.setProperty("mail.smtp.auth", "true");
//该方法每次都返回一个新的session.getDefaultInstance()方法可能返回的是之前创建的
Session session = Session.getInstance(props);
//打印与服务器交互的信息
session.setDebug(true);
Message msg = new MimeMessage(session);
msg.setText("你好!");
msg.setSubject("This is 主题");
//发件人 (可以不是真实的)
msg.setFrom(new InternetAddress("111@126.com"));
Transport transport = session.getTransport();
//设置 连接服务器、 端口、 用户名、 密码
transport.connect("smtp.126.com",25,"111@126.com","1111");
//静态的send方法 ,直接就能用(发一封邮件可以用它 要不然每发一封就要连一次服务器 效率低) (内部做了链接、发、关链接) 自己连了就不用静态方法了
//Transport.send(msg,new Address[]{new InternetAddress("532356902@qq.com")});
//非静态send方法(发多封邮件时用 只连一次服务器) 包含收件人(也可以在message里面设置 但是群发的时候 就觉得不好)
transport.sendMessage(msg, new Address[]{new InternetAddress("2222@qq.com")});
transport.close();
}
}
(二种方法)
public class demo2 {
public static void main(String[] args)throws Exception {
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
//设置需要验证(给提供用户名、密码)
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.host", "smtp.126.com");
Session session = Session.getInstance(props,
new Authenticator(){//传递Authenticator对象,覆盖以下方法
protected PasswordAuthentication getPasswordAuthentication(){
return new PasswordAuthentication("111@126.com","1111");
}
}
);//产生不同的session
session.setDebug(true);
Message msg = new MimeMessage(session);//第一种产生message方式
msg.setFrom(new InternetAddress("111@126.com"));
msg.setSubject("中文主题");
msg.setContent("<span style='color:red'>呵呵</span>", "text/html;charset=gbk");
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("222@qq.com,111@126.com") );
Transport.send(msg);
//第二种产生message方式
//Message msg = new MimeMessage(session,new FileInputStream("D://java.eml"));
Transport.send(msg,InternetAddress.parse("222@qq.com"));
}
}
分享到:
相关推荐
JavaMail简易教程
JavaMail组件简单应用,比较适合刚接触JavaMail组件的初学者。
javamail例子——简单好用 可以直接发电子邮件 1.当工程是java EE 5的时候 在工程里面应该删除java EE 5里面相对应的 jar 路径在 第一个问题就是删除Java EE 5 Libraries/javaee.jar/mail。 第二个问题就是删除Java...
简易封装的javaMail 支持同时发送信息与附件,发件人,发件时间,主题,内容,附件等等 内涵详细的说明与测试使用方法
javamail发送邮件的简单实例
JavaBeans Activation Framework的运行很复杂,在这里简单的说就是JavaMail的运行必须得依赖于它的支持。在Windows 2000下使用需要指定这些文件的路径,在其它的操作系统上也类似。 JavaMail是可选包,因此如果...
NULL 博文链接:https://lei-liao0826.iteye.com/blog/746663
纯java发送简单邮件的功能,支持嘱性文件的配置,可配多人接收,多个附件,简单。。。
javaMail的简要说明,包含简单的示例程序说明。
javamail使用servlet开发很简单的几行代码一看就懂
代码下载后,直接修改自己邮箱密码,接收者邮箱就可发送成功。其实Java应用程序发送 E-mail 非常简单。
javaMail实例 提供给大家学习 最简单的入门程序
在JSP中使用JavaMail。很简单的一个通信的例子。 经过测试。
这个教程很适合初学者学习使用,压缩包里包含有: (1)使用JavaMail的两个实例,实例中有测试用的main方法,简单易懂,经本人测试有效。 (2)使用JavaMail所需的所有jar包。
利用javamail实现简单邮件的发送接收所需要借助的jar包。
介绍了使用javamail发送电子邮件时所需要使用的类,还有代码示例
JavaMail实现邮件发送的简单封装(包括文本、图片、html、附件) 详见http://blog.csdn.net/lyisray/article/details/42002215