jsp页面加入邮件发送功能.
有这样一个JSP的页面,只是显示查询编号,但是很多记不住这个编号,提交表单的时候有一个Email框...能不能加上一段简单的代码,就是加载这个页面的时候,自动发送邮件到指...
有这样一个JSP的页面,只是显示查询编号,但是很多记不住这个编号,
提交表单的时候有一个Email框...
能不能加上一段简单的代码,就是加载这个页面的时候,自动发送邮件到指定的邮箱..
功能很简单,不需要用户填写,就是简单的发送一串信息到指定的邮件就好,不需要做判断..
网上找到一段代码,
String title = "This is a html mail!";MimeMultipart content = new MimeMultipart("alternative");MimeBodyPart tt = new MimeBodyPart();MimeBodyPart hh = new MimeBodyPart();tt.setText(title);hh.setContent(body,"text/html");//body是邮件正文(里面应该包含要显示的html代码)content.addBodyPart(tt);content.addBodyPart(hh);message.setContent(content);message.saveChanges();Transport transport = session.getTransport("smtp");transport.connect(host,user,password);//写你的邮件服务器的smtp server,用户名,密码transport.sendMessage(message,message.getAllRecipients());transport.close();
加上去不起作用...
原网页JSP源代码只调用了3个包..
----------------------------------------------------------------------------------------------------------
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="com.trs.components.infogate.InfogateConstants" %>
<%@ page import="com.trs.components.infogate.util.StringUtil" %>
<%@ page import="com.trs.components.infogate.domain.InfogateConfigMgr" %>
<%
boolean bJustCached = (request.getAttribute(InfogateConstants.FLAG_JUST_CACHED) != null);
String sOptionDesc = bJustCached ? "暂存" : "提交";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>系统提示::<%= sOptionDesc %>表单数据成功</title>
---------------------------------------------------------------------------------------------------------------
是不是还要涉及调用Java.Mail等扩展包?
望大神指教..最好有相关源代码.. 展开
提交表单的时候有一个Email框...
能不能加上一段简单的代码,就是加载这个页面的时候,自动发送邮件到指定的邮箱..
功能很简单,不需要用户填写,就是简单的发送一串信息到指定的邮件就好,不需要做判断..
网上找到一段代码,
String title = "This is a html mail!";MimeMultipart content = new MimeMultipart("alternative");MimeBodyPart tt = new MimeBodyPart();MimeBodyPart hh = new MimeBodyPart();tt.setText(title);hh.setContent(body,"text/html");//body是邮件正文(里面应该包含要显示的html代码)content.addBodyPart(tt);content.addBodyPart(hh);message.setContent(content);message.saveChanges();Transport transport = session.getTransport("smtp");transport.connect(host,user,password);//写你的邮件服务器的smtp server,用户名,密码transport.sendMessage(message,message.getAllRecipients());transport.close();
加上去不起作用...
原网页JSP源代码只调用了3个包..
----------------------------------------------------------------------------------------------------------
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="com.trs.components.infogate.InfogateConstants" %>
<%@ page import="com.trs.components.infogate.util.StringUtil" %>
<%@ page import="com.trs.components.infogate.domain.InfogateConfigMgr" %>
<%
boolean bJustCached = (request.getAttribute(InfogateConstants.FLAG_JUST_CACHED) != null);
String sOptionDesc = bJustCached ? "暂存" : "提交";
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>系统提示::<%= sOptionDesc %>表单数据成功</title>
---------------------------------------------------------------------------------------------------------------
是不是还要涉及调用Java.Mail等扩展包?
望大神指教..最好有相关源代码.. 展开
3个回答
展开全部
实现在jsp页面中发送邮件,可以结合Servlet来实现,步骤如下:
(1)、先在项目WebRoot--->META-INF文件夹下面建立一个名为:context.xml文件(context文件名是固定的),接下就是在context.xml中进行配置,配置如下:
<Context>//Context头字母需是大写
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
//配置邮件服务器主机,以及设置与服务器进行会话要进行身份认证
mail.smtp.host="smtp.sina.com" mail.smtp.auth="true"
//设置邮件传输的协议
mail.transport.protocol="smtp"
/>
</Context>
(2)、需要把mail.jar放入tomact中lib中去,记住不要把mail.jar放入项目中的lib中去否则会出错
(3)、新建一个Servlet类,使用doPost()方法进行邮件的处理,doPost()方法中的代码如下:
//创建一个InitialContext对象来初始化Context
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:com/env");
//读取服务器的环境信息
Session session=(Session)initCtx.lookup("mail/session");
//创建一个message对象,用来创建一封邮箱
Message message=new MimeMessage(session);
//设置邮件发送者邮箱地址
message.setForm(new InternetAddress("*****@sina.com"));
//设置邮件接收者们的邮箱地址,假设只发送给一个人
InternetAddress[] to=new InternetAddress[1];
to[0]=new InternetAddress("******@qq.com");
//设置邮件发送的类型
message.setRecipients(Message.Recipients.to,to);
//邮件标题
message.setSubject("春节快乐");
//邮件正文
message.setText("祝新的一年里家人和谐快乐");
//创建一个传输对象
Transport transport=session.getTransport();
//建立与服务器的链接
transport.connect("smtp.sina.com",25,"****@sina.com","*******");
//发送邮件
transport.sendMessage(messgae,to);
//关闭网邮件传输
transport.close();
希望能够帮助到您,望君采纳哟
(1)、先在项目WebRoot--->META-INF文件夹下面建立一个名为:context.xml文件(context文件名是固定的),接下就是在context.xml中进行配置,配置如下:
<Context>//Context头字母需是大写
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
//配置邮件服务器主机,以及设置与服务器进行会话要进行身份认证
mail.smtp.host="smtp.sina.com" mail.smtp.auth="true"
//设置邮件传输的协议
mail.transport.protocol="smtp"
/>
</Context>
(2)、需要把mail.jar放入tomact中lib中去,记住不要把mail.jar放入项目中的lib中去否则会出错
(3)、新建一个Servlet类,使用doPost()方法进行邮件的处理,doPost()方法中的代码如下:
//创建一个InitialContext对象来初始化Context
Context initCtx=new InitialContext();
Context envCtx=(Context)initCtx.lookup("java:com/env");
//读取服务器的环境信息
Session session=(Session)initCtx.lookup("mail/session");
//创建一个message对象,用来创建一封邮箱
Message message=new MimeMessage(session);
//设置邮件发送者邮箱地址
message.setForm(new InternetAddress("*****@sina.com"));
//设置邮件接收者们的邮箱地址,假设只发送给一个人
InternetAddress[] to=new InternetAddress[1];
to[0]=new InternetAddress("******@qq.com");
//设置邮件发送的类型
message.setRecipients(Message.Recipients.to,to);
//邮件标题
message.setSubject("春节快乐");
//邮件正文
message.setText("祝新的一年里家人和谐快乐");
//创建一个传输对象
Transport transport=session.getTransport();
//建立与服务器的链接
transport.connect("smtp.sina.com",25,"****@sina.com","*******");
//发送邮件
transport.sendMessage(messgae,to);
//关闭网邮件传输
transport.close();
希望能够帮助到您,望君采纳哟
Zoho Mail
2024-11-18 广告
2024-11-18 广告
作为卓迈(北京)技术有限公司的工作人员,我们推荐使用Gmail、Outlook等国际知名的电子邮箱服务来在国外收发邮件。这些邮箱服务拥有广泛的国际覆盖和稳定的性能,能确保您与全球各地的合作伙伴和客户保持顺畅的沟通。同时,它们也具备强大的垃圾...
点击进入详情页
本回答由Zoho Mail提供
展开全部
给你个公司当前用的发邮件的类
import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;
public class SenderWithSMTPVer
{
String host="";
String user="";
String password="";
public void setHost(String host)
{
this.host=host;
}
public void setAccount(String user,String password)
{
this.user=user;
this.password=password;
}
public int send(String from,String to,String cc,String subject,String content)
{
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
try
{
Session mailSession = Session.getDefaultInstance(props);
mailSession.setDebug(true);
Message message=new MimeMessage(mailSession);
message.setFrom(new InternetAddress(from));
//处理收件人to
if(to!="" && to!=null){
String []tos=to.split(",");
for(int i=0;i<tos.length;i++){
message.addRecipient(Message.RecipientType.TO,new InternetAddress(tos[i]));
}
}
if(cc!="" && cc!=null){
String []ccs=cc.split(",");
for(int i=0;i<ccs.length;i++){
message.addRecipient(Message.RecipientType.CC,new InternetAddress(ccs[i]));
}
}
message.setSubject(subject);
message.setText(content);
message.saveChanges();
Transport transport =null;
transport=mailSession.getTransport("smtp");
if(transport==null)
{
// System.out.println("999999");
}
//Transport transport = mailSession.getTransport("smtp");
// System.out.println(host);
// System.out.println(user);
// System.out.println(password);
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
return 1;
}catch(Exception e)
{
e.printStackTrace();
return 0; //邮件发送失败,地址错误
}
}
public static void main(String args[])
{
SenderWithSMTPVer sm=new SenderWithSMTPVer();
sm.setHost("smtp.163.com");
sm.setAccount(用户名,密码); //发送邮件的用户名、密码
int a=sm.send(要显示的发件人,接收人, 抄送人, "java发送邮件测试", "测试数据");//执行发送
}
}
import javax.mail.*;
import java.util.*;
import javax.mail.internet.*;
public class SenderWithSMTPVer
{
String host="";
String user="";
String password="";
public void setHost(String host)
{
this.host=host;
}
public void setAccount(String user,String password)
{
this.user=user;
this.password=password;
}
public int send(String from,String to,String cc,String subject,String content)
{
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
try
{
Session mailSession = Session.getDefaultInstance(props);
mailSession.setDebug(true);
Message message=new MimeMessage(mailSession);
message.setFrom(new InternetAddress(from));
//处理收件人to
if(to!="" && to!=null){
String []tos=to.split(",");
for(int i=0;i<tos.length;i++){
message.addRecipient(Message.RecipientType.TO,new InternetAddress(tos[i]));
}
}
if(cc!="" && cc!=null){
String []ccs=cc.split(",");
for(int i=0;i<ccs.length;i++){
message.addRecipient(Message.RecipientType.CC,new InternetAddress(ccs[i]));
}
}
message.setSubject(subject);
message.setText(content);
message.saveChanges();
Transport transport =null;
transport=mailSession.getTransport("smtp");
if(transport==null)
{
// System.out.println("999999");
}
//Transport transport = mailSession.getTransport("smtp");
// System.out.println(host);
// System.out.println(user);
// System.out.println(password);
transport.connect(host, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
return 1;
}catch(Exception e)
{
e.printStackTrace();
return 0; //邮件发送失败,地址错误
}
}
public static void main(String args[])
{
SenderWithSMTPVer sm=new SenderWithSMTPVer();
sm.setHost("smtp.163.com");
sm.setAccount(用户名,密码); //发送邮件的用户名、密码
int a=sm.send(要显示的发件人,接收人, 抄送人, "java发送邮件测试", "测试数据");//执行发送
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
项目用到spring了没有,spring有自己的mail类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询