最近因为JavaWeb的注册的作业,手机号比较麻烦,所以想着用邮箱来验证。但我去网上搜的一些教程很多都是有一些jar包不完整,导致出现各种问题。
开头先给出发邮件需要用到的jar包 activation.jar 、commons-email-1.5.jar 、mail.jar 可自行下载。
在project下创建一个lib文件夹(如果是JavaWeb的话则需要在WEB-INF文件夹下创建lib文件夹),然后将这三个文件放入lib文件夹下,并将其
- 在项目下创建一个lib文件夹(如果是JavaWeb的话则需要在WEB-INF文件夹下创建lib文件夹)
JavaWeb下:
- 将这三个jar包复制粘贴到lib文件夹中
- 将这三个jar包 Add as Library (添加为依赖)
-
输入代码
- 发送最基本的纯文字邮件
import org.apache.commons.mail.EmailException; import org.apache.commons.mail.SimpleEmail; public class SendEmail { public static void send(String receiver, String content) throws EmailException { SimpleEmail email = new SimpleEmail(); email.setHostName("smtp.exmail.qq.com"); // 设置邮件发送服务器 email.setAuthentication("example@gamil", "password"); //设置邮箱账号密码 email.addTo(receiver); //设置收件人邮箱 email.setFrom("example@gmail.com"); //设置发件人 email.setSubject("Hello"); //邮件主题 email.setMsg(content); email.send(); } public static void main(String[] args) throws EmailException { String receiver = "example@qq.com"; String content = "你好"; send(receiver, content); } }
- 注意:
email.setAuthentication("example@gamil", "password"); //设置邮箱账号密码
这里面的密码通常为授权码,比如QQ邮箱就需要扫码获得授权码,而不是QQ密码。- 这个邮件功能需要将邮箱的smtp开启,并将发送服务器更改为对应邮箱服务商提供的地址。
email.setHostName("smtp.exmail.qq.com"); // 设置邮件发送服务器