Java实现发送邮件

Java开发的软件项目,有时候业务需要由后台程序给会员发送邮件通知或提醒,那么如何通过java程序来发送邮件呢?下面就来介绍下如何实现这样的功能。

还是直接上代码吧!
需要导入mail.jar包:https://pan.baidu.com/s/1nHjMAPp3pylnCzSVv_ZO8Q

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;

/**

  • java发送邮件测试
    */
    public class TestMail {
    // 发件人的邮箱地址和密码
    public static String sendEmailAccount = “1285727682@qq.com”;
    // 如果有授权码,此处填写授权码
    public static String sendEmailPassword = “wqnlgscquijzhded”;
    // 发件人邮箱的 SMTP 服务器地址, 可以登录web邮箱查询
    public static String sendEmailSMTPHost = “smtp.qq.com”;
    // 收件人邮箱地址
    public static String receiveMailAccount = “1504142219@qq.com”;
    public static void main(String[] args) throws Exception {
    // 参数配置
    Properties props = new Properties();
    props.setProperty(“mail.transport.protocol”, “smtp”);
    props.setProperty(“mail.smtp.host”, sendEmailSMTPHost);
    props.setProperty(“mail.smtp.auth”, “true”);
    props.setProperty(“mail.smtp.socketFactory.class”, “javax.net.ssl.SSLSocketFactory”);
    props.setProperty(“mail.smtp.port”, “465”);
    props.setProperty(“mail.smtp.socketFactory.port”, “465”);

    // 根据配置创建会话对象, 用于和邮件服务器交互
    Session session = Session.getDefaultInstance(props);
    session.setDebug(true); // 设置为debug模式, 可以查看详细的发送 log

    // 创建一封邮件
    Message message = createMimeMessage(session, sendEmailAccount, receiveMailAccount);
    // 根据 Session 获取邮件传输对象
    Transport transport = session.getTransport();

    // 使用 邮箱账号 和 密码 连接邮件服务器, 这里认证的邮箱必须与 message 中的发件人邮箱一致, 否则会报错
    transport.connect(sendEmailAccount, sendEmailPassword);

    // 发送邮件
    transport.sendMessage(message, message.getAllRecipients());

    // 关闭连接
    transport.close();
    }

    /**

    • 创建一封简单邮件
      */
      private static Message createMimeMessage(Session session, String sendMail, String receiveMail) throws Exception {
      Message message = new MimeMessage(session);
      message.setFrom(new InternetAddress(sendMail));
      message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail));

      // 设置邮件标题
      message.setSubject(“发送邮件测试”);
      // 设置邮件正文
      message.setText(“这是测试内容,请忽略此内容详情”);
      message.setSentDate(new Date());

      // 保存设置
      message.saveChanges();
      return message;
      }

}

本文转载自:https://jingyan.baidu.com/article/c910274bb41859cd361d2d03.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值