基于Java发送邮件

很有意思的小Demo,应用场合一般为邮箱验证或激活账户,和利用邮箱发送一些通知消息

本次以qq邮箱作为发送者邮箱(接收者邮箱任意,任何邮箱都可接收)示范

首先有一些准备工作
首先把QQ邮箱的POP3 SMTP打开,确定你的网络正常、非代理 【确定你的QQ邮箱开启了SMTP】(qq邮箱默认是关闭的,禁止第三方平台登录QQ邮箱的)
这里写图片描述

打开你的POP3/SMTP服务

这里写图片描述

注意:期间会生成一个授权码(相当于QQ邮箱的登录密码),这个要复制记下来,待会要用到

这里写图片描述

qq邮箱(发送者邮箱)到此准备完毕!!

接下来,准备jar包,两个包,拿去玩
http://pan.baidu.com/s/1kVIGA8n

注意:引入的包会和珅Java5.0的包起冲突,所以要删除自己JavaEE 5.0的两个jar包
教程如下:
这里写图片描述

这里写图片描述
这里写图片描述

选择这两个文件夹,删除即可

这里写图片描述

然后回到项目,刷新就好了!

到此准备工作就做好啦,接下来上代码:

public class MailUitls {
    public static void sendMail(String toUsername,String mailContent) throws Exception{
         // 创建Properties 类用于记录邮箱的一些属性
        final Properties props = new Properties();
        // 表示SMTP发送邮件,必须进行身份验证
        props.put("mail.smtp.auth", "true");
        //此处填写SMTP服务器
        props.put("mail.smtp.host", "smtp.qq.com");
        //端口号
        props.put("mail.smtp.port", "587");
        // 此处填写你的账号
        props.put("mail.user", "**********@qq.com");
        // 此处的密码就是前面说的那个授权码
        props.put("mail.password", "*******");

        // 构建授权信息,用于进行SMTP进行身份验证
        Authenticator authenticator = new Authenticator() {

            protected PasswordAuthentication getPasswordAuthentication() {
                // 用户名、密码
                String userName = props.getProperty("mail.user");
                String password = props.getProperty("mail.password");
                return new PasswordAuthentication(userName, password);
            }
        };
        // 使用环境属性和授权信息,创建邮件会话
        Session mailSession = Session.getInstance(props, authenticator);
        // 创建邮件消息
        MimeMessage message = new MimeMessage(mailSession);
        // 设置发件人
        InternetAddress form = new InternetAddress(
                props.getProperty("mail.user"));
        message.setFrom(form);

        // 设置收件人的邮箱
        InternetAddress to = new InternetAddress(toUsername);
        message.setRecipient(RecipientType.TO, to);

        // 设置邮件标题
        message.setSubject("来自失物招领平台的邮件,这是一个新的里程碑");

        // 设置邮件的内容体
        message.setContent(mailContent, "text/html;charset=UTF-8");

        // 最后当然就是发送邮件啦
        Transport.send(message);
    }
}

在你想用的地方直接 类名.方法名 调用就行了!
例如:

MailUitls.sendMail("********@163.com","李果果,您丢失的女朋友有新的消息啦!请注意查收");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值