Package com.bytedesk.core.email_message
Class EmailMessageSendService
java.lang.Object
com.bytedesk.core.email_message.EmailMessageSendService
邮件发送服务
提供邮件发送功能,支持HTML、文本、附件等
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final EmailMessageRepository
private final EmailRestService
private final UidUtils
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addAttachments
(org.springframework.mail.javamail.MimeMessageHelper helper, String attachments) 添加附件private org.springframework.mail.javamail.JavaMailSender
createMailSender
(EmailEntity emailConfig) 创建JavaMailSenderprivate jakarta.mail.internet.MimeMessage
createMimeMessage
(org.springframework.mail.javamail.JavaMailSender mailSender, EmailEntity emailConfig, EmailMessageRequest request) 创建邮件消息private EmailEntity
getEmailConfig
(String emailConfigUid) 获取邮件配置private int
计算总收件人数量private boolean
isValidEmail
(String email) 简单的邮件地址验证private void
saveEmailRecord
(EmailEntity emailConfig, EmailMessageRequest request, String sendId, EmailMessageStatusEnum status, String description, String errorMessage, boolean isRead) 保存邮件记录private void
savePendingEmailRecord
(EmailEntity emailConfig, EmailMessageRequest request, String sendId) 保存待发送的邮件记录private void
saveSentEmailRecord
(EmailEntity emailConfig, EmailMessageRequest request, String sendId, boolean success, String errorMessage) 保存发送的邮件记录sendEmail
(EmailMessageRequest request) 发送邮件sendTestEmail
(String emailConfigUid, String testEmail) 发送测试邮件boolean
testSmtpConnection
(String emailConfigUid) 测试邮件配置的SMTP连接private void
validateEmailAddressesString
(String addresses, String type) 验证邮件地址格式(String类型,逗号分隔)private void
validateSendRequest
(EmailMessageRequest request) 验证发送请求参数
-
Field Details
-
emailRestService
-
emailMessageRepository
-
uidUtils
-
-
Constructor Details
-
EmailMessageSendService
public EmailMessageSendService()
-
-
Method Details
-
sendEmail
发送邮件- Parameters:
request
- 邮件发送请求- Returns:
- 发送结果
-
validateSendRequest
验证发送请求参数 -
validateEmailAddressesString
验证邮件地址格式(String类型,逗号分隔) -
isValidEmail
简单的邮件地址验证 -
getEmailConfig
获取邮件配置 -
createMailSender
创建JavaMailSender -
createMimeMessage
private jakarta.mail.internet.MimeMessage createMimeMessage(org.springframework.mail.javamail.JavaMailSender mailSender, EmailEntity emailConfig, EmailMessageRequest request) throws jakarta.mail.MessagingException, UnsupportedEncodingException 创建邮件消息- Throws:
jakarta.mail.MessagingException
UnsupportedEncodingException
-
addAttachments
private void addAttachments(org.springframework.mail.javamail.MimeMessageHelper helper, String attachments) throws jakarta.mail.MessagingException 添加附件- Throws:
jakarta.mail.MessagingException
-
getTotalRecipientCount
计算总收件人数量 -
saveEmailRecord
private void saveEmailRecord(EmailEntity emailConfig, EmailMessageRequest request, String sendId, EmailMessageStatusEnum status, String description, String errorMessage, boolean isRead) 保存邮件记录- Parameters:
emailConfig
- 邮件配置request
- 邮件请求sendId
- 发送IDstatus
- 邮件状态description
- 描述信息errorMessage
- 错误信息(可选)isRead
- 是否已读
-
savePendingEmailRecord
private void savePendingEmailRecord(EmailEntity emailConfig, EmailMessageRequest request, String sendId) 保存待发送的邮件记录 -
saveSentEmailRecord
private void saveSentEmailRecord(EmailEntity emailConfig, EmailMessageRequest request, String sendId, boolean success, String errorMessage) 保存发送的邮件记录 -
testSmtpConnection
测试邮件配置的SMTP连接- Parameters:
emailConfigUid
- 邮件配置UID- Returns:
- 测试结果
-
sendTestEmail
发送测试邮件- Parameters:
emailConfigUid
- 邮件配置UIDtestEmail
- 测试邮件地址- Returns:
- 发送结果
-