使用java发邮件,附jar包

使用java发邮件,附jar包本人小白,很多都是转载资料,只是学习研究一下!需要用到发邮件的朋友可以看一下,我们需要用到三个包,分别是commos-email.jar,javax.activation-1.1.0.jar,mail.jar,下面我已经给打家打包好了。点我进百度云下载,我们以qq邮箱为例子我们先去qq邮箱的设置里面给自己开通SMTP服务,然后记好你的授权码,下面会要用到,好了下面上代码。importj…

大家好,又见面了,我是你们的朋友全栈君。

本人小白,很多都是转载资料,只是学习研究一下!

需要用到发邮件的朋友可以看一下,我们需要用到三个包,分别是commos-

email.jar,javax.activation-1.1.0.jar,mail.jar,下面我已经给打家打包好了。

点我进百度云下载,我们以qq邮箱为例子我们先去qq邮箱的设置里面给自己开通SMTP服务,然后记好你的授权码,下面会要用到,好了下面上代码。

import java.io.Serializable;
/** * 邮件实体类 */
public class Mail implements Serializable { 

/** * 序列号 */
private static final long serialVersionUID = -3562218214168975242L;
/** * 邮件编码s */
public static final String ENCODEING = "UTF-8";
/** * 服务器地址 */
private String host;
/** * 服务器端口号 */
private String portNumber;
/** * 发件人的邮箱 */
private String sender;
/** * 收件人的邮箱 */
private String receiver;
/** * 发件人昵称 */
private String name;
/** * 账号 */
private String username;
/** * 密码 */
private String password;
/** * 主题 */
private String subject;
/** * 信息(支持HTML) */
private String message;
public String getHost() { 

return host;
}
public void setHost(String host) { 

this.host = host;
}
public String getSender() { 

return sender;
}
public String getPortNumber() { 

return portNumber;
}
public void setPortNumber(String portNumber) { 

this.portNumber = portNumber;
}
public void setSender(String sender) { 

this.sender = sender;
}
public String getReceiver() { 

return receiver;
}
public void setReceiver(String receiver) { 

this.receiver = receiver;
}
public String getName() { 

return name;
}
public void setName(String name) { 

this.name = name;
}
public String getUsername() { 

return username;
}
public void setUsername(String username) { 

this.username = username;
}
public String getPassword() { 

return password;
}
public void setPassword(String password) { 

this.password = password;
}
public String getSubject() { 

return subject;
}
public void setSubject(String subject) { 

this.subject = subject;
}
public String getMessage() { 

return message;
}
public void setMessage(String message) { 

this.message = message;
}
}
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
/** * 邮件发送工具实现类 */
public class MailUtil { 

public boolean send(Mail mail) { 

// 发送email对象
HtmlEmail email = new HtmlEmail();
try { 

// 这里是SMTP发送服务器的名字
email.setHostName(mail.getHost());
// 端口号不为空时,用户自定义的端口号为SMTP发送服务器端口号
if (!"".equals(mail.getPortNumber())) { 

email.setSSLOnConnect(true);
email.setSslSmtpPort(mail.getPortNumber());
}
// 字符编码集的设置
email.setCharset(Mail.ENCODEING);
// 收件人的邮箱
email.addTo(mail.getReceiver());
// 发送人的邮箱
email.setFrom(mail.getSender(), mail.getName());
// 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
email.setAuthentication(mail.getUsername(), mail.getPassword());
// 要发送的邮件主题
email.setSubject(mail.getSubject());
// 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签
email.setMsg(mail.getMessage());
// 发送
email.send();
return true;
} catch (EmailException e) { 

e.printStackTrace();
return false;
}
}
}
package com.sas.email;
/** * 邮件测试类 QQ邮箱的测试可以使用,其他邮箱需要改几个地方:1.邮件服务器地址2.邮件服务器端口后3.账号4.密码,不一定时登录密码可能时授权码 * QQ邮箱过程中出现错误,如果程序之前也可以运行成功的话,可以再次生成授权码,有这个原因的。还是不可以的话就请等一会,服务器也需要时间同步。 */
public class SendEmail { 

public static void main(String[] args) { 
//发送一封简单的邮件
Mail mail = new Mail();
mail.setHost("smtp.qq.com"); // 设置邮件服务器,如果不用QQ邮箱的,自己找找看相关的
mail.setPortNumber("465"); // 设置邮件服务器端口号,默认25
mail.setSender("*******@qq.com"); // 发送人
mail.setName("****"); // 发送人昵称
mail.setReceiver("*****@qq.com"); // 接收人
mail.setUsername("********@qq.com"); // 登录账号,一般都是和邮箱名一样
mail.setPassword("******"); // QQ邮箱登录第三方客户端时,密码框请输入“授权码”进行验证。其他的密码具体查看邮件服务器的说明
mail.setSubject("标题");
mail.setMessage("邮件内容");
if (new MailUtil().send(mail)) { 

System.out.println("发送成功");
} else { 

System.out.println("发送失败");
}
}
}

亲测可用!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146699.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Latex——在线快速生成表格代码

    Latex——在线快速生成表格代码latex在线生成表格的网站:http://www.tablesgenerator.com/latex_tables这个网站可以通过三种方式来生成latex表格代码:1、自己设置表格;2、直接导入csv表格;3、直接复制表格内容1、自己设置表格点击File,选择newtables,可以设置需要的行列数2、点击importcsvfile,可以直接导入3、点击paste…

  • 数仓分层

    000概述数仓分层是数据仓库设计中十分重要的一个环节,优秀的分层设计能够让整个数据体系更容易理解和使用本文的大纲001,介绍数据分层的作用002,分层设计的原则以及介绍一种通用的数据分层设计003,具体案例004,落地实践意见005,思考001,数据分层的作用我们需要一套行之有效的数据组织和管理方法来让我们的数据体系更有序,这就是数据分层。数据分层的好处有①,清晰数据结构:每一…

  • 只有搞Java开发的才知道!java软件工程师培训教程pdf

    只有搞Java开发的才知道!java软件工程师培训教程pdf前言又到一年金九银十之际。Java作为目前用户最多,使用范围最广的软件开发技术之一。Java的技术体系主要由支撑Java程序运行的虚拟机,提供各开发领域接口支持的Java,Java编程语言及许多第三方Jvav框架构成。其中,以Java的虚拟器为今天的着重点以下是我整理收藏的一些JVM大厂面试经典问题与相应答案,希望可以给看文的朋友一些帮助由于篇幅过长,请耐心往下看,文末提供小编收藏已久的JVM面试宝典!一、不少培训班候选人的简历中,缺乏足够的商业项目年限不少同学会有这样得感受:投出去不少

  • iptable 详解_iptable命令详解1

    iptable 详解_iptable命令详解1-p-protocal[!]protocol:协议-s-source[!]address[/mask]:源地址-d–destination[!]address[/mask]:目的地址-j–jumptarget:-i–in-interface[!][name]:入口-o–out-interface[!][name]:出口-f,–fragment:分片指定-pt…

  • [POJ 2976]Dropping tests(0-1分数规划)

    [POJ 2976]Dropping tests(0-1分数规划)

  • 常用的数据链路层协议_数据链路层和网络层

    常用的数据链路层协议_数据链路层和网络层由于以太网中的所有的主机共享一个通信信道,因此在同一时刻只允许有一台主机发送数据,否则各个主机发送的数据就会相互干扰。站在系统的角度来看,这里各个主机所共享的通信信道就是一种临界资源,这个临界资源同一时刻只允许一台主机使用。……

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号