如何用Java实现发送邮件功能的三种不同方法?

2026-04-19 10:591阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计726个文字,预计阅读时间需要3分钟。

如何用Java实现发送邮件功能的三种不同方法?

在Java中,有多种不同的方法可以实现发送电子邮件的功能。以下是一些常用方法的简化版:

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

public class EmailSender { public void sendEmail() { Properties props=new Properties(); Session session=Session.getDefaultInstance(props, null); Message message=new MimeMessage(session); message.setFrom(new InternetAddress(sender@example.com)); message.setRecipients(Message.RecipientsType.TO, InternetAddress.parse(recipient@example.com)); message.setSubject(Test Email); message.setText(This is a test email.); Transport.send(message); }}

在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服务器地址、端口号、发件人邮箱账号和密码,以及根据需要自定义其他邮件相关的设置。

如何用Java实现发送邮件功能的三种不同方法?


本文共计726个文字,预计阅读时间需要3分钟。

如何用Java实现发送邮件功能的三种不同方法?

在Java中,有多种不同的方法可以实现发送电子邮件的功能。以下是一些常用方法的简化版:

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

public class EmailSender { public void sendEmail() { Properties props=new Properties(); Session session=Session.getDefaultInstance(props, null); Message message=new MimeMessage(session); message.setFrom(new InternetAddress(sender@example.com)); message.setRecipients(Message.RecipientsType.TO, InternetAddress.parse(recipient@example.com)); message.setSubject(Test Email); message.setText(This is a test email.); Transport.send(message); }}

在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服务器地址、端口号、发件人邮箱账号和密码,以及根据需要自定义其他邮件相关的设置。

如何用Java实现发送邮件功能的三种不同方法?