Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-email
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-email
Commits
11bddd82
Commit
11bddd82
authored
Oct 10, 2025
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
3511192e
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
4 deletions
+29
-4
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailSendServiceImpl.java
+29
-4
No files found.
yd-email-api/src/main/java/com/yd/email/api/service/impl/ApiEmailSendServiceImpl.java
View file @
11bddd82
...
...
@@ -48,6 +48,9 @@ public class ApiEmailSendServiceImpl implements ApiEmailSendService {
@Autowired
private
ApiEmailSendAsyncService
apiEmailSendAsyncService
;
@Autowired
private
ApiEmailContactService
apiEmailContactService
;
/**
* 发送邮件
* @param request
...
...
@@ -117,12 +120,34 @@ public class ApiEmailSendServiceImpl implements ApiEmailSendService {
apiSendMailDto
.
setReceiveEmail
(
mailTask
.
getSendEmail
());
//抄送人邮箱列表
// apiSendMailDto.setCcEmailList(ccEmailList);
//变量分组唯一业务ID不为空,来源是1-excel导入联系人 为空是0-选择联系人导入
Integer
source
=
StringUtils
.
isNotBlank
(
request
.
getVariableGroupBizId
())
?
1
:
0
;
// 保存收件人信息
//根据当前当前会话id和数据来源查询导入数据,保存到邮件任务收件人关联表中,供后续使用
Result
<
List
<
EmailTaskRecipients
>>
result1
=
apiEmailTaskRecipientsService
.
queryEmailTaskRecipientsBySessionId
(
taskBizId
,
mailTask
.
getStatus
(),
request
.
getSessionId
(),
source
);
List
<
EmailTaskRecipients
>
recipientsList
=
result1
.
getData
();
EmailTaskRecipients
recipient
=
recipientsList
.
get
(
0
);
//邮件内容
if
(
StringUtil
.
hasPlaceholdersSimple
(
apiSendMailDto
.
getContent
()))
{
//检测内容是否有占位符,有占位符就替换具体内容,每收件人的占位符内容是不一样的。
// apiSendMailDto.setContent(StringUtil.replacePlaceholders(apiSendMailDto.getContent(),
// recipient.getVariables()));
if
(
StringUtil
.
hasPlaceholdersSimple
(
mailTask
.
getContent
())
&&
StringUtils
.
isNotBlank
(
mailTask
.
getVariableGroupBizId
()))
{
//检测内容是否有占位符,有占位符并且变量分组唯一业务ID不为空就替换具体内容,替换具体内容:recipient.getVariables()
//变量替换内容(固定+非固定变量)
String
content
=
StringUtil
.
replacePlaceholders
(
mailTask
.
getContent
(),
recipient
.
getVariables
());
apiSendMailDto
.
setContent
(
content
);
}
else
if
(
StringUtil
.
hasPlaceholdersSimple
(
mailTask
.
getContent
())
&&
StringUtils
.
isBlank
(
mailTask
.
getVariableGroupBizId
()))
{
//检测内容是否有占位符,有占位符并且变量分组唯一业务ID为空就替换具体内容。替换具体内容:通用变量字段:收件人姓名、收件人称谓、公司,这三个字段内容从收件人联系人获取
//检测内容是否含有通用变量
if
(
StringUtil
.
hasTyVariables
(
mailTask
.
getContent
()))
{
String
content
=
apiEmailContactService
.
replacePlaceholders
(
mailTask
.
getContent
(),
recipient
.
getContactBizId
(),
recipient
.
getCcEmail
());
apiSendMailDto
.
setContent
(
content
);
}
}
// 调用邮件服务发送邮件
try
{
apiEmailService
.
sendMail
(
apiSendMailDto
);
...
...
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