java发送电子邮件

写java项目的时候,如果想要发送邮件,那么要导入相关的类。
至于是哪个类,可以上网去搜,因为我是直接使用的Maven项目中的pom文件导入的,所以不清楚普通的没有使用Maven的项目发送电子邮件的时候需要什么类、

这是我在maven项目的pom文件中所导入的发送电子邮件所需要的jar包。

       <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-email</artifactId>
            <version>1.5</version>
        </dependency>

注意:下面的那段发送电子邮件的代码中所用到的一些类,是导入的下面这些邮件包中的类,就比如说session这个类,并不是咱们平常用的HttpServletSession,而是mail包中的。
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

这是发送电子邮件的代码
private void sendEmail(String path,String title, String msg) throws Exception {//path是指你要发给哪个邮箱号,title是指你的邮件的标题。msg是指你的邮件的内容。

        Properties properties = new Properties();
        properties.put("mail.transport.protocol", "smtp");// 连接协议,即:邮件协议
        properties.put("mail.smtp.host", "smtp.qq.com");// 主机名
        properties.put("mail.smtp.port", 465);// 端口号
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.smtp.ssl.enable", "true");// 设置是否使用ssl安全连接 ---一般都使用
        properties.put("mail.debug", "true");// 设置是否显示debug信息 true 会在控制台显示相关信息
        // 得到回话对象
        Session session = Session.getInstance(properties);
        // 获取邮件对象
        Message message = new MimeMessage(session);
        // 设置发件人邮箱地址
        message.setFrom(new InternetAddress("2790193022@qq.com"));
        // 设置收件人邮箱地址
        message.setRecipients(Message.RecipientType.TO, new InternetAddress[]{new InternetAddress(path)});
        //message.setRecipient(Message.RecipientType.TO, new InternetAddress("xxx@qq.com"));//一个收件人
        // 设置邮件标题
        message.setSubject(title);
        // 设置邮件内容
        message.setText( msg);
        // 得到邮差对象
        Transport transport = session.getTransport();
        // 连接自己的邮箱账户
        transport.connect("2790193022@qq.com", "xxxxxxxxxxxxxxx");// 密码为QQ邮箱开通的stmp服务后得到的客户端授权码(你可以进入你的邮箱的设置里面查看)
        // 发送邮件
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();

    }

注意:如果你想要在java项目中使用java代码发送电子邮件,那么你的发件人 的邮箱必须是开通了stmp服务。至于为什么是stmp服务而不是别的服务,因为我在上面使用的stmp邮件协议。所以需要开通该服务。怎么开通呢?你可以去的邮箱设置中开通。具体步骤,网上应该有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值