JAVA代码实现发送邮件(使用mail.jar) 您所在的位置:网站首页 e—mail下载 JAVA代码实现发送邮件(使用mail.jar)

JAVA代码实现发送邮件(使用mail.jar)

2023-09-29 16:06| 来源: 网络整理| 查看: 265

JAVA代码实现发送邮件 前言J2EE前台发送邮件代码实现 下载并加载JavaMail API

前言

今天跟大家分享一篇,发送电子邮件的博文 使用了java+jsp+servlet 源码可在下方链接下载 链接:https://pan.baidu.com/s/1YF2mvR0fhy95kcv83ER_hw?pwd=z5b1. 提取码:z5b1

实现功能以下!! 1、 J2EE前台发送邮件 2、Java代码后台实现发送邮件

J2EE前台发送邮件

我们以结果为导向 运行截图 请添加图片描述

在这里插入图片描述 手机接收到的邮件

在这里插入图片描述

在这里插入图片描述

代码实现

1.新建Dynamic Web Project工程

2.引入mail.jar和activation.jar

3.项目目录结构如图

在这里插入图片描述 4.配置发件人163邮箱的SMTP服务器、账户以及密码等参数 在这里插入图片描述 mail.properties配置文件 在这里插入图片描述 编写身份身份验证类 用来验证SMTP服务器身份。程序继承了Authenticator类,它主要用来实现登录邮件服务器时的认证。它包含两个属性:username和password,分别用来存储认证时所需的用户名和密码信息。

package com.liuchunming.mail; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class Auth extends Authenticator { private String username = ""; private String password = ""; public Auth(String username, String password) { this.username = username; this.password = password; } public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }

发送邮件类 SendMail实现对发送邮件身份的认证,获得Session对象。该方法中SMTPHost、Port、MailUsername、MailPassword分别表示所使用的SMTP服务器、服务器的smtp端口、用户名和密码。sendingMimeMail()方法为发送邮件的方法,在该方法需要传入的参数中,MailFrom为发件人电子信箱,MailTo为收件人电子信箱,MailCopyTo为抄送人电子信箱,MailBCopyTo为暗送人电子信箱,MailSubject为发送邮件主题,MailBody为发送邮件正文。sendingMimeMail()返回boolean类型,表示是否发送成功。发送邮件时先调用构造方法SendMail()创建邮件发送对象,然后调用sendingMimeMail()方法发送。

package com.liuchunming.mail; import java.util.Properties; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class SendMail { private Properties props; //系统属性 private Session mailSession; //邮件会话对象 private MimeMessage mimeMsg; //MIME邮件对象 public SendMail(String SMTPHost, String Port, String MailUsername, String MailPassword) { Auth au = new Auth(MailUsername, MailPassword); //设置系统属性 props=java.lang.System.getProperties(); //获得系统属性对象 props.put("mail.smtp.host", SMTPHost); //设置SMTP主机 props.put("mail.smtp.port", Port); //设置服务端口号 props.put("mail.smtp.auth", "true"); //同时通过验证 //获得邮件会话对象 mailSession = Session.getInstance(props, au); } public boolean sendingMimeMail(String MailFrom, String MailTo, String MailCopyTo, String MailBCopyTo, String MailSubject, String MailBody) { try { //创建MIME邮件对象 mimeMsg=new MimeMessage(mailSession); //设置发信人 mimeMsg.setFrom(new InternetAddress(MailFrom)); //设置收信人 if(MailTo!=null){ mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(MailTo)); } //设置抄送人 if(MailCopyTo!=null){ mimeMsg.setRecipients(javax.mail.Message.RecipientType.CC,InternetAddress.parse(MailCopyTo)); } //设置暗送人 if(MailBCopyTo!=null){ mimeMsg.setRecipients(javax.mail.Message.RecipientType.BCC,InternetAddress.parse(MailBCopyTo)); } //设置邮件主题 mimeMsg.setSubject(MailSubject,"gb2312"); //设置邮件内容,将邮件body部分转化为HTML格式 mimeMsg.setContent(MailBody,"text/html;charset=gb2312"); //发送邮件 Transport.send(mimeMsg); return true; } catch (Exception e) { e.printStackTrace(); return false; } } }

写SendDemo类进行测试

package com.liuchunming.demo; import com.zhi.mail.SendMail; public class SendDemo { /** * 可直接运行主方法 * @param args */ public static void main(String[] args) { String SMTPHost="smtp.163.com"; String Port="25"; String MailUsername=""; //发送邮件账号 String MailPassword=""; //密码 SendMail sendMail=new SendMail(SMTPHost,Port,MailUsername,MailPassword); String MailFrom=""; //发件人 String MailTo=""; //收件人 String MailCopyTo=null; //抄送人 String MailBCopyTo=null; //暗送人 String MailSubject="JavaSE发送邮件测试"; //邮件主题 String MailBody="引用mail.jar和activation.jar实现邮件发送!"; //邮件内容 //发送邮件 boolean isSend=sendMail.sendingMimeMail(MailFrom, MailTo, MailCopyTo, MailBCopyTo, MailSubject, MailBody); if(isSend){ System.out.println("邮件发送成功"); }else{ System.out.println("邮件发送失败"); } } }

运行main主方法发送邮件 在这里插入图片描述 在这里插入图片描述

下载并加载JavaMail API

JavaMail API目前的版本为JavaMail API 1.4.3。可以从如下地址下载: http://java.sun.com/products/javamail/downloads/index.html 下载后,建立jarFile文件夹,贴入mail.jar和activation.jar文件并且Add to Build Path 在这里插入图片描述 在这里插入图片描述 end…



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有