Java实现发送邮件功能

公司需要完成线上数据预警,通过邮件通知到相关主要负责的同事,使用javamail实现发送邮件功能

在pom中引入相关依赖

	<dependency>
			<groupId>com.sun.mail</groupId>
			<artifactId>javax.mail</artifactId>
			<version>1.6.2</version>
		</dependency>

工具类可以拷贝直接使用

主要工具类

/**
 * @ClassName EmailUtils
 * @Description 发送邮件
 * @Author charles.yao
 * @Date 2022/05/20/14:16
 **/
public class EmailUtils {

    private static final String userName="zhangsan@163.com";//发件人电子邮箱
    private static final String password = "123456";//发件人密码
    private static final String host="smtp.exmail.qq.com";//指定发送邮件的主机为
    private static final String port="587";//端口 
    /**
     * 发送邮箱
     * @param emal 收件人邮箱
     * @param message 内容
     * @param title 邮件标题
     */
    public static void sendEmail(String emal,String message,String title){

        // 获取系统属性
        Properties properties = System.getProperties();
        // 设置邮箱端口
        properties.setProperty("mail.smtp.port", port);
        // 设置邮件服务器
        properties.setProperty("mail.smtp.host", host);

        // 设置邮件服务器
        properties.setProperty("mail.smtp.host", host);

        properties.put("mail.smtp.auth", "true");
        // 获取默认session对象
        Session session = Session.getInstance(properties,new Authenticator(){
            public PasswordAuthentication getPasswordAuthentication()
            {
                return new PasswordAuthentication(userName, password); //发件人邮件用户名、授权码
            }
        });
        //Session session = Session.getInstance(properties);
        try{
            // 创建默认的 MimeMessage 对象
            MimeMessage messages = new MimeMessage(session);

            // Set From: 头部头字段
            messages.setFrom(new InternetAddress(userName));

            // Set To: 头部头字段
            messages.addRecipient(Message.RecipientType.TO,
                    new InternetAddress(emal));

            // Set Subject: 头部头字段
            messages.setSubject(title);

            // 设置消息体
            messages.setText(message);

            // 发送消息
            Transport.send(messages);
        }catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值