首页 > 编程 > Java > 正文

Java Mail小例子

2019-11-08 03:16:45
字体:
来源:转载
供稿:网友

java Mail 发送邮件

需要的工具

需要两个jar包:Java Mail API和Java Activation Framework (JAF) 下载源:Java Mail jar 1.4.5JAF 1.1 action jar 安装选择 将Java Mail jar 和JAF jar 的路径配置到classpath中在新建的项目中右击src->Build Path ->configure Build Path ->Libraries ->Add Externel JARs

一个简单用163 给QQ发邮件的例子

// 收件人电子邮箱 String to = "****@qq.com"; // 发件人电子邮箱 String from = "1****@163.com"; // 指定发送邮件的主机为 smtp.qq.com String host = "smtp.163.com"; //163邮件服务器 // 获取系统属性 PRoperties properties = System.getProperties(); // 设置邮件服务器 properties.setProperty("mail.smtp.host", host); properties.put("mail.smtp.auth", "true"); //SMTP服务器端口来连接,如果connect()方法没有明确指定一个。默认为25。 properties.put("mail.smtp.port", "25"); //输出相关的邮件信息 properties.setProperty("mail.debug", "true"); // 获取默认session对象 Session session = Session.getDefaultInstance(properties,new Authenticator(){ public PassWordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("******@163.com", "***你的邮件生成的授权码***"); //发件人邮件用户名、密码 } }); try{ // 创建默认的 MimeMessage 对象 MimeMessage message = new MimeMessage(session); // Set From: 头部头字段 message.setFrom(new InternetAddress(from)); // Set To: 头部头字段 message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Set Subject: 头部头字段 message.setSubject("第一封java邮件!"); // 设置消息体 message.setContent("咱们开会把", "text/html;charset=gbk");; // 发送消息 Transport.send(message); System.out.println("Sent message successfully....from w3cschool.cc"); }catch (MessagingException mex) { mex.printStackTrace(); } }

调试过程中遇见的问题

如何生成授权码 qq是在设置->账户->开启服务 这里写图片描述使用qq发邮件的时候报错:javax.mail.AuthenticationFailedException: 530 Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28 原因:如果不指定端口smtp默认的是25,但是如果改成265并添加以下代码 properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); properties.setProperty("mail.smtp.port", "465"); properties.setProperty("mail.smtp.socketFactory.port", "465");发送成功但是qq邮箱没看见,可能是在黑名单中在qq或者系统将它当作垃圾邮件给拦截了。邮箱首页,最下面的自主查询,收信查询中将拉白。

扩展

如何发送带附件的邮件

菜鸟教程

多人发送,多人接收

JavaMail普通实现

JavaMail 配置信息

mail配置


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表