您的位置:首页 > 编程语言 > Java开发

java发送qq邮件进行验证

2016-07-23 09:17 369 查看
现在我们写的好多项目中都需要验证,短信验证,邮箱验证,如何通过java发送邮件进行验证那?

1.首先下载email的jar包

2.确定哪个邮箱发送邮件,进去找到设置--》账户--》POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?)把他开启 并把登陆码保存下来

3.写代码

package com;

import java.util.Date;

import java.util.Properties;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class TestEmail {

    public static final String HOST = "smtp.qq.com";

    public static final String PROTOCOL = "smtp";  

    public static final String PORT = "587";

    public static final String FROM = "*****@qq.com";//要发送邮件的邮箱

    /**

     * 获取Session

     * @return

     */

    private static Session getSession() {

        Properties props = new Properties();

        props.setProperty("mail.transport.protocol" , PROTOCOL);//设置协议

        props.setProperty("mail.smtp.host", HOST);//设置服务器地址

        props.setProperty("mail.smtp.port", PORT);//设置端口

        props.setProperty("mail.smtp.auth" , "true");//权限

        Session session = Session.getInstance(props);

        return session;

    }

    /**

     *

     * @param email 收件人地址

     * @param content 内容

     */

    public void sendEmail(String email,String content){

         Session session = getSession();

            try {

                System.out.println("--send--"+content);

                // Instantiate a message

                Message msg = new MimeMessage(session);

                //Set message attributes

                msg.setFrom(new InternetAddress(FROM));

                InternetAddress[] address = {new InternetAddress(email)};

                msg.setRecipients(Message.RecipientType.TO, address);

                msg.setSubject("账号激活邮件");//主体

                msg.setSentDate(new Date());//日期

                msg.setText(content);//内容

                //Send the message

                Transport trans = session.getTransport();

                trans.connect(FROM, "****");//登陆码这是开启服务时那个登陆吗

                trans.sendMessage(msg,msg.getAllRecipients());

            }

            catch (MessagingException mex) {

                mex.printStackTrace();

            }

    }

}

4.测试类

package com;

public class Main {

    public static void main(String args[]){

        TestEmail testEmail=new TestEmail();

        testEmail.sendEmail("**@qq.com", "2333");//发送到那个邮箱,发送的内容

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: