Java实现发送qq邮件

花生 可爱的博主

时间: 2021-04-18 阅读: 116 字数:3008

{}
账户安全认证绑定邮箱,实现发送qq邮件

代码如下根据注解更改,实际情况而定!

需要用到jar包:emil.jar==自己去找找到处都是!

package cn.axi.bookstore.emali;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

import org.junit.Test;

import com.sun.mail.util.MailSSLSocketFactory;
public class Emali {
    public Transport ts;
    public Session session;
    public Session CearteEmail() {
        try {
        Properties prop = new Properties();
        // 设置邮件服务器主机名
        prop.setProperty("mail.host", "smtp.qq.com");
        // 发送服务器需要身份验证
        prop.setProperty("mail.smtp.auth", "true");
        // 发送邮件协议名称
        prop.setProperty("mail.transport.protocol", "smtp");

        // 开启SSL加密,否则会失败
        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        prop.put("mail.smtp.ssl.enable", "true");
        prop.put("mail.smtp.ssl.socketFactory", sf);

        // 创建session
         session = Session.getInstance(prop);
        // 通过session得到transport对象
        
        // 创建邮件
        
        // 发送邮件
    
            
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return session;
    }

    public void SendEmail(User from) {
        
        session = CearteEmail();
        // 创建邮件对象
        MimeMessage message = new MimeMessage(session);
        // 指明邮件的发件人
        try {
        
             ts = session.getTransport();
                // 连接邮件服务器:邮箱类型,帐号,授权码代替密码(更安全)
            ts.connect("smtp.qq.com","1164453243@qq.com", "icnomkylhkyviafh");
            message.setFrom(new InternetAddress("1164453243@qq.com"));
            // 指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(from.getEmail()));
            // 邮件的标题
            message.setSubject("来自MyBook的激活信息");
            // 邮件的文本内容
            message.setContent("亲爱的"+from.getUsername()+"!<a href='http://192.168.10.37:8080/BookProjet/servlet?method=active&code="+
                    from.getCode()
                    +"'>点击激活账户!</a>", "text/html;charset=UTF-8");
            // 返回创建好的邮件对象
            
            ts.sendMessage(message, message.getAllRecipients());
            
        } catch (Exception e) {
            // TODO Auto-generated catch block

        } finally {
            try {
                ts.close();
            } catch (MessagingException e) {
                // TODO Auto-generated catch block

            }
        }
        
    
    }
    
}
本文章网址:https://www.sjxi.cn/detil/68cbf566aaa148d3babb22fc8e8c8f83

最新评论

当前未登陆哦
登陆后才可评论哦

湘ICP备2021009447号