JavaMail邮件发送

需要用到的jar包----

<dependency>
  <groupId>javax.mail</groupId>
  <artifactId>mail</artifactId>
  <version>1.4</version>
</dependency>

测试用的是网易163邮箱,需要开通一些服务

 

 

package com.weiwei.mail;

import javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

public class MyAuthenticator extends Authenticator {
    private  String userName;
    private  String passWord;

    public MyAuthenticator(String userName, String passWord) {
        this.userName = userName;
        this.passWord = passWord;
    }

    @Override
    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(userName,passWord);
    }
}
package com.weiwei.mail;

import javax.mail.Authenticator;
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.Properties;

public class Mail {
    public static void main(String[] args) throws Exception {

        Message message=null;
        //实例化Message
        Session session=null;
        Properties properties=new Properties();
        //163邮件服务器地址  网易163邮箱STMP和POP3服务器地址是:smtp.163.com   pop.163.com;
        properties.put("mail.smtp.host","smtp.163.com");
        //163邮件服务器端口
        properties.put("mail.smtp.port","25");
        //163邮件服务器认证属性
        properties.put("mail.smtp.auth","true");

        session= Session.getDefaultInstance(properties,
                new MyAuthenticator("wulijj1113@163.com","JVQXVOQKUNZCOFND"));//密码是开通服务时给的授权码
        message=new MimeMessage(session);
        //设置消息内容
            //设置邮箱主题
            message.setSubject("JavaMail邮件发送测试");
            //设置邮箱内容
            message.setText("JavaMail邮件发送测试.........");
            //设置邮件发送方
            InternetAddress internetAddress = new InternetAddress("wulijj1113@163.com");
            message.setFrom(internetAddress);
            //设置邮件接收方
            //接收方多人  message.setRecipients(RecipientType recipientType,Address[] addresses);
            message.setRecipient(Message.RecipientType.TO,new InternetAddress("jingz0825@163.com"));

        // 发送邮件
        Transport.send(message);
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用JavaMail实现批量发送邮件,主要步骤如下: 1. 配置邮件服务器信息,包括SMTP服务器地址、端口号、用户名和密码等。 2. 创建JavaMail会话对象,可以通过Session.getDefaultInstance()方法获取默认会话对象,也可以自己创建Session对象。 3. 创建邮件对象,包括发件人、收件人、主题、内容等。 4. 创建多个邮件对象,将它们添加到一个邮件列表。 5. 创建邮件传输对象Transport,连接邮件服务器并发送邮件列表。 下面是一个简单的示例代码: ``` import java.util.*; import javax.mail.*; import javax.mail.internet.*; public class MailSender { public static void main(String[] args) throws Exception { String host = "smtp.example.com"; String username = "your_username"; String password = "your_password"; String from = "your_email@example.com"; String subject = "Test Email"; String body = "This is a test email."; Properties props = new Properties(); props.put("mail.smtp.host", host); props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); List<String> toList = new ArrayList<String>(); toList.add("recipient1@example.com"); toList.add("recipient2@example.com"); toList.add("recipient3@example.com"); List<Message> messageList = new ArrayList<Message>(); for (String to : toList) { Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to)); message.setSubject(subject); message.setText(body); messageList.add(message); } Transport transport = session.getTransport("smtp"); transport.connect(); for (Message message : messageList) { transport.sendMessage(message, message.getAllRecipients()); } transport.close(); } } ``` 在上面的示例代码,我们将收件人地址保存在一个列表,然后创建多个邮件对象,将它们添加到一个邮件列表,最后使用Transport对象发送邮件列表。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java-请多指教

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值