javamail 发邮件所需jar 包两个 activation.jar,mail.jar

本文介绍使用 JavaMail API 发送邮件的方法,包括配置 SMTP 服务器、设置邮件内容及附件等步骤。通过示例代码展示了如何从 Web 应用程序中发送 HTML 格式的邮件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

javamail
所需jar 包两个 activation.jar,mail.jar(放在邮箱里了)

index.jsp 填写相关信息。用来发邮件的邮箱和密码一定要写对
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="../error/error.jsp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>发送电子邮件</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" type="text/css" href="../image/com.css"/></head>
<body>
<form method="post" name="form1" action="sendEmail.jsp" onSubmit="return email()">
  <table width="480" height="393" border="1" align="center" cellpadding="0" cellspacing="0">
    <tr bordercolor="#D4D0C8" bgcolor="#FEFFC9">
      <td height="27" colspan="2" align="left"><div align="center"><strong>发送电子邮件</strong></div></td>
    </tr>
    <tr bgcolor="#FEFFC9">
      <td width="68" height="27" align="left"><div align="right">收件人:</div></td>
      <td width="406" height="27"><div align="center">
          <input type="text" name="sname" size="51">
        </div></td>
    </tr>
    <tr bgcolor="#FEFFC9">
      <td height="27" align="left"><div align="right">发件人:</div></td>
      <td height="27"> <div align="center">
          <input type="text" name="jname" size="51">
        </div></td>
    </tr>
    <tr bgcolor="#FEFFC9">
      <td height="27" align="left"><div align="right">密&nbsp; 码:</div></td>
      <td height="27"><div align="center"><input type="password" name="password" size="57"></div></td>
    </tr>
    <tr bgcolor="#FEFFC9">
      <td height="27" align="left"><div align="right">主&nbsp; 题:</div></td>
      <td height="27"><div align="center">
          <input name="title" type="text" size="51">
        </div></td>
    </tr>
    <tr align="left" bgcolor="#FEFFC9">
      <td height="227" valign="top"><div align="right">内 &nbsp;容:</div></td>
      <td height="227"><div align="center">
          <textarea name="message" cols="50" rows="15"></textarea>
        </div></td>
    </tr>
    <tr align="center" valign="middle" bordercolor="#D4D0C8" bgcolor="#FEFFC9">
      <td height="29" colspan="2"><input type="submit" name="Submit" value="发送">
        &nbsp;&nbsp; <input type="reset" name="Submit2" value="清除"></td>
    </tr>
  </table>
</form>
</body>
</html>

sendmail.jsp
<%@ page contentType="text/html; charset=gb2312" language="java"  errorPage="" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import ="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>发送邮件</title>
</head>
<link rel="stylesheet" type="text/css" href="../image/com.css"/>
<%
try{
 request.setCharacterEncoding("gb2312");
 String from=request.getParameter("jname");
 String to=request.getParameter("sname");
 String subject=request.getParameter("title");
 String messageText=request.getParameter("message");
        String password=request.getParameter("password");

        String S =request.getParameter("jname");
        int n =S.indexOf('@');
        int m=S.length() ;
        String server =S.substring(n+1,m);

        //建立邮件会话
 Properties pro=new Properties();
        pro.put("mail.smtp.host","smtp."+server);
        pro.put("mail.smtp.auth","true");
        Session sess=Session.getInstance(pro);
        sess.setDebug(true);

        //新建一个消息对象
        MimeMessage message=new MimeMessage(sess);
        //设置发件人
        InternetAddress from_mail=new InternetAddress(from);
        message.setFrom(from_mail);
        //设置收件人
       InternetAddress to_mail=new InternetAddress(to);
       message.setRecipient(Message.RecipientType.TO ,to_mail);
        //设置主题
        message.setSubject(subject);
        //设置内容
        message.setText(messageText);
        //设置发送时间
        message.setSentDate(new Date());
        //发送邮件
        message.saveChanges();  //保存邮件信息
        Transport transport =sess.getTransport("smtp");
        transport.connect("smtp."+server,from,password);        //这一句很关键,相当于登陆管理员邮箱来发邮件
//  transport.connect("smtp.163.com",wode@163.com,"123456");
        transport.sendMessage(message,message.getAllRecipients());

        transport.close();
 out.print("发送邮件成功");

 }catch(Exception e){
  out.print("发送邮件失败,原因可能是<ul>");
  out.println(e.getMessage());
 }
%>
</html>

另附
教育网发邮件的方法(2个jar包)

sendmail.jsp
  String seting_stmp="smtp.163.com";
  String user="flypan_1";
  String password="3118848";
        String mail_from="flypan_1@163.com";
  String mail_to=email;  //email是取数据库中的来发的
  String title="您已成功找回您的密码!";
        String content="无忧学习网恭喜您,您已找回您的密码:"+passwords+"。";
  int a=Mailsend.send(seting_stmp,user,password,mail_from,mail_to,title,content);
  if (a == 0)
  {
      out.println("<script>");
            out.println("alert('恭喜您,您已找回您的密码,请稍后在您的邮箱里查收!')");
            out.println("document.location='/index.jsp';");
            out.println("</script>");
     }
Mailsend.java

package com.jetsum.util;

import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class Mailsend {

  public Mailsend() {
  }

  public static int send(String seting_stmp, String user, String password,
                         String mail_from, String mail_to, String title,
                         String content) {
    int i = 0;
    try {

      Properties props = new Properties();
      Session sendsession;
      Transport transport;

      // 向属性中写入SMTP服务器的地址
      props.put("mail.smtp.host", seting_stmp);

      // 设置SMTP服务器需要权限认证
      props.put("mail.smtp.auth", "true");

      // 设置输出调试信息
      // PopupAuthenticator auth = new PopupAuthenticator();

      sendsession = Session.getInstance(props, null);
      sendsession.setDebug(true);

      // 根据Session生成Message对象
      Message message = new MimeMessage(sendsession);
      // 设置发信人地址

      message.setFrom(new InternetAddress(mail_from));
      // 设置收信人地址

      message.setRecipient(Message.RecipientType.TO, new InternetAddress(mail_to));

      // 设置E-mail标题
      message.setSubject(title);

      // 设置E-mail发送时间
      //message.setSentDate(new Date());

 

      // 发送html格式的邮件
      // 新建一个存放信件内容的BodyPart对象
      BodyPart mdp = new MimeBodyPart();

      // 给BodyPart对象设置内容和格式/编码方式
      mdp.setContent(content, "text/html;charset=gb2312");

      Multipart mm = new MimeMultipart();
      // 新建一个MimeMultipart对象用来存放BodyPart对
      // (事实上可以存放多个)
      mm.addBodyPart(mdp);
      // 将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)

      message.setContent(mm);

      // 保存对于E-mail的修改
      message.saveChanges();
      // 根据Session生成Transport对象
      transport = sendsession.getTransport("smtp");
      // 连接到SMTP服务器
      transport.connect(seting_stmp, mail_from, password);
      // 发送E-mail
      transport.sendMessage(message, message.getAllRecipients());
      // 关闭Transport连接
      transport.close();
    }
    catch (Exception e) {
      i = 1;
      // TODO 自动生成 catch 块
      e.printStackTrace();
    }
    return i;
  }

}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值