javamail简单实例
来源:互联网 发布:mac文件夹加密怎么解除 编辑:程序博客网 时间:2024/06/05 11:43
文章是出处:http://blog.csdn.net/ayhlay/article/details/8679904
所需JAR包下载:javamail
1.EmailAuthenticator.java
- import javax.mail.Authenticator;
- import javax.mail.PasswordAuthentication;
- public class EmailAuthenticator extends Authenticator
- {
- private String username;
- private String userpsd;
- public EmailAuthenticator(String username, String userpsd)
- {
- this.username = username;
- this.userpsd = userpsd;
- }
- public String getUsername()
- {
- return username;
- }
- public void setUsername(String username)
- {
- this.username = username;
- }
- public String getUserpsd()
- {
- return userpsd;
- }
- public void setUserpsd(String userpsd)
- {
- this.userpsd = userpsd;
- }
- @Override
- protected PasswordAuthentication getPasswordAuthentication()
- {
- return super.getPasswordAuthentication();
- }
- }
2.MailSender.java
- import java.util.Properties;
- import javax.mail.*;
- import javax.mail.internet.InternetAddress;
- import javax.mail.internet.MimeMessage;
- public class MailSender
- {
- public static void main(String[] args) throws Exception
- {
- //这是邮件服务器地址
- String smtp = "smtp.163.com";
- //用户邮箱地址,用自己的邮箱啊
- String from = "lhuang1993@163.com";
- //要发送的邮箱
- String to = "888888@qq.com";
- //构造用户身份验证验证对象,参数为用户名和口令
- EmailAuthenticator auth = new EmailAuthenticator("lhuang1993","123456");
- //获取系统属性对象
- Properties props = System.getProperties();
- //设置邮件服务器和是否身份验证
- props.put("mail.smtp.host", smtp);
- /* 如果写成这样 props.put("mail.smtp.auth", true);
- * 会爆 com.sun.mail.smtp.SMTPSendFailedException:异常
- * 应该写成 props.put("mail.smtp.auth", "true");
- * */
- props.put("mail.smtp.auth", "true");
- //获得Session对象
- Session session = Session.getInstance(props,(Authenticator)auth);
- //以session作为参数建立MimeMessage对象
- //这里Mime是支持该协议的类,用来描述邮件的内容
- MimeMessage msg = new MimeMessage(session);
- msg.setFrom(new InternetAddress(from));
- msg.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
- msg.setSubject("只是测试");
- String s = "测试内容";
- /*如果需要输入html文本,需改为如下配置
- * String s = "<h1>hello</h1><a href='http://www.sina.com.cn' target='blank'>click me please!</a>";
- * msg.setContent(s,"text/html");
- */
- msg.setText(s); //简单的文本输出
- //设置好MimeMessage后,从Session中建立Transport对象
- //Transport对象用于发送邮件信息,getTransport的参数
- //表明发送邮件使用的协议。
- Transport transport = session.getTransport("smtp");
- transport.connect(smtp,"lhuang1993@163.com","123456");
- transport.sendMessage(msg,msg.getAllRecipients());
- transport.close();
- System.out.println("邮件发送成功");
- }
- }
javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入,所以初学者在直接copy别人代码的时候往往会出现上面的错误。
按下面的解决方法:
进到
X:\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(我的javaee.jar里,这两个东西是文件夹,总之删掉就OK,不过要注意备份一下)
删掉之后运行下面的代码,经行简单的修改以后就可以实现接收邮件的功能了!
- javamail简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- 最简单的JAVAMail发送邮件实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- javamail发送邮件的简单实例
- Sublime Text2架设OpenCV
- 获取成员变量偏移量的两种方式
- ThinkPHP添加、修改为空
- shell之基础命令
- Java笔记3 多线程<2>线程间通信-代码分析以及多线程常见方法的运用
- javamail简单实例
- Oracle 删除重复数据只留一条
- ASP检测手机客户端并跳转到相应页面
- Comparable和 Comparator的区别
- Linux 防火墙 设置
- 解决Oracle数据库里的中文数据显示乱码的问题,修改数据库的字符集。
- 跨域文件:crossdomain.xml
- 报表程序之---jsp页面
- Swing JTree