Package com.bytedesk.core.email_message
Class EmailMessageSendService
java.lang.Object
com.bytedesk.core.email_message.EmailMessageSendService
邮件发送服务
提供邮件发送功能,支持HTML、文本、附件等
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final EmailMessageRepositoryprivate final EmailRestServiceprivate final UidUtils -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddAttachments(org.springframework.mail.javamail.MimeMessageHelper helper, String attachments) 添加附件private org.springframework.mail.javamail.JavaMailSendercreateMailSender(EmailEntity emailConfig) 创建JavaMailSenderprivate jakarta.mail.internet.MimeMessagecreateMimeMessage(org.springframework.mail.javamail.JavaMailSender mailSender, EmailEntity emailConfig, EmailMessageRequest request) 创建邮件消息private EmailEntitygetEmailConfig(String emailConfigUid) 获取邮件配置private int计算总收件人数量private booleanisValidEmail(String email) 简单的邮件地址验证private voidsaveEmailRecord(EmailEntity emailConfig, EmailMessageRequest request, String sendId, EmailMessageStatusEnum status, String description, String errorMessage, boolean isRead) 保存邮件记录private voidsavePendingEmailRecord(EmailEntity emailConfig, EmailMessageRequest request, String sendId) 保存待发送的邮件记录private voidsaveSentEmailRecord(EmailEntity emailConfig, EmailMessageRequest request, String sendId, boolean success, String errorMessage) 保存发送的邮件记录sendEmail(EmailMessageRequest request) 发送邮件sendTestEmail(String emailConfigUid, String testEmail) 发送测试邮件booleantestSmtpConnection(String emailConfigUid) 测试邮件配置的SMTP连接private voidvalidateEmailAddressesString(String addresses, String type) 验证邮件地址格式(String类型,逗号分隔)private voidvalidateSendRequest(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.MessagingExceptionUnsupportedEncodingException
-
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:
- 发送结果
-