Java Web - 邮件发送

一、实现方法

邮箱需要先开通 SMTP 服务,以163邮箱为例,如何开启服务可以百度对应的邮箱。开启服务后就可以进行收发邮件,需要的 jar 包百度自行下载。

二、具体实现

public class MailTool {
    private String mailSendHost = "smtp.163.com";
    private String fromMail = "xxx@163.com";
    private String toMail = "xxx@qq.com"; //接收邮件的邮箱
    private String ttitle="我是标题";
    private String tcontent="我是内容";
    
    public boolean sendMail(){
        try{
            Properties props = new Properties();
            // 发信的主机
            props.put("mail.smtp.host", mailSendHost);
            props.put("mail.smtp.auth", "true");
            Session s=Session.getInstance(props);
            s.setDebug(true);
            MimeMessage message=new MimeMessage(s);
            //给消息对象设置发件人/收件人/主题/发信时间
            InternetAddress from=new InternetAddress(fromMail); //这里的fromMail改为您发信的邮箱
            message.setFrom(from);
            InternetAddress to=new InternetAddress(toMail);
            message.setRecipient(Message.RecipientType.TO,to);
            message.setSubject(ttitle);
            message.setSentDate(new Date());
            //给消息对象设置内容
            //新建一个存放信件内容的BodyPart对象
            BodyPart mdp=new MimeBodyPart();
            //给BodyPart对象设置内容和格式/编码方式
            mdp.setContent(tcontent,"text/html;charset=gb2312");
            //新建一个MimeMultipart对象用来存放BodyPart对象(事实上可以存放多个)
            Multipart mm=new MimeMultipart();
            //将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)
            mm.addBodyPart(mdp);
            //把mm作为消息对象的内容
            message.setContent(mm);
            message.saveChanges();
            Transport transport=s.getTransport("smtp");
            // 使用账号与授权码连接邮件服务器
            transport.connect(mailSendHost, "xxx@163.com", "xxx");
            transport.sendMessage(message,message.getAllRecipients());
            transport.close();
            return true;
        } catch(Exception e){
            e.printStackTrace();
            return false;
        }
    }
}

三、调用

在需要的地方调用即可,QQ邮箱好像有某些限制,刚开通 SMTP 立刻测试不成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容