栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用java email过程中遇到的一些问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用java email过程中遇到的一些问题

使用java email过程中遇到的一些问题
  • 配置
    • 配置MailUtil工具类
    • 关于授权码配置

配置

使用java email工具类时,首先要引入相关依赖:

配置MailUtil工具类
public class MailUtil {
    //发件人邮箱、密码
    public static String myEmailAccount = "发件人邮箱地址";
    public static String myEmailPassword = "发件人邮箱密码";

    //发件人SMTP地址 163通用SMTP地址为smtp.163.com
    public static String myEmailSMTPHost = "smtp.163.com";

    //收件人邮箱
    public static String receiveEmailAccount = "收件人地址";

    public static void main(String[] args) throws MessagingException, UnsupportedEncodingException {
        //1.创建用于连接邮件服务器的参数配置
        Properties props = new Properties();                    // 参数配置
        props.setProperty("mail.transport.protocol","smtp");    // 使用的协议(来自java email规范)
        props.setProperty("mail.smtp.host",myEmailSMTPHost);    // 发件人邮箱的smtp地址
        props.setProperty("mail.smtp.auth","true");             // 需要请求认证

        //2.创建验证器 网上很多攻略都漏了这一步,导致爆出535的授权码错误
//授权码是指网易邮箱SMTP协议中一种提供授权登录的16位编码
//可以用来代替密码访问邮箱,获取邮件发送权限等 Authenticator auth = new Authenticator() { public PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication("发件人邮箱地址","网易邮箱or其他邮箱的授权码"); } }; //3.配置会话对象,用于和邮件服务器交互 Session session = Session.getInstance(props,auth); session.setDebug(true); // 设为debug模式,可以看到详细的发送日志 //4.创建一封邮件 MimeMessage message = createMimeMessage(session,myEmailAccount,receiveEmailAccount); //5.根据Session获取邮件传输对象 Transport transport = session.getTransport(); //6.使用邮箱账号密码连接邮件服务器 transport.connect(myEmailAccount,myEmailPassword); //7.发送邮件,发到所有的地址,通过message.getAllRecipients()获取设置的所有收件人地址 transport.sendMessage(message,message.getAllRecipients()); //8.关闭连接 transport.close(); } public static MimeMessage createMimeMessage(Session session,String sendMail,String receiveMail) throws UnsupportedEncodingException, MessagingException { //1.创建邮件对象 MimeMessage message = new MimeMessage(session); //2.From 发件人 message.setFrom(new InternetAddress(sendMail,"远古神魔","UTF-8")); //3.抄送人 message.addRecipient(MimeMessage.RecipientType.TO,new InternetAddress(receiveMail,"测试邮件","UTF-8")); //4.Subject: 邮件主题 message.setSubject("这是一封来自远古的邮件","UTF-8"); //5.content: 邮件内容 message.setContent("刮开领取上古神兽:
*********","text/html;charset=utf-8"); //......省略若干配置 //6.保存配置 message.saveChanges(); return message; } }

如此这般配置完毕,即可发送定义好的邮件内容啦,其他需要自定义的参考java email相关配置。

关于授权码配置

网易邮箱配置授权码的位置在这里:

开启最上面的两个服务,然后在授权码管理的位置配置授权码
注:配置授权码会提示发送短信,配置完成会生成授权码,注意截图或者拍照记下来授权码,不然忘了之后可能要重新获取授权码,让运营商白嫖可不好!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/338129.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号