Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
syncData
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenzy
syncData
Commits
0dea4c22
Commit
0dea4c22
authored
Mar 18, 2025
by
chenzy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【新增】纯文本发邮件
parent
d802b0db
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
123 additions
and
0 deletions
+123
-0
pom.xml
pom.xml
+7
-0
EmailController.java
...main/java/com/keymobile/syncdata/api/EmailController.java
+27
-0
EmailDTO.java
src/main/java/com/keymobile/syncdata/dto/EmailDTO.java
+10
-0
EmailService.java
...ain/java/com/keymobile/syncdata/service/EmailService.java
+7
-0
EmailServiceImpl.java
...com/keymobile/syncdata/service/impl/EmailServiceImpl.java
+72
-0
No files found.
pom.xml
View file @
0dea4c22
...
@@ -51,6 +51,13 @@
...
@@ -51,6 +51,13 @@
<artifactId>
springdoc-openapi-starter-webmvc-ui
</artifactId>
<artifactId>
springdoc-openapi-starter-webmvc-ui
</artifactId>
<version>
2.0.3
</version>
<version>
2.0.3
</version>
</dependency>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-mail
</artifactId>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
src/main/java/com/keymobile/syncdata/api/EmailController.java
0 → 100644
View file @
0dea4c22
package
com
.
keymobile
.
syncdata
.
api
;
import
com.keymobile.syncdata.dto.EmailDTO
;
import
com.keymobile.syncdata.service.EmailService
;
import
io.swagger.v3.oas.annotations.Operation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"/email"
)
public
class
EmailController
{
@Autowired
private
EmailService
emailService
;
@Operation
(
summary
=
"发送纯文本"
)
@PostMapping
(
"txt"
)
public
void
sendEmail
(
@RequestBody
EmailDTO
emailDTO
)
{
emailService
.
sendTextMailMessage
(
emailDTO
.
getToEmailAddress
(),
emailDTO
.
getTitle
(),
emailDTO
.
getContent
());
}
}
src/main/java/com/keymobile/syncdata/dto/EmailDTO.java
0 → 100644
View file @
0dea4c22
package
com
.
keymobile
.
syncdata
.
dto
;
import
lombok.Data
;
@Data
public
class
EmailDTO
{
private
String
toEmailAddress
;
private
String
title
;
private
String
content
;
}
src/main/java/com/keymobile/syncdata/service/EmailService.java
0 → 100644
View file @
0dea4c22
package
com
.
keymobile
.
syncdata
.
service
;
import
com.keymobile.syncdata.dto.EmailDTO
;
public
interface
EmailService
{
public
void
sendTextMailMessage
(
String
to
,
String
subject
,
String
text
);
}
src/main/java/com/keymobile/syncdata/service/impl/EmailServiceImpl.java
0 → 100644
View file @
0dea4c22
package
com
.
keymobile
.
syncdata
.
service
.
impl
;
import
com.keymobile.syncdata.service.EmailService
;
import
io.micrometer.common.util.StringUtils
;
import
jakarta.mail.MessagingException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.mail.javamail.JavaMailSenderImpl
;
import
org.springframework.mail.javamail.MimeMessageHelper
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
@Service
public
class
EmailServiceImpl
implements
EmailService
{
@Autowired
private
JavaMailSenderImpl
javaMailSender
;
@Value
(
"${spring.mail.username}"
)
private
String
sendMailer
;
/**
* 发送纯文本邮件
*
* @param to
* @param subject
* @param text
*/
public
void
sendTextMailMessage
(
String
to
,
String
subject
,
String
text
)
{
try
{
//true 代表支持复杂的类型
MimeMessageHelper
mimeMessageHelper
=
new
MimeMessageHelper
(
javaMailSender
.
createMimeMessage
(),
true
);
//邮件发信人
mimeMessageHelper
.
setFrom
(
sendMailer
);
//邮件收信人 1或多个
mimeMessageHelper
.
setTo
(
to
.
split
(
","
));
//邮件主题
mimeMessageHelper
.
setSubject
(
subject
);
//邮件内容
mimeMessageHelper
.
setText
(
text
);
//邮件发送时间
mimeMessageHelper
.
setSentDate
(
new
Date
());
//发送邮件
javaMailSender
.
send
(
mimeMessageHelper
.
getMimeMessage
());
System
.
out
.
println
(
"发送邮件成功:"
+
sendMailer
+
"->"
+
to
);
}
catch
(
MessagingException
e
)
{
e
.
printStackTrace
();
System
.
out
.
println
(
"发送邮件失败:"
+
e
.
getMessage
());
}
}
/**
* 检测邮件信息类
*
* @param to
* @param subject
* @param text
*/
private
void
checkMail
(
String
to
,
String
subject
,
String
text
)
{
if
(
StringUtils
.
isEmpty
(
to
))
{
throw
new
RuntimeException
(
"邮件收信人不能为空"
);
}
if
(
StringUtils
.
isEmpty
(
subject
))
{
throw
new
RuntimeException
(
"邮件主题不能为空"
);
}
if
(
StringUtils
.
isEmpty
(
text
))
{
throw
new
RuntimeException
(
"邮件内容不能为空"
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment