Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

上传邮箱拉取器代码 #112

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions email-connector_zhouyinxuan9264/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 邮箱连接器
支持163,QQ、新浪邮箱收发邮件,发送邮件时支持设置主题,收件人,抄送人,正文等

## 逻辑详情

### 逻辑一 发送邮件 sendEmail

* @param receiveAccount 接收方账号 必填
* @param subject 主题 必填
* @param content 内容 必填
* @param ccRecipients 抄送人 非必填
* @return Boolean 是否发送成功
### 逻辑二 接收邮件 getEmail

* @param needMsgCount 获取最新的几条邮件 必填 数值越大获取越慢
* @return MailBody 数组 返回封装的邮件消息体

### 逻辑三 发送带附件的邮件 sendEmailWithFile
* @param receiveAccount 接收方账号 必填
* @param subject 主题 必填
* @param content 内容 必填
* @param ccRecipients 抄送人 非必填
* @param files 附件路径 大于0小于10
## 使用步骤说明

1. 应用引用依赖库
2. 配置应用配置参数(如果有的话)
3. 逻辑调用示例截图
4. 填写账号 account 和授权码 authCode,smtpHost和imapHost 需要修改可以填写,不需要修改 输入空格即可点击连通性进行测试
![img.png](img.png)
5. 测试完成后点击确定,然后新建一个服务端逻辑,调用新建的连接器的相应逻辑,传入参数进行使用邮箱方法
![img_1.png](img2.png)

## 应用演示链接

[使用了本依赖库的制品应用链接]
Binary file added email-connector_zhouyinxuan9264/img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added email-connector_zhouyinxuan9264/img2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
103 changes: 103 additions & 0 deletions email-connector_zhouyinxuan9264/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.9.RELEASE</version>
</parent>
<groupId>com.yu</groupId>
<artifactId>email-connector</artifactId>
<version>0.0.13</version>
<name>邮件拉取器</name>
<description>支持常见邮箱收发邮件,发送邮件时支持设置主题,收件人,抄送人,正文等</description>

<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<nasl.ide.version>3.4</nasl.ide.version>
</properties>
<dependencies>
<!--本案例是本地系统引入nasl-metadata-collector-0.8.0.jar的方式。
若把nasl-metadata-collector-0.8.0.jar安装到自己的maven仓库,
注意修改artifactId和groupId的情况下,不要使用<scope>system</scope>,会在发布时造成依赖中断。
不修改artifactId和groupId的情况下,nasl-metadata-maven-plugin会做特殊处理-->
<dependency>
<artifactId>nasl-metadata-collector</artifactId>
<groupId>com.netease.lowcode</groupId>
<version>0.8.0</version>
<optional>true</optional>
<scope>system</scope>
<systemPath>${project.basedir}/jar/nasl-metadata-collector-0.8.0.jar</systemPath>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
<version>5.8.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--制品应用使用Springboot框架,父应用引用了的包,为了防止版本冲突,scope可设置为provided-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.netease.lowcode</groupId>
<artifactId>nasl-metadata-maven-plugin</artifactId>
<version>1.3.0</version>
<configuration>
<jarWithDependencies>true</jarWithDependencies>
</configuration>
<executions>
<execution>
<goals>
<goal>archive</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.yu.connector;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
* @author 余卫青
* @version 1.0.0
* @date 2024/4/23 15:21
**/
@SpringBootApplication
@RestController
public class CheckTest {
public static void main(String[] args) {
SpringApplication.run(CheckTest.class, args);
}
@Resource
private EmailConnectorUtil emailUtil;
@GetMapping("/test")
public List<MailBody> getEmail(){
return emailUtil.getEmail(5);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.yu.connector;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
* @author 余卫青
* @version 1.0.0
* @date 2024/4/23 15:12
**/
@Configuration
@ComponentScan(basePackages = "com.yu.connector")
public class EmailAutoConfigure {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package com.yu.connector;

import com.netease.lowcode.core.EnvironmentType;
import com.netease.lowcode.core.annotation.Environment;
import com.netease.lowcode.core.annotation.NaslConfiguration;
import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
* @author 余卫青
* @version 1.0.0
* @date 2024/4/23 14:54
**/
@Getter
@Setter
@Component
public class EmailConfigProp {
/**
* 你的邮箱账号 必填
*/
@NaslConfiguration(defaultValue = {
@Environment(type = EnvironmentType.DEV, value = "[email protected]")
})
@Value("${account}")
private String account;
/**
* 你授权给第三方的授权码
*/
@NaslConfiguration(defaultValue = {
@Environment(type = EnvironmentType.DEV, value = "xxxx")
})
@Value("${authCode}")
private String authCode;
/**
* 你的邮箱的smtp服务器地址
*/
@NaslConfiguration(defaultValue = {
@Environment(type = EnvironmentType.DEV, value = "smtp.qq.com")
})
@Value("${smtpHost}")
private String smtpHost;

/**
* imap服务器地址
*/
@NaslConfiguration(defaultValue = {
@Environment(type = EnvironmentType.DEV, value = "imap.qq.com")
})
@Value("${imapHost}")
private String imapHost;
}
Loading
Loading