Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hellokaton/oh-my-email
📪 可能是最小的 Java 邮件发送库了,支持抄送、附件、模板等功能。
https://github.com/hellokaton/oh-my-email
email java
Last synced: 14 days ago
JSON representation
📪 可能是最小的 Java 邮件发送库了,支持抄送、附件、模板等功能。
- Host: GitHub
- URL: https://github.com/hellokaton/oh-my-email
- Owner: hellokaton
- Created: 2016-03-19T14:26:43.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-12-25T08:35:11.000Z (almost 5 years ago)
- Last Synced: 2023-12-11T13:44:53.903Z (11 months ago)
- Topics: email, java
- Language: Java
- Homepage:
- Size: 59.6 KB
- Stars: 698
- Watchers: 20
- Forks: 201
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# oh-my-email
或许是最小的 Java 邮件发送类库了。
[![Build Status](https://img.shields.io/travis/biezhi/oh-my-email.svg?style=flat-square)](https://travis-ci.org/biezhi/oh-my-email)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/2ef611f3fa044c8f8d8fc31cf0acd8a7)](https://www.codacy.com/app/biezhi/oh-my-email?utm_source=github.com&utm_medium=referral&utm_content=biezhi/oh-my-email&utm_campaign=Badge_Grade)
[![codecov.io](https://img.shields.io/codecov/c/github/biezhi/oh-my-email/master.svg?style=flat-square)](http://codecov.io/github/biezhi/oh-my-email?branch=master)
[![maven-central](https://img.shields.io/maven-central/v/io.github.biezhi/oh-my-email.svg?style=flat-square)](http://search.maven.org/#search%7Cga%7C1%7Coh-my-email)
[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg?style=flat-square)](https://www.apache.org/licenses/LICENSE-2.0.html)
[![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/biezhii.svg?style=social&label=Follow%20Twitter)](https://twitter.com/biezhii)## 特性
- 简洁的邮件发送API
- 支持自定义发件人昵称
- 支持扩展邮件Message
- 支持抄送/HTML/附件
- 支持异步发送
- 支持邮件模板
- 可能是代码量最小的库了,200多行 😂 非常好维护## 使用
**maven坐标**
```xml
io.github.biezhi
oh-my-email
0.0.4```
## 举个栗子🌰
```java
@Before
public void before() throws GeneralSecurityException {
// 配置,一次即可
OhMyEmail.config(SMTP_QQ(), "[email protected]", "your@password");
}@Test
public void testSendText() throws MessagingException {
OhMyEmail.subject("这是一封测试TEXT邮件")
.from("小姐姐的邮箱")
.to("[email protected]")
.text("信件内容")
.send();
}@Test
public void testSendHtml() throws MessagingException {
OhMyEmail.subject("这是一封测试HTML邮件")
.from("小姐姐的邮箱")
.to("[email protected]")
.html("信件内容
")
.send();
}@Test
public void testSendAttach() throws MessagingException {
OhMyEmail.subject("这是一封测试附件邮件")
.from("小姐姐的邮箱")
.to("[email protected]")
.html("信件内容
")
.attach(new File("/Users/biezhi/Downloads/hello.jpeg"), "测试图片.jpeg")
.send();
}@Test
public void testSendAttachURL() throws MessagingException {
try {
OhMyEmail.subject("这是一封测试网络资源作为附件的邮件")
.from("小姐姐的邮箱")
.to("[email protected]")
.html("信件内容
")
.attachURL(new URL("https://avatars1.githubusercontent.com/u/2784452?s=40&v=4"), "测试图片.jpeg")
.send();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}@Test
public void testPebble() throws IOException, PebbleException, MessagingException {
PebbleEngine engine = new PebbleEngine.Builder().build();
PebbleTemplate compiledTemplate = engine.getTemplate("register.html");Map context = new HashMap();
context.put("username", "biezhi");
context.put("email", "[email protected]");Writer writer = new StringWriter();
compiledTemplate.evaluate(writer, context);String output = writer.toString();
System.out.println(output);OhMyEmail.subject("这是一封测试Pebble模板邮件")
.from("小姐姐的邮箱")
.to("[email protected]")
.html(output)
.send();
}@Test
public void testJetx() throws IOException, PebbleException, MessagingException {
JetEngine engine = JetEngine.create();
JetTemplate template = engine.getTemplate("/register.jetx");Map context = new HashMap();
context.put("username", "biezhi");
context.put("email", "[email protected]");
context.put("url", "https://biezhi.me/active/asdkjajdasjdkaweoi");StringWriter writer = new StringWriter();
template.render(context, writer);
String output = writer.toString();
System.out.println(output);OhMyEmail.subject("这是一封测试Jetx模板邮件")
.from("小姐姐的邮箱")
.to("[email protected]")
.html(output)
.send();
}
```### 邮件模版
```html
亲爱的{{ username }}, 欢迎加入 biezhi !
当您收到这封信的时候,您已经可以正常登录了。
请点击链接登录首页: http://biezhi.me/xxxxx
如果您的 email 程序不支持链接点击,请将上面的地址拷贝至您的浏览器(如IE)的地址栏进入。
如果您还想申请管理员权限,可以联系管理员 {{ email }}
我们对您产生的不便,深表歉意。
希望您在 biezhi 系统度过快乐的时光!
-----------------------
(这是一封自动产生的email,请勿回复。)
```## 问题建议
- 我的邮箱:`biezhi.me#gmail.com`