邮件发送测试SMTP

This commit is contained in:
2025-07-10 18:10:40 +08:00
parent 54f238a51e
commit a09c572782
9 changed files with 673 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
package com.ruoyi.oa.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 发件人邮箱账号管理对象 oa_email_account
*
* @author Joshi
* @date 2025-07-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("oa_email_account")
public class OaEmailAccount extends BaseEntity {
private static final long serialVersionUID=1L;
/**
*
*/
@TableId(value = "email_id")
private Long emailId;
/**
* 邮箱账号
*/
private String email;
/**
* 邮箱授权码/密码SMTP方式用
*/
private String password;
/**
* SMTP服务器地址SMTP方式用
*/
private String smtpHost;
/**
* SMTP端口SMTP方式用
*/
private Long smtpPort;
/**
* API方式用accessKey
*/
private String accessKey;
/**
* API方式用secretKey
*/
private String secretKey;
/**
* 邮箱类型0网易 1QQ 2阿里云API 3SendGridAPI等
*/
private Long type;
/**
* 备注
*/
private String remark;
/**
* 删除标志0正常1已删除
*/
@TableLogic
private Integer delFlag;
}

View File

@@ -0,0 +1,70 @@
package com.ruoyi.oa.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 发件人邮箱账号管理业务对象 oa_email_account
*
* @author Joshi
* @date 2025-07-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OaEmailAccountBo extends BaseEntity {
/**
*
*/
private Long emailId;
/**
* 邮箱账号
*/
private String email;
/**
* 邮箱授权码/密码SMTP方式用
*/
private String password;
/**
* SMTP服务器地址SMTP方式用
*/
private String smtpHost;
/**
* SMTP端口SMTP方式用
*/
private Long smtpPort;
/**
* API方式用accessKey
*/
private String accessKey;
/**
* API方式用secretKey
*/
private String secretKey;
/**
* 邮箱类型0网易 1QQ 2阿里云API 3SendGridAPI等
*/
private Long type;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,19 @@
package com.ruoyi.oa.domain.request;
import lombok.Data;
import java.util.List;
/**
* 邮件批量发送请求参数
*/
@Data
public class EmailSendRequest {
/** 发件人邮箱账号ID */
private Long emailAccountId;
/** 收件人邮箱列表 */
private List<String> toList;
/** 邮件主题 */
private String subject;
/** 邮件正文 */
private String content;
}

View File

@@ -0,0 +1,83 @@
package com.ruoyi.oa.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 发件人邮箱账号管理视图对象 oa_email_account
*
* @author Joshi
* @date 2025-07-10
*/
@Data
@ExcelIgnoreUnannotated
public class OaEmailAccountVo {
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long emailId;
/**
* 邮箱账号
*/
@ExcelProperty(value = "邮箱账号")
private String email;
/**
* 邮箱授权码/密码SMTP方式用
*/
@ExcelProperty(value = "邮箱授权码/密码", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "S=MTP方式用")
private String password;
/**
* SMTP服务器地址SMTP方式用
*/
@ExcelProperty(value = "SMTP服务器地址", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "S=MTP方式用")
private String smtpHost;
/**
* SMTP端口SMTP方式用
*/
@ExcelProperty(value = "SMTP端口", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "S=MTP方式用")
private Long smtpPort;
/**
* API方式用accessKey
*/
@ExcelProperty(value = "API方式用accessKey")
private String accessKey;
/**
* API方式用secretKey
*/
@ExcelProperty(value = "API方式用secretKey")
private String secretKey;
/**
* 邮箱类型0网易 1QQ 2阿里云API 3SendGridAPI等
*/
@ExcelProperty(value = "邮箱类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=网易,1=QQ,2=阿里云API,3=SendGridAPI等")
private Long type;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}