实现在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();