Spring Boot 1.2.5.RELEASE - 通过 Gmail SMTP 发送电子邮件

作者:编程家 分类: spring 时间:2025-09-14

使用Spring Boot 1.2.5.RELEASE版本通过Gmail SMTP发送电子邮件是一种简单而方便的方式。在本文中,我们将介绍如何使用Spring Boot和Gmail SMTP服务器来发送电子邮件。我们还将提供一个案例代码,以帮助您更好地理解如何实现。

首先,我们需要在pom.xml文件中添加以下依赖项,以引入Spring Boot和相关的邮件依赖:

xml

org.springframework.boot

spring-boot-starter-mail

接下来,我们需要在应用程序的配置文件中配置Gmail SMTP服务器的相关信息。在application.properties文件中添加以下配置:

properties

# Mail properties

spring.mail.host=smtp.gmail.com

spring.mail.port=587

spring.mail.username=your-email@gmail.com

spring.mail.password=your-password

spring.mail.properties.mail.smtp.auth=true

spring.mail.properties.mail.smtp.starttls.enable=true

请确保将"your-email@gmail.com"替换为您的Gmail电子邮件地址,并将"your-password"替换为您的Gmail密码。

使用Spring Boot,我们可以通过注入JavaMailSender对象来发送电子邮件。在您的应用程序中,创建一个新的Java类,并通过@Autowired注解将JavaMailSender对象注入该类:

java

@Component

public class EmailService {

@Autowired

private JavaMailSender mailSender;

public void sendEmail(String to, String subject, String body) {

SimpleMailMessage message = new SimpleMailMessage();

message.setTo(to);

message.setSubject(subject);

message.setText(body);

mailSender.send(message);

}

}

在上面的示例中,我们创建了一个名为EmailService的类,并使用@Autowired注解将JavaMailSender对象注入到该类中。然后,我们定义了一个sendEmail方法,该方法接受收件人地址,主题和正文作为参数,并使用JavaMailSender对象发送电子邮件。

现在,我们可以在应用程序的任何地方使用EmailService来发送电子邮件。例如,可以在控制器中使用以下方式调用sendEmail方法:

java

@RestController

public class EmailController {

@Autowired

private EmailService emailService;

@RequestMapping("/sendEmail")

public String sendEmail() {

String to = "recipient-email@example.com";

String subject = "Hello from Spring Boot";

String body = "This is a test email from Spring Boot.";

emailService.sendEmail(to, subject, body);

return "Email sent successfully";

}

}

在上面的示例中,我们在EmailController类中注入了EmailService,并在sendEmail方法中调用了sendEmail方法。该方法将收件人地址,主题和正文作为参数,并使用EmailService发送电子邮件。

案例代码:

java

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.mail.SimpleMailMessage;

import org.springframework.mail.javamail.JavaMailSender;

import org.springframework.stereotype.Component;

@Component

public class EmailService {

@Autowired

private JavaMailSender mailSender;

public void sendEmail(String to, String subject, String body) {

SimpleMailMessage message = new SimpleMailMessage();

message.setTo(to);

message.setSubject(subject);

message.setText(body);

mailSender.send(message);

}

}

java

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class EmailController {

@Autowired

private EmailService emailService;

@RequestMapping("/sendEmail")

public String sendEmail() {

String to = "recipient-email@example.com";

String subject = "Hello from Spring Boot";

String body = "This is a test email from Spring Boot.";

emailService.sendEmail(to, subject, body);

return "Email sent successfully";

}

}

使用Spring Boot 1.2.5.RELEASE版本通过Gmail SMTP发送电子邮件

在现代化的应用程序开发中,电子邮件是一种非常重要的通信方式。通过使用Spring Boot 1.2.5.RELEASE和Gmail SMTP服务器,我们可以轻松地实现电子邮件的发送功能。

配置Gmail SMTP服务器

首先,我们需要在pom.xml文件中添加Spring Boot和邮件相关的依赖项。然后,在应用程序的配置文件中,我们需要设置Gmail SMTP服务器的相关信息。

properties

spring.mail.host=smtp.gmail.com

spring.mail.port=587

spring.mail.username=your-email@gmail.com

spring.mail.password=your-password

spring.mail.properties.mail.smtp.auth=true

spring.mail.properties.mail.smtp.starttls.enable=true

请确保将"your-email@gmail.com"替换为您的Gmail电子邮件地址,并将"your-password"替换为您的Gmail密码。

发送电子邮件

使用Spring Boot的JavaMailSender对象,我们可以轻松地发送电子邮件。在应用程序中,我们可以创建一个名为EmailService的类,并注入JavaMailSender对象。

java

@Component

public class EmailService {

@Autowired

private JavaMailSender mailSender;

public void sendEmail(String to, String subject, String body) {

SimpleMailMessage message = new SimpleMailMessage();

message.setTo(to);

message.setSubject(subject);

message.setText(body);

mailSender.send(message);

}

}

在上面的示例中,我们定义了一个sendEmail方法,该方法接受收件人地址,主题和正文作为参数,并使用JavaMailSender对象发送电子邮件。

案例代码:

java

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.mail.SimpleMailMessage;

import org.springframework.mail.javamail.JavaMailSender;

import org.springframework.stereotype.Component;

@Component

public class EmailService {

@Autowired

private JavaMailSender mailSender;

public void sendEmail(String to, String subject, String body) {

SimpleMailMessage message = new SimpleMailMessage();

message.setTo(to);

message.setSubject(subject);

message.setText(body);

mailSender.send(message);

}

}

java

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class EmailController {

@Autowired

private EmailService emailService;

@RequestMapping("/sendEmail")

public String sendEmail() {

String to = "recipient-email@example.com";

String subject = "Hello from Spring Boot";

String body = "This is a test email from Spring Boot.";

emailService.sendEmail(to, subject, body);

return "Email sent successfully";

}

}

在本文中,我们介绍了如何使用Spring Boot 1.2.5.RELEASE和Gmail SMTP服务器发送电子邮件。我们提供了一个案例代码,以帮助您更好地理解如何实现。通过使用Spring Boot和Gmail SMTP服务器,您可以轻松地在应用程序中实现电子邮件发送功能。希望本文对您有所帮助!