简单邮箱源码java_简单的java实现发送电子邮件

news/2025/2/26 9:05:34

这里实现用Java发送电子邮件,可以发送简单文本,或者html,再或者就是带附件了。

首先就是需要两个包,我用的是apache中commons中的,下载地址http://commons.apache.org/可以去下载。

需要的两个包为:mail.jar、commons-email.jar;

下面为发送文本的代码实现:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

import org.apache.commons.mail.Email;

import org.apache.commons.mail.EmailException;

import org.apache.commons.mail.SimpleEmail;

public class SimpleEmailTest {

public static void main(String[] args) {

Email email = new SimpleEmail();

//smtp.qq.com是腾讯的邮件服务器;各邮箱的都可以查到;这里用QQ吧 email.setHostName("smtp.qq.com");

//发送邮件的帐号、密码 email.setAuthentication("840***413", "123****");

email.setCharset("UTF-8");

//是否加密,基本都是true email.setTLS(true);

try {

//这里是发送方的邮件 email.setFrom("840***413@qq.com");

email.setSubject("commons email");

//这里放的就是要发送的文本内容了 email.setMsg("这是利用commons包发出的电子邮件");

//发送目的邮箱 email.addTo("××××@163.com");

email.send();

} catch (EmailException e) {

e.printStackTrace();

}

}

}

很简单,发送html的或者带附件的都差不多,下面是发送html的,注意与上面的变化

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

import org.apache.commons.mail.EmailException;

import org.apache.commons.mail.HtmlEmail;

public class HtmlEmailTest {

public static void main(String[] args) {

HtmlEmail email = new HtmlEmail();//变化1 email.setHostName("smtp.qq.com");

email.setAuthentication("840***413", "131*****");

email.setCharset("UTF-8");

email.setTLS(true);

try {

email.setFrom("840***413@qq.com");

email.setSubject("commons email");

email.setHtmlMsg("

你好,这是测试邮件
");

email.addTo("***@163.com");

email.send();

} catch (EmailException e) {

e.printStackTrace();

}

}

}

下面是发送带附件的邮件

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.pngView Code

import org.apache.commons.mail.EmailAttachment;

import org.apache.commons.mail.EmailException;

import org.apache.commons.mail.MultiPartEmail;

public class AttMailTest {

public static void main(String[] args) {

EmailAttachment ea = new EmailAttachment();//附件 ea.setPath("c:\\bar.jpg");//本地随便一个文件

MultiPartEmail email = new MultiPartEmail();

email.setHostName("smtp.qq.com");

email.setAuthentication("840***413", "131****");

email.setCharset("UTF-8");

email.setTLS(true);

try {

email.setFrom("840***413@qq.com");

email.setSubject("commons email");

email.setMsg("这是利用commons包发出的电子邮件");

email.addTo("***@163.com");

email.attach(ea);

email.send();

} catch (EmailException e) {

e.printStackTrace();

}

}

}

其实基本没什么变化;这里有点要注意,现在工程是个Java工程,如果是web工程可能出现不能发送情况,原因是Myeclipse自带的

包中有mail.jar,但版本已经不对,需要手动删除,导入新下载的包,当初也是搜索了异常才解决问题;还有就是要对邮箱进行一些设置,这个

比较简单,程序运行后,如果没发送成功(不报错),一般qq会给你发送一封邮件告诉你应该设置某些邮箱参数(打开或者关闭)


http://www.niftyadmin.cn/n/712238.html

相关文章

Word2007插入两种页码

做毕设,摘要,Abstract,目录,第一章,现在想要“摘要,Abstract,目录”编页码“为罗马数字,第一章开始为阿拉伯数字,可以按如下步骤: 1.各部分插入分页符&#x…

docker制作镜像

1.下载镜像: docker pull centos:7.2.1511 2.查看本地有哪些镜像 docker images 3.启动docker docker run -ti 8686(image ID即镜像Id) 4.改变镜像 yum install vim 5.退出镜像 6.提交镜像 docker commit -m "modify vim" xxx_image 7.此时docker image可…

ts获取服务器数据_ionic4中数据交互get post jsonp请求服务器数据

ionic4.x中请求数据和angular中几乎是一样的,其中get、post和和服务器交互使用的是HttpClientModule模块。下面我们看看ionic4中数据交互get post jsonp请求服务器数据。一、ionic4.x get 请求数据Angular5.x以后get、post和和服务器交互使用的是HttpClientModule模…

从安全和成本来看企业混合云的演变

爆炸性的数据让企业考虑混合云存储来满足容量需求。但云的成本和安全问题需要解决。 各种规模的企业都面临非结构化数据集前所未有的增长速度。 增长的速度和使用的容量主要是源于捕捉和传输数据的物联网设备的快速部署。 许多小型企业正寻求公共云来帮助他们跟上这种爆炸性增长…

java32位怎么用eclipse_32位eclipse怎么安装?

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。下面我们就来看一下如何安装32位的Eclipse:1、打开浏览器,用百度搜索引擎搜索关键字“eclipse”&…

新RS CCIEv5,新V5 Written笔试400-101

在YESLAB全员讲师通过一个通宵的共同奋战,于第一个考试日一举拿下RS CCIEv5 新written-400-101First of the world!!转载于:https://blog.51cto.com/enderjoe/1422842

tf中的meta和pb

https://www.jianshu.com/p/af2b694eae61 简单来说,pb文件是个推理的图,meta更复杂,不能用来部署转载于:https://www.cnblogs.com/573177885qq/p/10956610.html

pytorch 实现gru_Pytorch实现LSTM和GRU示例

为了解决传统RNN无法长时依赖问题,RNN的两个变体LSTM和GRU被引入。LSTMLong Short Term Memory,称为长短期记忆网络,意思就是长的短时记忆,其解决的仍然是短时记忆问题,这种短时记忆比较长,能一定程度上解决…