含蓄的啄木鸟 · 编译存储过程 等待锁定对象 ...· 2 周前 · |
爱运动的青椒 · Druid未授权漏洞进一步的利用_druid漏洞· 2 天前 · |
没有腹肌的松鼠 · Druid未授权访问实战 - 我是面包 · 2 天前 · |
奔放的楼房 · MySql中的变量定义-阿里云开发者社区· 5 小时前 · |
鬼畜的领结 · 如何释放Python占用的内存?Python ...· 7 月前 · |
豪情万千的台灯 · 自定义控件 - 可拖拽的悬浮按钮 - 掘金· 10 月前 · |
讲道义的烈酒 · 微观摄影大赛网上投票-材料科学与工程国家级实 ...· 1 年前 · |
骑白马的硬币 · Java|用 GitLab CI ...· 1 年前 · |
你也可以使用本站提供的下载链接:
JavaMail mail.jar 1.4.5 JAF(版本 1.1.1) activation.jar下载并解压缩这些文件,在新创建的顶层目录中,您会发现这两个应用程序的一些 jar 文件。您需要把 mail.jar 和 activation.jar 文件添加到您的 CLASSPATH 中。
如果你使用第三方邮件服务器如QQ的SMTP服务器,可查看文章底部用户认证完整的实例。
发送一封简单的 E-mail 下面是一个发送简单E-mail的例子。假设你的本地主机已经连接到网络。
type: 要被设置为 TO, CC 或者 BCC,这里 CC 代表抄送、BCC 代表秘密抄送。举例: Message.RecipientType.TO
addresses: 这是 email ID 的数组。在指定电子邮件 ID 时,你将需要使用 InternetAddress() 方法。
和上一个例子很相似,除了我们要使用 setContent() 方法来通过第二个参数为 "text/html",来设置内容来指定要发送HTML 内容。
$ java SendHTMLEmail Sent message successfully....
本实例以 QQ 邮件服务器为例,你需要在登录QQ邮箱后台在"设置"=》账号中开启POP3/SMTP服务 ,如下图所示:
QQ 邮箱通过生成授权码来设置密码:
Java 代码如下:
// 关于QQ邮箱,还要设置SSL加密,加上以下代码即可 MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); props.put("mail.smtp.ssl.enable", "true"); props.put("mail.smtp.ssl.socketFactory", sf);
参考消息:
import java.security.GeneralSecurityException; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import com.sun.mail.util.MailSSLSocketFactory; public class SendEmail public static void main(String [] args) throws GeneralSecurityException // 收件人电子邮箱 String to = "XXXXX@qq.com"; // 发件人电子邮箱 String from = "XXXXXX@qq.com"; // 指定发送邮件的主机为 smtp.qq.com String host = "smtp.qq.com"; //QQ 邮件服务器 // 获取系统属性 Properties properties = System.getProperties(); // 设置邮件服务器 properties.setProperty("mail.smtp.host", host); properties.put("mail.smtp.auth", "true"); MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); properties.put("mail.smtp.ssl.enable", "true"); properties.put("mail.smtp.ssl.socketFactory", sf); // 获取默认session对象 Session session = Session.getDefaultInstance(properties,new Authenticator(){ public PasswordAuthentication getPasswordAuthentication() return new PasswordAuthentication("429240967@qq.com", "授权的 QQ 邮箱密码"); //发件人邮件用户名、密码 // 创建默认的 MimeMessage 对象 MimeMessage message = new MimeMessage(session); // Set From: 头部头字段 message.setFrom(new InternetAddress(from)); // Set To: 头部头字段 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Set Subject: 头部头字段 message.setSubject("This is the Subject Line!"); // 设置消息体 message.setText("This is actual message"); // 发送消息 Transport.send(message); System.out.println("Sent message successfully....from runoob.com"); }catch (MessagingException mex) { mex.printStackTrace();爱运动的青椒 · Druid未授权漏洞进一步的利用_druid漏洞 2 天前 |
没有腹肌的松鼠 · Druid未授权访问实战 - 我是面包 2 天前 |
奔放的楼房 · MySql中的变量定义-阿里云开发者社区 5 小时前 |
豪情万千的台灯 · 自定义控件 - 可拖拽的悬浮按钮 - 掘金 10 月前 |