Jsp 实现Email发送,QQ邮箱发送时530错误的解决

1.163邮箱与QQ邮箱进行测试

        * 163邮箱的安全验证没有那么严格 ,所以可以忽略一下操作.直接看代码


   1.1.首先确定你需要用来发送的qq,进入QQ邮箱开启ssl.

              * qq邮箱 > 账户  >图中箭头位置 

            


1.2.需要复制其中的一个授权码.在代码中代替密码使用.



代码:


     <%  
      //解决中文乱码  
      request.setCharacterEncoding("utf-8");  
      response.setCharacterEncoding("utf-8");  
        
        
       
        
        
            // 以下变量为用户根据自己的情况设置  
            String smtphost = "smtp.qq.com"; // 发送邮件服务器  
            String user = "911111111@qq.com"; // 邮件服务器登录用户名  
            String password = "jsdflkjflkjalfk"; // 邮件服务器登录密码    qq邮箱生成的授权码   在开启那可生成  
            String from ="212132131@qq.com"; // 发送人邮件地址  
  
              
            String to = "3121321@qq.com"; // 接受人邮件地址  
              
              
            String subject = "我是标题"; // 邮件标题     
            //String body = "JavaMail 电子邮件发送系统,JavaMail 电子邮件发送系统,JavaMail 电子邮件发送系统"; // 邮件内容是文本  
              
            String body1="我是内容!";   //邮件内容       
              
            // 以下为发送程序,用户无需改动  
            try {  
            Properties props = new Properties(); // 配置文件对象   
            props.put("mail.smtp.host", smtphost);  // 设置邮件服务器  
            props.put("mail.smtp.auth","true"); // 是否进行验证   
              
            //下面四句是使用QQ邮箱   需要的配置    163邮箱可以不需要  
            MailSSLSocketFactory sf=new  MailSSLSocketFactory();  //配置ssl  
            sf.setTrustAllHosts(true);  
            props.put("mail.smtp.ssl.enable", "true");  
            props.put("mail.smtp.ssl.socketFactory", sf);  
              
            Session ssn = Session.getInstance(props, null);// 创建一个会话  
              
            MimeMessage message = new MimeMessage(ssn);// 创建一个MimeMessage对象。  
              
            InternetAddress fromAddress = new InternetAddress(from);// 设置 From: 头部的header字段  
            message.setFrom(fromAddress);  
              
            InternetAddress toAddress = new InternetAddress(to);// 设置 To: 头部的header字段  
            message.addRecipient(Message.RecipientType.TO, toAddress);  
            /*  
            如果想要把邮件发送给多人,下面列出的方法可以用来指明多个邮箱地址:   
            addRecipients(Message.RecipientType type,   
                               Address[] addresses)  
                               */  
              
            message.setSubject(subject);// 设置 Subject: header字段,邮件标题  
            //message.setText(body); // 设置的文本消息  
              
            message.setContent(body1,"text/html;charset=gbk" );// 设置 HTML消息  
              
            Transport transport = ssn.getTransport("smtp"); // 获取邮件服务器  
            transport.connect(smtphost, user, password); // 连接邮件服务器  
            transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));// 发送邮件    
              
            transport.close();  // 关闭连接  
            %>  
            <p>你的邮件已发送,请返回。</p>  
            <%  
            }   
            catch(Exception e)   
            {  
            out.println(e.toString());  
            e.printStackTrace();  
            }  
              
              
        MyEmailDao  myEmailDao=new MyEmailDaoImpl();  
        MyEmail  myEmail=new  MyEmail(title,myself, recipients);  
          
        myEmailDao.addEmail(myEmail);  
    %>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值