背景
由于公司每周都要写周报,而日常工作很忙,所以很容易忘记这件事件,因此开发一个写周报提醒的机器人,进行特定时间提醒是时候写周报了。
有一个大前提,本技术实现,本着不开通任何收费服务的态度去考察使用的技术栈,因此,只需按照接入步骤实现,即可免费实现标题所述的功能了。
系列文章
一:环境搭建
二:代码编写
三:github action
四:调试整合
思路
通过编写好能发送邮件的java代码,产出jar
开发环境
win10,idea,jdk8,科学上网
开发语言
java
开始发车
(1)创建一个java项目
博主这里,创建一个java项目,默认使用maven仓库,jdk未1.8,配置好groupId,点击下一步,就可以了。
(2)配置java项目打包选项
由于idea创建java项目时的打包选项,并不会把引入的三方jar包依赖到生成产物中,这里就需要配置相关属性,使其依赖到位,避免运行生成的jar包时,依赖报错。
具体代码如下:pom.xml文件修改以下依赖
<!--打包构建-->
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<!-- 此处填写打包后jar包后添加的标识 -->
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<!-- 此处填写程序的主入口(main方法) -->
<mainClass>com.north.light.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
完成上述配置后,使用mvn构建(package)jar包的时候,所生成的jar,就不会报依赖找不到的错误了。
(3)发送邮件的代码
其实核心功能,就是通过代码,发送到具体的账号。
而在java代码中,发送邮件,首先要引入一个三方依赖:
<dependencies>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
然后通过以下代码,进行邮件的发送:
上述两个图片,意思就是,通过构建一个邮件信息对象,然后调用Transport对象的send方法,进行邮件的发送。具体网上一查就可以了,但是开发中,遇到了一些配置相关的坑,就是邮箱的属性配置,下面分享一下我的配置:
上述配置,在163邮箱上,测试通过,可以正常发送消息。
核心逻辑,上述已经介绍完了,若是开发完成,就可以执行一下package指令,生成一个jar包。
that’s all-------------------------------------------------------------------------------------------------