实现在jsp页面中发送邮件,可以结合Servlet来实现,步骤如下:
(1)、先在项目WebRoot--->META-INF文件夹下面建立一个名为:context.xml文件(context文件名是固定的),接下就是在context.xml中进行配置,配置如下:
//配置邮件服务器主机,以及设置与服务器进行会话要进行身份认证
mail.smtp.host="smtp.sina.com" mail.smtp.auth="true"
//设置邮件传输的协议
mail.transport.protocol="smtp"
/>
(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();
希望能够帮助到您,望君采纳哟
给你个公司当前用的发邮件的类
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
}
}
if(cc!="" && cc!=null){
String []ccs=cc.split(",");
for(int i=0;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类