QQ邮箱发邮件
自己qq邮箱 设置—>账户 往下拉 POP3/IMAP/SMTP/Exchange服务 前两个打钩
这是使用自己的邮箱给别人发邮件 包 mail.jar smtp.jar mailapi.jar dsn.jar pop3.jar
jsp d代码
try{
request.setCharacterEncoding("GBK");
String from=request.getParameter("from"); //我的QQ邮箱账号
String to=request.getParameter("to"); //对方的邮箱账号
String subject=request.getParameter("subject"); //邮箱标题
String messageText=request.getParameter("content");//邮箱内容
String password=request.getParameter("password");//我的邮箱密码
//生成SMTP的主机名称
//int n =from.indexOf('@');
//int m=from.length() ;
//String mailserver ="smtp."+from.substring(n+1,m);
String mailserver="smtp.qq.com"; //局域网发送邮件时的SMTP服务器
//建立邮件会话
Properties pro=new Properties();
//设置主机
pro.put("mail.smtp.host",mailserver);
//设置smtp验证属性
pro.put("mail.smtp.auth","true");
//创建一个session
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(mailserver,from,password);
transport.sendMessage(message,message.getAllRecipients());
transport.close();
out.println("<script language='javascript'>alert('邮件已发送!');window.location.href='index.jsp';</script>");
}catch(Exception e){
System.out.println("发送邮件产生的错误:"+e.getMessage());
out.println("<script language='javascript'>alert('邮件发送失败!');window.location.href='index.jsp';</script>");
}
....................................................
如果使用别的smtp 要改mailserver 比如smtp.139.com
..............................................................
发送html格式的邮件
<%
try{
request.setCharacterEncoding("GBK");
String from=request.getParameter("from");
String to=request.getParameter("to");
String subject=request.getParameter("subject");
String messageText=request.getParameter("content");
String password=request.getParameter("password");
//****如果是在Internet上发送电子邮件,使用这段代码自动生成SMTP的主机名称********/
//int n =from.indexOf('@');
//int m=from.length() ;
//String mailserver ="smtp."+from.substring(n+1,m);
/******************************************************************************/
String mailserver="smtp.139.com"; //在局域网上发送电子邮件使用这句代码指定SMTP服务器
Properties prop =new Properties();
prop.put("mail.smtp.host",mailserver); //设计服务器
prop.put("mail.smtp.auth","true"); ////设置smtp验证属性
Session sess =Session.getInstance(prop);
sess.setDebug(true);
MimeMessage message=new MimeMessage(sess);
//给消息对象设置收件人、发件人、主题、发信时间
InternetAddress mail_from =new InternetAddress(from);
message.setFrom(mail_from);
InternetAddress mail_to =new InternetAddress(to);
message.setRecipient(Message.RecipientType.TO,mail_to);
message.setSubject(subject);
Multipart mul=new MimeMultipart(); //新建一个MimeMultipart对象来存放多个BodyPart对象
BodyPart mdp=new MimeBodyPart(); //新建一个存放信件内容的BodyPart对象
mdp.setContent(messageText,"text/html;charset=GBK");
mul.addBodyPart(mdp); //将含有信件内容的BodyPart加入到MimeMulitipart对象中
message.setContent(mul); //把mul作为消息对象的内容
message.saveChanges();
Transport transport = sess.getTransport("smtp");
//以smtp方式登陆邮箱,第1个参数是发送邮件用的邮件服务器SMTP地址,第2个参数为用户名,第3个参数为密码
transport.connect(mailserver,from,password);
transport.sendMessage(message,message.getAllRecipients());
transport.close();
out.println("<script language='javascript'>alert('邮件已发送!');window.location.href='index.jsp';</script>");
}catch(Exception e){
System.out.println("发送邮件产生的错误:"+e.getMessage());
out.println("<script language='javascript'>alert('邮件发送失败!');window.location.href='index.jsp';</script>");
}
%>