• jsp实现邮件的发送


    摘录自:http://www.cnblogs.com/hujunzheng/p/4792831.html

    如果程序出现 454 Authentication failed, please open smtp flag first! 错误,那么一般是邮箱没有开通POP3/SMTP服务,登录邮箱,在设置中开启该服务即可 !

    另外需要的jar包如下: imap.jar, mail.jar, smtp.jar,  可以自己在网上下载。

    复制代码
    package com.hzml.serve;
    
    import java.io.IOException;
    import java.util.Date;
    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;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    @WebServlet("/MailResponse.servlet")
    public class MailResponse extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        public MailResponse() {
            super();
        }
        
        private void process(HttpServletRequest request, HttpServletResponse response) {
            try{
                String pwd = "hjzgg5211314";//发件人邮箱密码
                 String mailfrom = request.getParameter("emailFrom"); //网易的邮箱
                 String wangyiFrom = mailfrom.substring(0, mailfrom.indexOf('@'));//网易邮箱的用户名
                String tu = "163.com"; //你邮箱的后缀域名
                String tto= request.getParameter("emailTo"); //接收邮件的邮箱
                String ttitle= "在线软件工程管理员回复!";
                String tcontent = request.getParameter("messageTo");
        
                Properties props=new Properties();
        
                props.put("mail.smtp.host","smtp."+tu);//邮箱SMTP服务器地址端口
        
                props.put("mail.smtp.auth","true");//这样才能通过验证
        
                Session s=Session.getInstance(props);
        
                s.setDebug(true);
        
                MimeMessage message=new MimeMessage(s);
        
                //给消息对象设置发件人/收件人/主题/发信时间
        
                InternetAddress from=new InternetAddress(mailfrom); //发件人的qq邮箱
        
                message.setFrom(from);
        
                InternetAddress to=new InternetAddress(tto);//收件人的邮箱
        
                message.setRecipient(Message.RecipientType.TO,to);
        
                message.setSubject(ttitle);
        
                message.setSentDate(new Date());
        
                //给消息对象设置内容
        
                BodyPart mdp=new MimeBodyPart();//新建一个存放信件内容的BodyPart对象
        
                mdp.setContent(tcontent,"text/html;charset=gb2312");//给BodyPart对象设置内容和格式/编码方式
        
                Multipart mm=new MimeMultipart();//新建一个MimeMultipart对象用来存放BodyPart对
        
                //象(事实上可以存放多个)
        
                mm.addBodyPart(mdp);//将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)
        
                message.setContent(mm);//把mm作为消息对象的内容
        
                message.saveChanges();
        
                Transport transport=s.getTransport("smtp");
        
                transport.connect("smtp."+tu, wangyiFrom, pwd); //这里的wangyiFrom为发件人网易账号
        
                transport.sendMessage(message,message.getAllRecipients());
        
                transport.close();
            }catch(Exception e){
                e.printStackTrace();
            }
        }
        
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            process(request, response);
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            process(request, response);
        }
    
    }
    复制代码
  • 相关阅读:
    C语言:SQLITE3的学习
    C语言:json库使用学习
    C语言:XML学习
    glib实践篇:接口定义与实现
    glib实践篇:父类与子类
    python简易爬虫实现
    Esxi开虚拟机测试性能
    Hyper-V虚拟化性能测试
    配置飞儿云平台的PHP系统
    CentOS6.9安装OpenVZ
  • 原文地址:https://www.cnblogs.com/haimishasha/p/6070069.html
Copyright © 2020-2023  润新知