java 实现 email 邮件发送最简单优雅的方式(网易 163 为例)

如何使用IMAP服务?

首先介绍一些邮件发送的基础知识,如果你已经知道可以跳过。

直接到 Email 邮件发送实现的部分。

IMAP是什么?

IMAP,即Internet Message Access Protocol(互联网邮件访问协议),您可以通过这种协议从邮件服务器上获取邮件的信息、下载邮件等。

IMAP与POP类似,都是一种邮件获取协议。

IMAP和POP有什么区别?

POP允许电子邮件客户端下载服务器上的邮件,但是您在电子邮件客户端的操作(如:移动邮件、标记已读等),这是不会反馈到服务器上的,比如:您通过电子邮件客户端收取了QQ邮箱中的3封邮件并移动到了其他文件夹,这些移动动作是不会反馈到服务器上的,也就是说,QQ邮箱服务器上的这些邮件是没有同时被移动的。

但是IMAP就不同了,电子邮件客户端的操作都会反馈到服务器上,您对邮件进行的操作(如:移动邮件、标记已读等),服务器上的邮件也会做相应的动作。

也就是说,IMAP是“双向”的。

同时,IMAP可以只下载邮件的主题,只有当您真正需要的时候,才会下载邮件的所有内容。

如何使用IMAP服务?

使用IMAP很简单,首先,您需要先在QQ邮箱中启用IMAP功能,然后,配置好客户端,就可以使用了。

开启 SMTP 服务

QQ 邮箱

【设置】-【账户】-【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】

最下边开启

  • POP3/SMTP 服务
  • IMAP/SMTP 服务

网易 163 邮箱

网易相对比较简单,直接开启【授权码】

Email

Email 是基于 java 实现的发送邮件的工具包,力求简单优雅。

创作缘由

看了各种 email 工具感觉没有想象中方便。

就自己实现一个,后续会陆续加入新的特性。

特性

  • Fluent 流式语法
  • 网易 163 邮箱的发送支持
  • 支持发送给多个收件人,多个(秘密)抄送者

快速开始

环境要求

jdk7+

maven 3.x+

引入

<plugin>
    <groupId>com.github.houbb</groupId>
    <artifactId>email</artifactId>
    <version>0.0.2</version>
</plugin>

发送邮件

此处密码为网易邮箱对应的授权码。

EmailBs.auth("[email protected]", "xxx")
        .content("自定义内容")
        .sendTo("[email protected]");

这里会通过 [email protected] 发送给 [email protected] 一封邮件。

邮件标题默认为无标题,内容为你的自定义内容。

你可以通过指定,配置更多丰富的特性。

方法列表

方法 说明
auth(username, password) username 为邮箱名称,password 为对应密码
content(subject, content) subject 为邮件标题,content 为邮件内容
content(content) subject 默认为 "无标题",content 为邮件内容
sendTo(toArray) toArray 为收件人列表
cc(ccArray) ccArray 为抄送人列表
bcc(bccArray) bccArray 为秘密抄送人列表

使用的例子

你可以指定多个收件人以及抄送人。

示例代码如下:

EmailBs.auth("[email protected]", "xxx")
       .content("自定义主题", "自定义内容")
       .cc("抄送者[email protected]", "抄送者[email protected]")
       .bcc("秘密抄送者[email protected]", "秘密抄送者[email protected]")
       .sendTo("收件人[email protected]", "收件人[email protected]");

后续特性

  • 支持常见邮箱
  • 支持邮件模板

拓展阅读

更多实时资讯,前沿技术,生活趣事。尽在公众号【老马啸西风】

参考资料

java实现邮箱发送邮件功能

java基础实现邮件发送(以qq和网易为例)

javamail实现解析邮箱收件箱

原文地址:https://blog.51cto.com/9250070/2464776

时间: 2024-10-07 19:39:35

java 实现 email 邮件发送最简单优雅的方式(网易 163 为例)的相关文章

JAVA邮件发送的简单实现

JAVA邮件发送的简单实现 JAVA邮件发送的简单实现 JAVA MAIL是利用现有的邮件账户发送邮件的工具,比如说,我在网易注册一个邮箱账户,通过JAVA Mail的操控,我可以不亲自登录网易邮箱,让程序自动的使用网易邮箱发送邮件.这一机制被广泛的用在注册激活和垃圾邮件的发送等方面. JavaMail可以到http://www.oracle.com/technetwork/java/javamail/index-138643.html进行下载,并将mail.jar添加到classpath即可.

java工具类-邮件发送

mail-1.4.jar package com.huawei.it.citools.mail; import java.util.Date;import java.util.List;import java.util.Properties; import javax.mail.Address;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.MessagingException;import javax

基于JavaMail的Java邮件发送:简单邮件发送

http://blog.csdn.net/xietansheng/article/details/51673073 http://www.cnblogs.com/codeplus/archive/2011/10/30/2229391.html http://blog.csdn.net/ghsau/article/details/17839983 ******************** 电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信

Java Mail邮件发送的简单实现

1.什么是java mail JAVA MAIL是利用现有的邮件账户发送邮件的工具,通过JAVA Mail的操控,让程序自动的使用设置的邮箱发送邮件. 这一机制被广泛的用在注册激活和垃圾邮件的发送等方面. 2.邮件发送的大致过程 1.构建一个继承自javax.mail.Authenticator的具体类,并重写里面的getPasswordAuthentication()方法.此类是用作登录校验的,以确保你对该邮箱有发送邮件的权利. 2.构建一个properties文件,该文件中存放SMTP服务器

C# Email邮件发送,功能是密码找回或者重置功能。

最近根据公司需求,写个邮件发送.   这里面的传入的地址信息的参数都是经过加密的.  主要是保证用户信息的安全. 帮助类   1 using System; 2 using System.Collections.Generic; 3 using System.Configuration; 4 using System.IO; 5 using System.Linq; 6 using System.Net.Mail; 7 using System.Text; 8 using System.Web;

java实现smtp邮件发送

一.准备工作 首先你需要已一个发送邮箱,一般的邮箱都有SMTP.POP3服务,比如QQ邮箱,登陆QQ邮箱开启SMTP服务,开启是服务器会提示你设置独立密码,这个密码是跟邮箱正常登陆的密码不同的,这个是SMTP登陆要用的密码,因此这里需记下SMTP独立密码,程序中会有使用.(准备工作就是这么简单,只需有一个开启SMTP服务的邮箱即可)这里贴一下QQ邮箱设置SMTP的位置:登陆邮箱------点击“设置”-------点击“账户”标签页,往下翻就可以看到如下界面 二.一般情况下发送邮件只是中间操作,

Spring进阶—如何用Java代码实现邮件发送(二)

上次给大家分享了怎样发送简单邮件,本次给大家继续分享附件的发送.内嵌html.模版文件的发送. 发送带附件的邮件: Multipart email允许添加附件和内嵌资源(inline resources): 使用一个简单的JPEG图片作为附件,android.png放在工程的根目录,以相对路径的方式加载. 发送内嵌资源的邮件: 内嵌资源可能是你在信件中希望使用的图像或样式表,但是又不想把它们作为附件. 内嵌资源源使用Content-ID(上例中是android.png)来插入到mime信件中去.

关于c#邮件发送的简单例子

这里所说的发送邮件,以发送qq邮件为例. 首先我们先要在自己的邮箱配置好如下选项: 在这一步我们首先要开启服务pop3/smtp,其次要记录下自己的邮箱地址和生成的授权码,然后在自己的c#中写如下代码: 1 public static void SendEmail() 2 { 3 MailMessage msg = new MailMessage(); 4 msg.To.Add("");//收件人地址 5 //msg.CC.Add("");//抄送人地址 6 7 m

eclipse:java.lang.OutOfMemoryError: PermGen space 最简单的解决方式

我使用的工具是STS, Eclipse同理: 打开如下界面: 左则选择项目启动使用的Tomcat-->在右侧面板Tab项中选择" Arguments":在VM arguments中最后一行加入: -Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 即可! PS:启动内存大小按自己项目情况选择合适的大小!