java简单发邮件

使用前下载mail.jar

package com.CloudDisk.Extend;

import java.security.GeneralSecurityException;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
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 MailExtend {

    /**
     * @param args
     * @throws Exception 
     */
    public void mail(String id,String mail,String yanzhenma) throws Exception {
        /*Session session = HibernateSessionFactory.getSession();
        List<District> dList = session.createQuery("from District").list();
        Set sList = dList.get(0).getStreets();
        System.out.println(sList.size());*/
        /*DistrictDao dao =new DistrictDao();*/
        //List<House> hlist = dao.getAllH();

        /*District d = dao.getDistrictOne(Short.valueOf((short) 3));
        Set s =d.getStreets();
        List<Street> slist = new ArrayList<Street>();
        for (Object o : s) {
            slist.add((Street) o);
        }
        System.out.println(slist.get(0).getName());*/

        /*Session session = HibernateSessionFactory.getSession();
        Criteria c = session.createCriteria(Street.class);
        c.add(Restrictions.eq("district.id",Short.valueOf("1")));
        //System.out.println(c.list());
        List<Street> slist = c.list();
        System.out.println(slist.size());
        String[] str = new String[8];  
        for (int i = 0; i < slist.size(); i++) {
            str[i] = slist.get(i).getName();
        }
        List<NameBean> arrList = new ArrayList<NameBean>();  
        for (String s : str) {  
            NameBean bean = new NameBean();  
            bean.setName(s);  
            arrList.add(bean);  
        }  

        MyComparator compare = new MyComparator();  
        Collections.sort(arrList, compare);  

        for (NameBean b : arrList) {  
            System.out.println(b.getNameFirstChar() + ";" + b.getName());  
        }  */

        /*Mail mail = new Mail();  
        mail.setHost("smtp.163.com"); // 设置邮件服务�?如果不用163�?自己找找看相关的  
        mail.setSender("15705691643@163.com");  
        mail.setReceiver("15705691643@163.com"); // 接收�? 
        mail.setUsername("15705691643@163.com"); // 登录账号,�?��都是和邮箱名�?���? 
        mail.setPassword("zhuangyou971124"); // 发件人邮箱的登录密码  
        mail.setSubject("aaaaaaaaa");  
        mail.setMessage("bbbbbbbbbbbbbbbbb");  
        new MailUtil().send(mail);  */


        Properties prop = new Properties();
        // �?��debug调试,以便在控制台查�?
        prop.setProperty("mail.debug", "true"); 
        // 设置邮件服务器主机名
        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 = Session.getInstance(prop);
        // 通过session得到transport对象
        Transport ts = session.getTransport();
        // 连接邮件服务器:邮箱类型,帐号,授权码代替密码(更安全)
        ts.connect("smtp.qq.com","chengeng.mail@qq.com", "bwslqgdgkgijbgda");//后面的字符是授权码,用qq密码反正我是失败了(用自己的,别用我的,这个号是我瞎编的,为了�?。�?。)
        // 创建邮件

        Message message = createSimpleMail(session,id,yanzhenma,mail);
        // 发�?邮件
        ts.sendMessage(message, message.getAllRecipients());
        ts.close();
        }

        /**
        * @Method: createSimpleMail
        * @Description: 创建�?��只包含文本的邮件
        */
        public static MimeMessage createSimpleMail(Session session,String id,String yanzhenma,String mail)
        throws Exception {
        // 创建邮件对象
        MimeMessage message = new MimeMessage(session);
        // 指明邮件的发件人
        message.setFrom(new InternetAddress("chengeng.mail@qq.com"));
        // 指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发
        message.setRecipient(Message.RecipientType.TO, new InternetAddress(mail));
        // 邮件的标�?
        message.setSubject("nicai ");
        // 邮件的文本内�?
        message.setContent("尊敬的用�?:"+id+"<br/>验证码!"+yanzhenma+"(请勿轻易告诉他人)", "text/html;charset=UTF-8");
        // 返回创建好的邮件对象
        return message;
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值