【JAVA】【入门向】| 使用Java发送邮箱【javax.mail】


一、前言

在写一些项目时(比如涉及到账号需要找回),我们不可避免需要用上邮件,而实际上java可以通过代码直接实现自动发邮件。

: 本文使用的发件邮箱为网易163邮箱,若使用QQ邮箱则需要在代码中加入一段SSL加密的代码,请注意(仅QQ邮箱需要,请注意代码中的注释块)。至于收件邮箱没有要求。

二、准备

如果使用Maven,请在pom中加入以下依赖:

 <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4.1</version>
  </dependency>
  
  <dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>javax.mail</artifactId>
      <version>1.4.4</version>
  </dependency>
</dependencies>

如果和本文一样使用常规javaee开发,请下载以下两个jar:

然后将两个jar添加到模块的库(libs)。


接下来,确定发件邮箱的smtp地址(一般为smtp.xxx.com如smtp.163.com,ping一下看能否连上即可。qq邮箱的是smtp.qq.com)。
然后开启IMAP和POP3服务(以下以163邮箱为例):
邮箱主页点击上方设置按钮
设置
选择POP3/SMTP/IMAP,开启服务
在这里插入图片描述
然后你需要获取授权码(注意不是邮箱密码),一般需要你用邮箱绑定手机号发送消息,获取后是一串密码,将它保存下来待会要用。

至此,让我们正式开始写代码罢。


三、代码

(心急的直接往下拖有完整代码)

为了方便写,我把所有代码写到了一个Main类中。
先定义俩常量,是发件邮箱及授权码(再说一遍:不是邮密!)

static final String USER = "mymail@example.com";
static final String PASSWD = "YOURCODE*****";

我们不妨先确定收件邮箱和信件内容,收件人可以和发件人一样,也可以是你的别的邮箱:

static final String toMail = "anothermail@example2.com";
static String TEXT = "hello world";//正文
static String SUBJECT = "test";//标题

首先创建一个Properties对象,里面填写各种信息:

Properties properties = new Properties();
properties.setProperty("mail.host","smtp.163.com");//第二个参数要换成你自己使用的smtp服务器
properties.setProperty("mail.transport.protocol","smtp");
properties.setProperty("mail.smtp.auth","true");
properties.setProperty
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值