JavaMail邮件服务(QQ邮箱)


导包:javax.mail.jar 下载地址:https://gitee.com/tangerine_cat/FireBalloon.git

import java.util.Date;
import java.util.Properties;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;/*** @author 作者 :* @version 创建时间 : 2018年1月10日 下午11:20:34* */
public class MailUtil {public static String myEmailAccount = "此处填写你的邮箱账号";public static String myEmailPassword = "此处填写授权码";public static String myEmailSMTPHost = "smtp.qq.com";/*** 根据 收件人邮箱以及发件类容来发送邮件* @param receiveMailAccount*            收件人邮箱地址* @param content*            发件内容* @throws Exception*/public static String send(String receiveMailAccount)throws Exception {Properties props = new Properties();// PS: 某些邮箱服务器要求 SMTP 连接需要使用 SSL 安全认证 (为了提高安全性, 邮箱支持SSL连接, 也可以自己开启),//     如果无法连接邮件服务器, 仔细查看控制台打印的 log, 如果有有类似 “连接失败, 要求 SSL 安全连接” 等错误,//     打开下面 /* ... */ 之间的注释代码, 开启 SSL 安全连接。// SMTP 服务器的端口 (非 SSL 连接的端口一般默认为 25, 可以不添加, 如果开启了 SSL 连接,//                  需要改为对应邮箱的 SMTP 服务器的端口, 具体可查看对应邮箱服务的帮助,//                  QQ邮箱的SMTP(SLL)端口为465或587final String smtpPort = "465";props.setProperty("mail.smtp.port", smtpPort);props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");props.setProperty("mail.smtp.socketFactory.fallback", "false");props.setProperty("mail.smtp.socketFactory.port", smtpPort);props.setProperty("mail.transport.protocol", "smtp");props.setProperty("mail.smtp.host", myEmailSMTPHost);props.setProperty("mail.smtp.auth", "true");Session session = Session.getDefaultInstance(props);//session.setDebug(true); // 设置为debug模式, 可以查看详细的发送 logString code=MailUtil.createRandomVcode();//此处用于生成验证码String content="亲爱的热气球用户,您好!本次您的验证码为:"+code+",请注意不要把验证码泄露给他人。";MimeMessage message = createMimeMessage(session, myEmailAccount,receiveMailAccount, content);Transport transport = session.getTransport();transport.connect(myEmailAccount, myEmailPassword);transport.sendMessage(message, message.getAllRecipients());transport.close();return code;}/*** 封装了构造邮件的方法* @param session*            和服务器交互的会话* @param sendMail*            发件人邮箱* @param receiveMail*            收件人邮箱* @param content*            发送内容* @return 简单邮件对象或html邮件对象* @throws Exception*/private static MimeMessage createMimeMessage(Session session,String sendMail, String receiveMail, String content)throws Exception {MimeMessage message = new MimeMessage(session);message.setFrom(new InternetAddress(sendMail, "热气球官方网站", "UTF-8"));message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "亲爱的用户", "UTF-8"));message.setSubject("验证邮件", "UTF-8");message.setContent(content, "text/html;charset=UTF-8");message.setSentDate(new Date());message.saveChanges();return message;}/*** 随机生成6位随机验证码*/public static String createRandomVcode(){//验证码String vcode = "";for (int i = 0; i < 6; i++) {vcode = vcode + (int)(Math.random() * 9);}return vcode;}//测试 public static void main(String args[]){try {send("*******");} catch (Exception e) {e.printStackTrace();}}}

 

记得务必打开你作为邮件发送方的QQ邮箱的一下两个服务:

 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部