当前位置 : 主页 > 编程语言 > java >

java实现发邮件功能的三种方式

来源:互联网 收集:自由互联 发布时间:2023-09-06
在Java中,有多种不同的方法可以实现发送邮件的功能。以下是几种常用的方法: 使用JavaMail API: import java.util.Properties;import javax.mail.*;import javax.mail.internet.*;public class EmailSender { public

在Java中,有多种不同的方法可以实现发送邮件的功能。以下是几种常用的方法:

  1. 使用JavaMail API:
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.*;

public class EmailSender {
    public static void sendEmail(String sender, String receiver, String subject, String message) {
        // 邮箱服务器地址和端口号
        String smtpServer = "smtp.example.com";
        int smtpPort = 587;
        
        // 发件人邮箱账号和密码
        String username = "your_email@example.com";
        String password = "your_password";
        
        // 创建Properties对象,用于配置SMTP服务器信息
        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", smtpServer);
        props.put("mail.smtp.port", smtpPort);
        
        // 创建Session对象
        Session session = Session.getInstance(props, new Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
        });
        
        try {
            // 创建MimeMessage对象
            MimeMessage mimeMessage = new MimeMessage(session);
            
            // 设置发件人
            mimeMessage.setFrom(new InternetAddress(sender));
            
            // 设置收件人
            mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(receiver));
            
            // 设置主题
            mimeMessage.setSubject(subject);
            
            // 设置邮件正文
            mimeMessage.setText(message);
            
            // 发送邮件
            Transport.send(mimeMessage);
            
            System.out.println("邮件发送成功");
        } catch (MessagingException e) {
            System.out.println("邮件发送失败:" + e.getMessage());
        }
    }
}
  1. 使用Spring Framework的JavaMailSender:
import org.springframework.mail.MailException;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

public class EmailSender {
    private JavaMailSender mailSender;
    
    public void setMailSender(JavaMailSender mailSender) {
        this.mailSender = mailSender;
    }
    
    public void sendEmail(String sender, String receiver, String subject, String message) {
        try {
            // 创建SimpleMailMessage对象
            SimpleMailMessage mailMessage = new SimpleMailMessage();
            
            // 设置发件人
            mailMessage.setFrom(sender);
            
            // 设置收件人
            mailMessage.setTo(receiver);
            
            // 设置主题
            mailMessage.setSubject(subject);
            
            // 设置邮件正文
            mailMessage.setText(message);
            
            // 发送邮件
            mailSender.send(mailMessage);
            
            System.out.println("邮件发送成功");
        } catch (MailException e) {
            System.out.println("邮件发送失败:" + e.getMessage());
        }
    }
}
  1. 使用Apache Commons Email库:
import org.apache.commons.mail.*;

public class EmailSender {
    public static void sendEmail(String sender, String receiver, String subject, String message) {
        try {
            // 创建Email对象
            Email email = new SimpleEmail();
            
            // 设置邮箱服务器地址和端口号
            email.setHostName("smtp.example.com");
            email.setSmtpPort(587);
            
            // 设置发件人邮箱账号和密码
            email.setAuthentication("your_email@example.com", "your_password");
            
            // 设置发件人
            email.setFrom(sender);
            
            // 设置收件人
            email.addTo(receiver);
            
            // 设置主题
            email.setSubject(subject);
            
            // 设置邮件正文
            email.setMsg(message);
            
            // 发送邮件
            email.send();
            
            System.out.println("邮件发送成功");
        } catch (EmailException e) {
            System.out.println("邮件发送失败:" + e.getMessage());
        }
    }
}

以上是三种常用的Java发送邮件的方法,可以根据自己的需求选择适合的方法来实现发送邮件的功能。请注意替换代码中的SMTP服务器地址、端口号、发件人邮箱账号和密码,以及根据需要自定义其他邮件相关的设置。


上一篇:Docker构建Jenkins
下一篇:没有了
网友评论