1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > JSP: 使用网易邮箱发送带附件的电子邮件

JSP: 使用网易邮箱发送带附件的电子邮件

时间:2022-02-24 23:40:26

相关推荐

JSP: 使用网易邮箱发送带附件的电子邮件

JSP代码:使用javax.mail和activation发送邮件

首先我们需要两个jar包,javax.mail.jar和activation.jar,官方下载地址:

JAF:JavaBeans Activation Framework

JMA:JavaMail API

不管使用什么邮箱发送右键,我们都需要打开SMTP服务,比如网易邮箱:

开启服务之后,你就已经设置成功了一个授权码。请记住:用JSP验证邮箱登录的时候,用户名为邮箱名,密码为授权码,而不是登录邮箱用的密码

完事具备,上代码:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*, java.text.*, java.time.*, java.io.*"%><%@ page import="javax.mail.*, javax.mail.internet.*, javax.activation.*"%><!DOCTYPE html><html><head><meta charset="UTF-8"><meta name="author" content="赵利昂"><title>E-mail something</title></head><body><%-- 从网易邮箱向QQ邮箱发送消息 --%><%String from = "652961752@"; // 发件人String to = "652961752@"; //收件人String host = ""; // 指定发送邮件的主机Properties props = System.getProperties(); // 获取系统属性props.setProperty("mail.smtp.host", host); // 设置邮件服务器props.put("mail.smtp.auth", "true"); // 设置用户认证方式session.invalidate(); // 使默认session暂时失效,否则发送消息系统变为一次性try{// 创建默认的 MimeMessage对象MimeMessage message = new MimeMessage(Session.getDefaultInstance(props, new Authenticator() {@Overridepublic PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication("652961752@", "XXXXXXXX"); //发件人的用户名和授权码}}));message.setFrom(new InternetAddress(from)); // 设置from字段message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 设置to字段message.setSubject("What's for dinner?"); // 设置邮件标题BodyPart messageBodyPart = new MimeBodyPart(); // 创建消息部分messageBodyPart.setText("I'm thinking, two pizzas."); // 设置邮件消息主体Multipart multipart = new MimeMultipart(); // 创建多重消息(总消息)multipart.addBodyPart(messageBodyPart); // 添加消息的文本部分messageBodyPart = new MimeBodyPart(); // 重新新建对象,以便添加附件DataSource source = new FileDataSource(new File("D:\\104.txt")); // 附件messageBodyPart.setDataHandler(new DataHandler(source)); // 附件的处理器messageBodyPart.setFileName("BirthdayCard"); // 附件重命名multipart.addBodyPart(messageBodyPart); // 添加附件至总消息message.setContent(multipart); // 将总消息设置成要发送的消息Transport.send(message); // 发送总消息out.println("<h1>邮件发送成功。</h1><br />");}catch (MessagingException mex){out.println("<h1>邮件发送失败。附加消息:</h1>" + mex.getMessage() + "<br />");mex.printStackTrace();}%></body></html>

消息发送成功之后,页面显示为:

发送者邮箱为:

接收者邮箱为:

在进阶的路上,欢迎各位大神指正。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。