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

来源:互联网 发布:java.util详解 编辑:程序博客网 时间:2024/06/06 05:48

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);      %>

原创粉丝点击