欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java邮箱发送

程序员文章站 2022-07-26 10:39:53
一、为何要使用邮箱发送 相信大家在日常工作生活中少不了和邮件打交道,比如我们会用邮件进行信息交流,向上级汇报日常工作;邮件发送的原理是什么?邮件是如何发送的呢?本系列教程将会讲解邮件如何申请可用java代码实现发送,本章以QQ邮箱为例详细的向大家分析学习如何使用。相信大家看完后,一定会有所收获。 二 ......

一、为何要使用邮箱发送

  相信大家在日常工作生活中少不了和邮件打交道,比如我们会用邮件进行信息交流,向上级汇报日常工作;邮件发送的原理是什么?邮件是如何发送的呢?本系列教程将会讲解邮件如何申请可用java代码实现发送,本章以qq邮箱为例详细的向大家分析学习如何使用。相信大家看完后,一定会有所收获。

二、开启pop3/smtp服务

1、打开qq邮箱,点击设置

java邮箱发送

 

 2、点击账户

java邮箱发送

 

3、找到pop3/imap/smtp/exchange/carddav/caldav服务,并开启

java邮箱发送

 

 这时你就会得到一个使用该服务的一个专属密码,注意保存,记住,后期使用需要用到

三、java实现

1、使用的你的开发工具创建一个测试项目,并导入所需要的依赖包:

<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-websocket</artifactid>
</dependency>
<dependency>
<groupid>com.sun.mail</groupid>
<artifactid>javax.mail</artifactid>
<version>1.6.2</version>
</dependency>
这是两个主要用到的依赖,还有一些项目所运行的依赖自行导入即可,
若不是maven项目的可以进入 http://mvnrepository.com 网页进行搜索下载,搜索依赖中的关键字即可,如:javax.mail,spring-websocke

java邮箱发送

 

2、使用你的java开发工具创建一个方法类,如我的是:sendmailacceutils

 java邮箱发送

 

 3、在工具类中写一个发送邮件的方法:sendmail

 java邮箱发送

 

重要的在上述截图中有讲解,以下是整个方法:

public static boolean sendmail( string[] receives, string subject, string msg, string[] filenames) {
if (stringutils.isempty(receives)) {
return false;
}
// 设置邮件服务器
javamailsenderimpl mailsender = new javamailsenderimpl();
mailsender.sethost("smtp.qq.com");
mailsender.setusername("1776980696@qq.com");
mailsender.setpassword("drpmocmkqsfvecij");

mimemessage message = mailsender.createmimemessage();
try {
mimemessagehelper messagehelper = new mimemessagehelper(message, true, "utf-8");

messagehelper.setsubject("utf-8");

messagehelper.setsubject(subject);
messagehelper.setto(receives);
messagehelper.setfrom("1776980696@qq.com");

if (filenames != null) {
file file = null;
for (string files : filenames) {
file = new file(files.trim());
messagehelper.addattachment(mimeutility.encodeword(file.getname()), file);
}
}


messagehelper.settext(msg, true);
mailsender.send(message);
return true;
} catch (exception e) {
e.printstacktrace();
}

return false;
}

4、写一个main方法调用测试

记住一下参数个个是何作用调用方法的时候需要 一 一 对应

/**
* 发送带附件的邮件
*
* @param receives 收件人
* @param subject 邮件主题
* @param msg 邮件内容
* @param filenames 附件地址
* @return
* @throws generalsecurityexception
*/

 public static void main(string[] args) {

  sendmailacceutils.sendmail("1776980696@qq.com","这是假的","这是一个假的邮件,请不要相信他","c:\users\administrator\desktop\csdn.txt");

}

 启动即可发送邮件给1776980696@qq.com:

 

java邮箱发送

本章知识就分享到这里了若想一些其他的问题,可以加我进行询问,java是开源的,学习起来也不是很难:1776980696