java发送邮件功能
2016-08-19 15:02
274 查看
昨天在工作用,用户说需要用126邮箱发送验证码,但是没有用过啊, 所以经过昨天下午的研究后明白了整个流程。
第一 :邮箱设置
1.需要注册126邮箱账号(企业和个人均可)
2.登录126邮箱,进入首页面,头部有设置按钮,点击设置按钮,出现POP3/SMTP/IMAP,点击进去,开启SMPT服务。(开启smpt服务需绑定手机号之后设置一个授权密码),这样邮箱就可以发送邮件了。
第二 :java环境设置
1.添加mail.jar包
第三:java发送邮件代码
邮件发送共有两种形式,
1.以文本方式发送邮件,具体步骤如下:
把账号等信息在此封装:
最后调用sendtoemail方法即可比如:
2.以HTML格式发送邮件,使用方法同上。
第一 :邮箱设置
1.需要注册126邮箱账号(企业和个人均可)
2.登录126邮箱,进入首页面,头部有设置按钮,点击设置按钮,出现POP3/SMTP/IMAP,点击进去,开启SMPT服务。(开启smpt服务需绑定手机号之后设置一个授权密码),这样邮箱就可以发送邮件了。
第二 :java环境设置
1.添加mail.jar包
第三:java发送邮件代码
邮件发送共有两种形式,
1.以文本方式发送邮件,具体步骤如下:
/** * 以文本格式发送邮件 * @param mailInfo */ public boolean sendTextMail(MailSenderInfo mailInfo) throws Exception { // 判断是否需要身份认证 MyAuthenticator authenticator = null; Properties pro = mailInfo.getProperties(); if (mailInfo.isValidate()) { // 如果需要身份认证,则创建一个密码验证器 authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword()); } // 根据邮件会话属性和密码验证器构造一个发送邮件的session Session sendMailSession = Session .getDefaultInstance(pro, authenticator); logBefore(logger, "构造一个发送邮件的session"); // 根据session创建一个邮件消息 Message mailMessage = new MimeMessage(sendMailSession); // 创建邮件发送者地址 Address from = new InternetAddress(mailInfo.getFromAddress()); // 设置邮件消息的发送者 mailMessage.setFrom(from); // 创建邮件的接收者地址,并设置到邮件消息中 Address to = new InternetAddress(mailInfo.getToAddress()); mailMessage.setRecipient(Message.RecipientType.TO, to); // 设置邮件消息的主题 mailMessage.setSubject(mailInfo.getSubject()); // 设置邮件消息发送的时间 mailMessage.setSentDate(new Date()); // 设置邮件消息的主要内容 String mailContent = mailInfo.getContent(); mailMessage.setText(mailContent); // 发送邮件 Transport.send(mailMessage); logBefore(logger, "发送成功!"); return true; }
把账号等信息在此封装:
public void sendtoemail(String toEMAIL, String TITLE, String CONTENT) throws Exception { // 这个类主要是设置邮件 MailSenderInfo mailInfo = new MailSenderInfo(); // SMTP邮件服务器 mailInfo.setMailServerHost("smtp.126.com"); // SMTP邮件服务器默认端口 mailInfo.setMailServerPort("25"); // 是否要求身份认证 mailInfo.setValidate(true); // 显示发件人 mailInfo.setUserName("xxx@126.com"); // 邮箱密码 mailInfo.setPassword("123456789");// 您的邮箱密码 // 发送地址 mailInfo.setFromAddress("xxx@126.com"); // 接受地址 mailInfo.setToAddress(toEMAIL); // 邮箱标题 mailInfo.setSubject(TITLE); // 邮箱内容 mailInfo.setContent(CONTENT); // 这个类主要来发送邮件 SimpleMailSender sms = new SimpleMailSender(); try { sms.sendTextMail(mailInfo); } catch (Exception e) { e.printStackTrace(); } }
最后调用sendtoemail方法即可比如:
<span style="font-size:18px;">SimpleMailSender sendemail=new SimpleMailSender(); String title="注册验证码"; String content = "您的注册验证码为:"+code+"【xxx】"; sendemail.sendtoemail(email, title, content);</span>
2.以HTML格式发送邮件,使用方法同上。
/** * 以HTML格式发送邮件 * * @param mailInfo * 待发送的邮件信息 */ public boolean sendHtmlMail(MailSenderInfo mailInfo) throws Exception { // 判断是否需要身份认证 MyAuthenticator authenticator = null; Properties pro = mailInfo.getProperties(); // 如果需要身份认证,则创建一个密码验证器 if (mailInfo.isValidate()) { authenticator = new MyAuthenticator(mailInfo.getUserName(), mailInfo.getPassword()); } // 根据邮件会话属性和密码验证器构造一个发送邮件的session Session sendMailSession = Session .getDefaultInstance(pro, authenticator); // 根据session创建一个邮件消息 Message mailMessage = new MimeMessage(sendMailSession); // 创建邮件发送者地址 Address from = new InternetAddress(mailInfo.getFromAddress()); // 设置邮件消息的发送者 mailMessage.setFrom(from); // 创建邮件的接收者地址,并设置到邮件消息中 Address to = new InternetAddress(mailInfo.getToAddress()); // Message.RecipientType.TO属性表示接收者的类型为TO mailMessage.setRecipient(Message.RecipientType.TO, to); // 设置邮件消息的主题 mailMessage.setSubject(mailInfo.getSubject()); // 设置邮件消息发送的时间 mailMessage.setSentDate(new Date()); // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象 Multipart mainPart = new MimeMultipart(); // 创建一个包含HTML内容的MimeBodyPart BodyPart html = new MimeBodyPart(); // 设置HTML内容 html.setContent(mailInfo.getContent(), "text/html; charset=utf-8"); mainPart.addBodyPart(html); // 将MiniMultipart对象设置为邮件内容 mailMessage.setContent(mainPart); // 发送邮件 Transport.send(mailMessage); return true; }
相关文章推荐
- Java的Spring框架中实现发送邮件功能的核心代码示例
- java 发送邮件功能
- java 发送邮件功能
- java-ssh框架 实现 发送邮件并更新数据的功能
- 在java程序中实现发送邮件的功能
- 使用java实现邮件发送功能(已封装)
- 基于JavaMail的Java实现简单邮件发送功能
- java 发送邮件的功能
- java实现邮件发送功能工具类
- 在java程序中实现发送邮件的功能
- 实现javaEmail邮件发送功能并带有生成的pdf附件
- java实现发送邮件功能
- java+jsp+struts2实现发送邮件功能
- java web 邮件发送功能
- 在java程序中实现发送邮件的功能
- java 创建邮件发送功能
- java网上商城开发之邮件发送功能(全)
- java实现邮件发送功能
- Java 发送邮件功能
- java simpleMailMessage 邮件发送功能