ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java mailutil(java代码发送邮件)

2021-07-13 12:00:08  阅读:120  来源: 互联网

标签:java String bp static new msg mailutil public 邮件


import javax.mail.*;
import javax.mail.internet.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;

public class SendEmailUtil {

    /**服务邮箱账号**/
    public static String serviceEmail = "**服务邮箱账号**";
    /**服务邮箱授权码**/
    public static String password = "**服务邮箱授权码**";
    /**发件人**/
    public static String sender = "系统管理员";
    /**主题**/
    public static String subject = "系统通知";
    /**邮箱类型**/
    private static String mailServerName = "163/qq/...";
    /**系统属性**/
    private Properties properties;
    /** 邮件会话对象**/
    private Session session;
    /** MIME邮件对象**/
    private MimeMessage msg;
    /** Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象**/
    private Multipart multipart;
    /**正文内容对象**/
    private BodyPart bp;
    /**对象实例**/
    private static SendEmailUtil instance = null;

    public SendEmailUtil() {
        properties = System.getProperties();
        properties.put("mail.transport.protocol", "smtp");
        properties.put("mail.smtp.host", "smtp." + mailServerName + ".com");
        properties.put("mail.smtp.port", "25");
        properties.put("mail.smtp.auth", "true");
        // 创建验证器
        Authenticator authenticator = new Authenticator() {
            @Override
            public PasswordAuthentication getPasswordAuthentication() {
                // 密码验证(授权码)
                return new PasswordAuthentication(serviceEmail, password);
            }
        };
        // 建立默认会话
        session = Session.getDefaultInstance(properties);
    }

    public static SendEmailUtil getInstance() {
        if (instance == null) {
            instance = new SendEmailUtil();
        }
        return instance;
    }

    /**
     * 发送邮件
     *
     * @param addressee 收件人邮箱
     * @param text      正文
     * @return
     */
    public boolean sendMail(String addressee, String text) {
        boolean success = true;
        try {
            // 建立信息
            msg = new MimeMessage(session);
            multipart = new MimeMultipart();
            // 自定义发件人昵称
            String nikeName = MimeUtility.encodeText(sender);
            // 设置发件人
            msg.setFrom(new InternetAddress(serviceEmail, nikeName));
            // 设置收件人
            if (addressee != null) {
                InternetAddress[] iaToList = new InternetAddress().parse(addressee);
                msg.setRecipients(Message.RecipientType.TO, iaToList);
            }
            // 设置抄送人
            // InternetAddress[] parse = new InternetAddress().parse(copyto);
            // msg.setRecipients(Message.RecipientType.CC,parse);
            // 设置发送日期
            msg.setSentDate(new Date());
            Date date = new Date();
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
            String DateSuffix = dateFormat.format(date);
            // 设置主题
            msg.setSubject(subject + DateSuffix);
            // 设置正文
            bp = new MimeBodyPart();
            bp.setText(text);
            multipart.addBodyPart(bp);
            // 获取图片的流
            // URL url = new URL(fileUrl);
            // HttpURLConnection conn = (HttpURLConnection)url.openConnection();
            // conn.setRequestMethod("GET");
            // conn.setConnectTimeout(5 * 1000);
            // InputStream inStream = conn.getInputStream();//通过输入流获取图片数据
            // 设置附件
            // bp = new MimeBodyPart();
            // bp.setDataHandler(new DataHandler(new ByteArrayDataSource(inStream,"application/x-jpg")));
            // String fileName = String.valueOf(System.currentTimeMillis())+ ".jpg";
            // bp.setFileName(MimeUtility.encodeText(fileName, "UTF-8", "B"));
            // multipart.addBodyPart(bp);
            msg.setContent(multipart);
            msg.saveChanges();
            // 邮件服务器进行验证
            Transport tran = session.getTransport("smtp");
            // 配置发送者的邮箱和密码
            tran.connect("smtp." + mailServerName + ".com", serviceEmail, password);
            // 发送
            tran.sendMessage(msg, msg.getAllRecipients());
            // 邮件连接关闭
            tran.close();
            System.out.println("邮件发送成功!收件人:"+addressee);
        } catch (Exception e) {
            e.printStackTrace();
            success = false;
        }
        return success;
    }

    public static void main(String[] args) throws InterruptedException {

        SendEmailUtil emailUtil = SendEmailUtil.getInstance();
        while (true) {
            emailUtil.sendMail("**接收邮箱地址**", "this is a testing message , please don`t answer the e-mail.");
        }

    }

}

 

标签:java,String,bp,static,new,msg,mailutil,public,邮件
来源: https://www.cnblogs.com/jyfs/p/15005812.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有